Skip to content

Add Trackhop to the app catalog - #531

Open
xlollx wants to merge 1 commit into
navidrome:masterfrom
xlollx:add-trackhop
Open

xlollx wants to merge 1 commit into
navidrome:masterfrom
xlollx:add-trackhop

Conversation

@xlollx

@xlollx xlollx commented Nov 1, 2026 •

Copy link
Copy Markdown

Description

Adds Trackhop (https://github.com/xlollx/Trackhop), an open-source (GPL-3.0) playlist sync app. It keeps playlists in sync between Navidrome and streaming services (Spotify, TIDAL, Deezer, Apple Music, YouTube Music), in either direction and on a schedule, matching tracks by ISRC first, then by title, artist and duration. It talks to Navidrome through the Subsonic API, using the OpenSubsonic extensions where the server offers them (ISRCs, server identification).

It runs as an Android app (on F-Droid), a desktop app for Windows (also on the Microsoft Store), macOS and Linux, and a Docker server with a web UI. The screenshots are from the Docker web UI (a Spotify → Navidrome sync and the services page) and the Android app.

Type of change

  • App catalog entry (new app or update)
  • Documentation
  • Bug fix
  • Styling / layout
  • Other

Checklist

  • The build passes (npm run build)
  • I previewed my changes locally (npm start) when relevant
📱 Adding or updating an app in the catalog?
  • App supports the OpenSubsonic, Subsonic, or Navidrome API
  • Folder under assets/apps/ uses kebab-case
  • index.yaml has all required fields: name, url, platforms, api, description, screenshots.thumbnail
  • Thumbnail is a real screenshot of the app (not a logo or icon)
  • Images are WebP, max 1200px, under 500KB each
  • npm run validate:app trackhop passes
  • I'm the app's author/maintainer, or have permission to submit it

Summary by CodeRabbit

  • New Features
    • Added Trackhop to the app directory, with links to its website, repository, platform downloads, and Docker image.
    • Added an overview of its playlist synchronization features and supported services, along with screenshots, pricing, and search keywords.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G4RU1oDBCGpxvAW3czjCuS
@strix-security

strix-security Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Strix Security Review

✅ No open security findings.

PR summary: Adds Trackhop, a playlist sync app, to the Navidrome app catalog as a new entry under assets/apps/trackhop with its metadata file and five screenshots.

Review summary

This PR adds a single app catalog entry, Trackhop, consisting of one index.yaml metadata file and five WebP screenshots, with no code, template, or build-script changes. I reviewed the YAML field by field and traced how each field is rendered: app-card.html outputs the name, description, homepage, repository, and store links through standard auto-escaping Hugo actions with rel="noopener", and no field is passed to a raw-HTML sink, so the new metadata introduces no injection surface, and the values are plain https URLs subject to the schema's uri format. The five images are genuine WebP files within the catalog's size and dimension limits, and I inspected all of them; they contain no credentials, tokens, email addresses, or personal data, only playlist names and the app's own services page. No security issues found.

Review 1 on this PR · 4d95a2d · requested Nov 1 17:38 UTC when the PR was opened


Reviewed by Strix
Re-run review · Configure security review settings

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T17:41:29.221608Z 4d95a2d PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8f9c456a-5b5f-46a5-9bec-20449adecf3c
Commits

Reviewing files that changed from the base of the PR and between eee9266 and 4d95a2d.

Files selected for processing: 6
  • assets/apps/trackhop/index.yaml
  • assets/apps/trackhop/screen1.webp
  • assets/apps/trackhop/screen2.webp
  • assets/apps/trackhop/screen3.webp
  • assets/apps/trackhop/screen4.webp
  • assets/apps/trackhop/thumbnail.webp

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Walkthrough

The app catalog adds a Trackhop listing with platform links, feature information, screenshots, free pricing, and keywords.

Changes: Trackhop app listing

Layer / File(s) Summary
Add Trackhop catalog entry
assets/apps/trackhop/index.yaml
Adds Trackhop’s website and repository, platform and store links, OpenSubsonic API details, feature description, screenshots, free pricing, and playlist-related keywords.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Feature

Merge Risk: Minimal · up to 4d95a

The catalog entry is ready to merge with no identified actionable risk.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: adding Trackhop to the app catalog.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Finishing Touches
Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants