github jxlarrea/kiosk-satellite 2026.11.5

6 hours ago

What's new in Kiosk Satellite 2026.11.5

This release lets an alarm wake you up to music from Music Assistant, Home Assistant or Sonos. A device owner kiosk can now install Android system updates by itself, and the Immich Media screensaver can show photo descriptions. Now Playing, the Music Library, the Calendar and docked voice turns use far less CPU.

New Feature: Wake up to music

  • Wake up to music. An alarm can ring with music from Music Assistant, Home Assistant or Sonos instead of its tone. A new Alarm music setting under Settings, Alarms sets the music for every alarm, and each alarm's Music row can follow it, keep to the tone with None or pick its own. Both open a music picker, on the kiosk and in the remote admin: a track, an album, a playlist, an artist, a station or a media folder, a random pick that changes every time it rings, Shuffle, Preview and the speaker it plays on. While the alarm rings, Now Playing switches to that speaker, which plays at the alarm volume and eases in like the tone. The alarm stays on screen in front of Now Playing. Stop and Snooze take the music out of the speaker's queue, switch Now Playing back and put the speaker's volume, shuffle and repeat back. If the music cannot play, the alarm rings its tone. See Alarms.

Improvements

  • Install Android system updates in kiosk mode (#1292). Kiosk mode on a device owner hides the notification shade, so Android's prompt to restart for a system update never showed and a downloaded update waited until someone restarted the device. A new Android System Updates group in Settings > Device > Updates sets Install Android updates to Ask on the device (the default, as before), Right away or In a time window, such as 03:00 to 05:00. Android then installs and restarts by itself. The group shows only on a device owner and never on the Echo images. The page's own settings now sit under a Kiosk Satellite Updates heading. See Updates.
  • Show Immich photo descriptions (#1290). Turn on Description in the Immich Media screensaver's Metadata settings, off by default, to show the description written for each photo in Immich as a caption centered at the bottom of the screen, up to two lines. It wraps between the corner details when it fits there and moves above them when it does not. The At a Glance row sits above the caption. In a pair each photo's caption sits under that photo. See Immich.
  • The Music Library, the Calendar and Now Playing use far less CPU. The dashboard stayed in the frame under these full screen views, which on most devices made every frame cost a bitmap and frequent garbage collection. The floating player's scrolling title also kept drawing underneath. The dashboard now leaves the frame and stops animating under them, the Calendar freezes the page under it like the Music Library does and the Music Library and Calendar are no longer drawn under a voice turn that covers the screen. On a Galaxy Tab S8 the idle Music Library went from about two cores to under one and the Calendar from about 1.4 cores to under 0.7.
  • Now Playing blurs its backdrop once per track. The blurred album art behind Now Playing was blurred again on every frame anything on screen moved: the seek bar, a lyric, a voice turn on top. It is now blurred once into a small image when the track changes and looks the same.
  • Docked voice turns cost less. A docked turn over Now Playing no longer makes Now Playing blur its backdrop on every frame and its text shadows are drawn once instead of on every frame the bar moves. On a Galaxy Tab S8 a docked turn over Now Playing went from about two cores to about one. Over the Calendar it went from 62 to 119 frames a second.
  • The floating player's scrolling title draws fewer frames. A title too long for the card asked for every frame of the display, its pause included. It now draws nothing while it pauses and moves a pixel at a time, which cuts what the card costs over the dashboard by about a third.

Fixes

  • An alarm switched on after its time waits for the next one. Turning an alarm on, or changing it, a few minutes after its time made it ring at once, since the ring was still inside the Silence after window. It now waits for its next ring.
  • Turn off a realtime provider. Once a provider was set up, nothing could take it back out: Save & Validate refused an empty API key because the provider rejected the connection, so the row kept reading as set up. The provider's dialog now has Clear, on the kiosk and in the remote admin. It removes the key and the rest of the provider's settings, the row goes back to Not configured and a wake word that used it goes back to its Home Assistant pipeline.
  • Plugin overlays can skip the texture on slow GPUs (#1294). On Android 10 and up a native plugin overlay is drawn into a texture that Flutter empties on the main thread, which also draws the overlay. On a slow GPU, such as the PowerVR in the Lenovo Smart Clock 2, an animation inside the overlay could fill that texture faster than it emptied and freeze the app until Android closed it. A new hidden render.hybrid_plugin_overlays setting, off by default, places native plugin overlays in the Android view tree instead. Turn it on through adb provisioning or a settings import. Plugins need no changes. See Plugins.
  • The fleet docs list the echo cancellation method. Echo cancellation method stays on each kiosk like the other microphone picks. The Never Synced table in the fleet docs now says so. See Fleet Management.

Don't miss a new kiosk-satellite release

NewReleases is sending notifications on new releases.