- No more dead air during updates. Updates now restart in a safe order:
1. Everything that isn't audio restarts first.
2. The backup feed restarts while the engine is still on air.
3. Listeners are moved onto the backup feed without being disconnected.
4. Only then does the engine restart, and listeners go back automatically once it's on air.
Before, the backup feed restarted at the same moment as the engine, so listeners were cut off for a few seconds.
- The FM/DAB feed has its own backup feed (
/emergency-fm, at its 192k), so after a fallback its listener (your transmitter encoder) returns to /fm instead of ending up on the web stream. - Updates never pull a new Icecast or Postgres image, which could cut everyone off. Icecast's settings are reloaded in place when they change.
- Updates hand over to the new release's own update script as soon as it has been fetched, so improvements like this one apply to the update that delivers them.