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.
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
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
MusicPlayer releases now include
MusicPlayer_<version>_linux.tar.gz, with the app icon, a menu entry andinstall.sh, next to the bare.x86_64binary. Linux users should get the package from the download route.Plan
internal/server/misc_handler.go: adddownload("download-client-linux-package", "/download/linux-package", "Linux (package)", "_linux.tar.gz"). Or change/download/linuxto the package, falling back to.x86_64when a release has no package (releases before 1.9.x).ReleaseService.AssetURLmatches by suffix..x86_64and_linux.tar.gzdon't clash, so no change is needed there.releases_test.gofor a release with both files./download/linux, decide which file it should give.Used by
Question
/download/linuxto the package, or add a new route and keep the old one?Done in
c70eb4d: new routeGET /api/v1/download/linux-packageredirects to the newest release's_linux.tar.gz./download/linuxstays 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.gzyet, so the route answers 404 until a release includes it.