You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
async_notify silences the piano before restoring the previous volume, so a notification
that outlives wait_timeout no longer blasts its tail at the restored — usually louder —
volume while the restore commands are in flight. The stop only fires once the notification
has actually taken over the sequencer, so a rejected play command cannot silence whatever
was already playing.
MasterState and PlaybackSnapshot tolerate master.json blocks that are not objects,
degrading to absent fields instead of raising a bare AttributeError.
The doorbell example escapes device-supplied song titles before printing them, closing a
terminal escape-sequence injection from a hostile device.
Changed
The README quickstart is copy-paste runnable, and a Security section states the trust
model: plaintext, unauthenticated HTTP on a trusted LAN.
CI, pre-commit and the contributor docs type-check examples/ alongside the package.
Removed
Unused constants PATH_DESCRIPTION, TEST_CHORD_SECONDS and PREFIX_TO_PLAYLIST_GROUP
(none were exported; the latter's values had no provenance). The "s" → my_songs
prefix mapping is now commented as inferred rather than observed.