Download route for the Linux package #34

Closed
opened 2026-10-09 16:36:41 +02:00 by Sansan · 1 comment
Owner

MusicPlayer releases now include MusicPlayer_<version>_linux.tar.gz, with the app icon, a menu entry and install.sh, next to the bare .x86_64 binary. Linux users should get the package from the download route.

Plan

  • internal/server/misc_handler.go: add download("download-client-linux-package", "/download/linux-package", "Linux (package)", "_linux.tar.gz"). Or change /download/linux to the package, falling back to .x86_64 when a release has no package (releases before 1.9.x).
  • ReleaseService.AssetURL matches by suffix. .x86_64 and _linux.tar.gz don't clash, so no change is needed there.
  • Add a test in releases_test.go for a release with both files.
  • Update the OpenAPI spec.
  • MusicFrontend: if it links to /download/linux, decide which file it should give.

Used by

Question

  • Change /download/linux to the package, or add a new route and keep the old one?
MusicPlayer releases now include `MusicPlayer_<version>_linux.tar.gz`, with the app icon, a menu entry and `install.sh`, next to the bare `.x86_64` binary. Linux users should get the package from the download route. ## Plan - `internal/server/misc_handler.go`: add `download("download-client-linux-package", "/download/linux-package", "Linux (package)", "_linux.tar.gz")`. Or change `/download/linux` to the package, falling back to `.x86_64` when a release has no package (releases before 1.9.x). - `ReleaseService.AssetURL` matches by suffix. `.x86_64` and `_linux.tar.gz` don't clash, so no change is needed there. - Add a test in `releases_test.go` for a release with both files. - Update the OpenAPI spec. - MusicFrontend: if it links to `/download/linux`, decide which file it should give. ## Used by - Sansan/MusicPlayer#13: the download button in the game. ## Question - Change `/download/linux` to the package, or add a new route and keep the old one?
Sansan added the feature label 2026-10-09 16:36:41 +02:00
Author
Owner

Done in c70eb4d: new route GET /api/v1/download/linux-package redirects to the newest release's _linux.tar.gz. /download/linux stays the bare .x86_64, since updating in place (MusicPlayer#13 step 2) needs the binary.

Note: the newest release, 1.9.0, has no _linux.tar.gz yet, so the route answers 404 until a release includes it.

Done in c70eb4d: new route `GET /api/v1/download/linux-package` redirects to the newest release's `_linux.tar.gz`. `/download/linux` stays the bare `.x86_64`, since updating in place (MusicPlayer#13 step 2) needs the binary. Note: the newest release, 1.9.0, has no `_linux.tar.gz` yet, so the route answers 404 until a release includes it.
Sign in to join this conversation.