fix(web): download button + server version display #37

Merged
bvandeusen merged 262 commits from dev into main 2026-05-10 23:20:43 -04:00
bvandeusen commented 2026-05-10 23:18:10 -04:00 (Migrated from git.fabledsword.com)

Two small follow-ups to v2026.05.10.1 surfaced while debugging "the download button doesn't appear":

What's in here

  • e16bdd9 — snake_case fix in MobileAppDownload.svelte
    Server returns apk_url / size_bytes; component was reading apkUrl / sizeBytes. Guard always evaluated true → component bailed out → no button. Same flavor as the earlier sync wire-format bug. Fixed by mapping wire (snake_case) → component (camelCase) explicitly.

  • 4c4399c — server version exposed via /healthz + displayed in Settings

    • internal/server/version.go: new var ServerVersion = "dev", overridden via ldflag.
    • /healthz response gains a version key. Backward-compat: existing clients ignore unknown fields.
    • Dockerfile: ARG MINSTREL_VERSION=dev threaded into go build -ldflags.
    • release.yml: passes the git tag as --build-arg MINSTREL_VERSION=....
    • web/src/lib/components/ServerVersion.svelte: small understated text mounted at the bottom of Settings, fetches /healthz on load. Came up because there was no UI way to verify which image a container was running.
  • c3ecd1b — gofmt cleanup on the doc-comment code block.

Operator action after merge

  1. Cut release v2026.05.10.2
  2. After CI + redeploy: refresh Settings → confirm download button + "Server v2026.05.10.2" footer both appear

🤖 Generated with Claude Code

Two small follow-ups to v2026.05.10.1 surfaced while debugging "the download button doesn't appear": ## What's in here - **`e16bdd9` — snake_case fix in `MobileAppDownload.svelte`** Server returns `apk_url` / `size_bytes`; component was reading `apkUrl` / `sizeBytes`. Guard always evaluated true → component bailed out → no button. Same flavor as the earlier sync wire-format bug. Fixed by mapping wire (snake_case) → component (camelCase) explicitly. - **`4c4399c` — server version exposed via `/healthz` + displayed in Settings** - `internal/server/version.go`: new `var ServerVersion = "dev"`, overridden via ldflag. - `/healthz` response gains a `version` key. Backward-compat: existing clients ignore unknown fields. - `Dockerfile`: `ARG MINSTREL_VERSION=dev` threaded into `go build -ldflags`. - `release.yml`: passes the git tag as `--build-arg MINSTREL_VERSION=...`. - `web/src/lib/components/ServerVersion.svelte`: small understated text mounted at the bottom of Settings, fetches `/healthz` on load. Came up because there was no UI way to verify which image a container was running. - **`c3ecd1b`** — gofmt cleanup on the doc-comment code block. ## Operator action after merge 1. Cut release `v2026.05.10.2` 2. After CI + redeploy: refresh Settings → confirm download button + "Server v2026.05.10.2" footer both appear 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/minstrel#37