Auto-Updater
The Now Playing desktop app updates itself automatically in the background. You do not need to visit a website, download installers, or click through update prompts — updates arrive, install when you next quit the app, and the app relaunches on the new version.
How It Works
Section titled “How It Works”A few seconds after each launch, the desktop app checks a CDN-hosted update feed for a newer version. If one is available, it downloads in the background while you continue to use the app. When you quit, the update is installed and the app relaunches on the new version.
App launch │ ├─ 5 second grace period (finish initialising) │ ├─ Check update feed │ │ │ ├─ None available → idle │ └─ Available → download in background │ ├─ You use the app normally │ └─ App quit │ └─ Install update → relaunch on new versionRelease Channels
Section titled “Release Channels”Now Playing publishes two channels:
| Channel | Version Pattern | Audience |
|---|---|---|
| Stable | 3.0.0, 3.1.0 | Everyone |
| Beta | 3.0.0-beta.619 | Early adopters who opt in |
The channel is determined by the version of the app you are running. Any version
containing -beta in its version string checks the beta channel for updates;
anything else checks the stable channel. This means you can try beta, find a
bug, downgrade to stable, and the updater will follow you back — no reinstall
needed.
Where Updates Are Served
Section titled “Where Updates Are Served”Update packages are published to Cloudflare R2 and served through the Cloudflare CDN. The app polls:
https://cdn.nowplayingapp.com/desktop/releases/stable/https://cdn.nowplayingapp.com/desktop/releases/beta/
Because the packages are CDN-served, downloads start quickly from anywhere in the world.
Platform Support
Section titled “Platform Support”- macOS — code-signed and notarised by Apple. Updates are verified against the signing certificate before installation.
- Windows — code-signed with a standard Windows certificate. Updates are verified against the certificate before installation.
Signing verification is mandatory: the updater refuses to install a package whose signature does not match the expected certificate, so a compromised CDN cannot force a malicious build onto your machine.
What You See During an Update
Section titled “What You See During an Update”Almost nothing. By design, the updater is silent:
- No pop-up asking to download.
- No progress bar during download.
- No “please wait” screen on quit.
- A brief period of app startup time on relaunch as the new version initialises.
If an update fails for any reason (network blip, signature mismatch, disk full) the app logs it and keeps running the previous version. The updater retries on the next launch.
Skipping Auto-Updates
Section titled “Skipping Auto-Updates”If you need to freeze on a specific version (for example, during a live broadcast where reliability matters more than being current), you can:
- Quit the app without waiting for a download to complete — the update installs only on quit, so an aborted download is discarded.
- Use a firewall rule to block the CDN domain — the updater fails silently and the app continues to run.
For most users, the default “update on next quit” behaviour is the right one: bug fixes, new integrations, and performance improvements arrive without any effort.