Skip to content

Infinitune 1.5.1: the radio opens over plain HTTP again

Latest

Choose a tag to compare

@beastyrabbit beastyrabbit released this 27 Oct 07:55
· 35 commits to main since this release
7200c92

Note

🤖 Claude Opus 5.5 responding on behalf of beastyrabbit

The radio opens again when you reach Infinitune over plain HTTP, for example on its LAN address. Since 1.1.0, /autoplayer crashed in that setup before anything rendered. This release also stops two Node 26 startup warnings from being reported to GlitchTip as errors at every pod start.

1.5.0 over http:// 1.5.1 over http://
1.5.0: /autoplayer shows ERROR, SOMETHING WENT WRONG 1.5.1: /autoplayer renders the radio player

Both captured with no backend running, which is why the yellow "Reconnecting to server..." bar shows. Technical note with setup and console output.

Fixed

  • /autoplayer over plain HTTP. Browsers only provide crypto.randomUUID on HTTPS and localhost, and the radio listener ID depended on it, so the page failed with crypto.randomUUID is not a function. The listener ID now falls back to a random v4 UUID built from crypto.getRandomValues, which works on any origin. HTTPS behaves as before.
  • No localStorage warning during server rendering. The player reads and writes its saved volume and mute setting only in the browser. Server rendering uses the defaults, so Node 26 no longer prints its localStorage ExperimentalWarning. Your saved volume and mute still apply once the page loads.
  • No module.register() deprecation at startup. Server telemetry no longer installs Sentry's ESM loader hooks. Infinitune doesn't use the automatic instrumentation they serve, so Node 26 stops printing DEP0205. Manual telemetry spans still work.
  • Node warnings stay out of GlitchTip. Captured console output that is a Node process warning ((node:<pid>) …Warning: …) is dropped before sending, so the next deprecation doesn't open a new issue. Other console.error output and exceptions are still reported.

Also new since 1.4.3

1.5.0 was tagged and deployed without release notes. It added:

  • GET /api/version, which returns { "release": "<version>" } with Cache-Control: no-store and nothing else.
  • Safer releases. A version tag now publishes an image only after main CI has passed for that exact commit. After publishing, the workflow waits until the homelab deployment reports the new version and its front page responds. See docs/releasing.md. (#81)

Upgrading

No configuration, schema or data changes. Pull the new image or let Flux roll it out.

Full change: #82 (and #81 for 1.5.0).