Files
Kao/TODO.md
Spencer 9a10a6e10c Feat: notification queue — buffer rapid /notify calls, play sequentially
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>
2026-02-28 23:33:45 -06:00

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: true flag on /notify to 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
  • /history endpoint — 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