Spotify: build secret, CI, Android, registry release, README risks #90

Closed
opened 2026-10-16 17:04:02 +02:00 by SBDeveloper · 3 comments
Owner

Part of #85

  • inject the Web API client ID at build time (ADR 0008 style), no release without it, build without it still runs
  • add the plugin to scripts/build-plugins.py and the release workflow; register in the plugin index
  • official releases build without the librespot feature; add a separate, clearly named unofficial build/channel with it on, for Windows, macOS, Android and Linux
  • README: unofficial, Premium only, likely breaks Spotify's terms, account risk, Offline caching risk; no Spotify logo or colours
  • follow-up: Radio (Spotify's recommendations endpoint is closed to newer apps)
  • have a lawyer review the plan before publishing
Part of #85 - inject the Web API client ID at build time (ADR 0008 style), no release without it, build without it still runs - add the plugin to `scripts/build-plugins.py` and the release workflow; register in the plugin index - official releases build **without** the librespot feature; add a separate, clearly named unofficial build/channel with it on, for Windows, macOS, Android and Linux - README: unofficial, Premium only, likely breaks Spotify's terms, account risk, Offline caching risk; no Spotify logo or colours - follow-up: Radio (Spotify's recommendations endpoint is closed to newer apps) - have a lawyer review the plan before publishing
Author
Owner

Implemented on branch ticket/90-spotify-release.

  • Optional build-time default client ID (MEDLEY_SPOTIFY_CLIENT_ID / CI secret SPOTIFY_CLIENT_ID), passed to the plugin as config key client_id. Bring-your-own is the default, since a shared ID is not viable (5 users per client ID, #88). #89 reads config::get("client_id") and lets the user's own ID win.
  • Official release workflows build without librespot. New unofficial-v* tags build a separately named pre-release (medley-librespot_*) with the librespot feature for Linux, Android, Windows and macOS; that build does not self-update.
  • Plugin registration needs nothing extra (auto-published by the plugins workflow).
  • README Spotify section and legal notes added.

Still open, needs the owner: the lawyer review of the plan. Do not push an unofficial-v* tag before it. Noted in docs/development.md. Workflows were not run.

Implemented on branch ticket/90-spotify-release. - Optional build-time default client ID (MEDLEY_SPOTIFY_CLIENT_ID / CI secret SPOTIFY_CLIENT_ID), passed to the plugin as config key client_id. Bring-your-own is the default, since a shared ID is not viable (5 users per client ID, #88). #89 reads config::get("client_id") and lets the user's own ID win. - Official release workflows build without librespot. New unofficial-v* tags build a separately named pre-release (medley-librespot_*) with the librespot feature for Linux, Android, Windows and macOS; that build does not self-update. - Plugin registration needs nothing extra (auto-published by the plugins workflow). - README Spotify section and legal notes added. **Still open, needs the owner:** the lawyer review of the plan. Do not push an unofficial-v* tag before it. Noted in docs/development.md. Workflows were not run.
Author
Owner

Implemented and merged on spec/85-spotify-source. Left open: the lawyer review of the plan is still pending (owner), and no unofficial-v* tag should be pushed before it. Unverified in CI: Android/Windows/macOS librespot builds.

Implemented and merged on `spec/85-spotify-source`. Left open: the lawyer review of the plan is still pending (owner), and no unofficial-v* tag should be pushed before it. Unverified in CI: Android/Windows/macOS librespot builds.
Author
Owner

Merged to main by owner.

Merged to main by owner.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
SBDeveloper/medley#90
No description provided.