Skip to content

v1.2.1

Choose a tag to compare

@posch-dev posch-dev released this 02 Jul 08:30
· 6 commits to 2ad88adf0732c914e0b64f15b820a8b4310e7e80 since this release

NowPlaying

  • The "seamless transition" path (when the next song is already detected during the last 10s of the current one) now waits for the cover the same way a normal song change does, instead of rendering with a placeholder immediately. If the
    current song happens to end before that wait finishes, the currently displayed slot just stays up until the next render is ready
  • get_now_playing() and the metadata fetch (cover, album, tags, duration) are now guarded with 15s/20s timeouts, so a hung Last.fm/Spotify request can no longer stall the poller forever.

Stability

  • Fixed a bug where the clock display would freeze (e.g. stuck at "21:59" despite active hours ending at 22:00), silently skipping the active-hours transition and its webhooks. Root cause: Verse of Day was fetching/rendering its verse
    synchronously on the main loop, blocking everything.

Triggers (Web UI)

  • Timed triggers and "hold indefinitely" locks used to live entirely in the browser, closing or reloading the tab could leave a trigger stuck forever ("limbo state"). Expiry is now tracked server-side, and the web UI reconciles its
    state from the server on every load/reload.

Active Hours & Power

  • When active hours end automatically, the manual power switch in the UI now correctly reflects "off" (previously it kept showing "on").
  • Manually turning the display on outside active hours now keeps it on until manually turned off again (like an indefinite panel trigger), instead of immediately turning back off. Turning it off again restores normal after-hours
    behavior. If active hours start naturally on their own, the override is cleared automatically.
  • New setting: "Auto Sleep After Hours": when turned on manually outside active hours, an optional timer (adjustable via a slider) can automatically turn it back off instead of staying on indefinitely.