When multiple /notify calls arrive in quick succession, they now queue up and display one at a time rather than clobbering each other. Each notification plays for its full duration before the next is promoted. - /notify returns `queued: true` and `notify_queue_size` when buffered - Cleanup thread auto-advances the queue when the playing notification expires - /clear on the playing notification promotes the next immediately - /clear on a queued (not-yet-playing) notification removes it from the queue - /clear-all also drains the queue - Status response includes `notify_queue_size` for frontend awareness Bump to v2.3.3. Update OpenAPI spec, README, TODO. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
Kao — TODO
Feature ideas for future work, roughly in priority order.
REST API improvements
Notification queue— done in v2.3.3- Sticky notifications — a
sticky: trueflag on/notifyto keep a notification visible until explicitly cleared via/clear, rather than TTL-expiring - Named presets — define reusable notification profiles in
config.json(e.g."doorbell"→ specific emote/sound/color/duration) so callers can POST{"preset": "doorbell"}without repeating fields every time - Batch
/notify— accept an array in a single POST so multiple notifications can be queued atomically /historyendpoint — a ring buffer of the last N state changes/events received, for auditing what fired overnight without tailing logs
Display / frontend
- Brightness curve — dim gradually after dark rather than hard-sleeping; reduces OLED burn-in without losing glanceability
- Scrolling ticker — when multiple events are active, cycle through their messages rather than only showing the top one