Commit Graph
2 Commits
Author SHA1 Message Date
Renn F 69da8de4b5 Panel: de-dupe live notifications and expose recovery states on the board
Notification bell: the websocket stream was rendered with a plain filter, so
a stream replay after a reconnect surfaced — and counted — the same
notification twice, inflating the unread badge. De-duplicate by
notification_id (newest copy wins, arrival order preserved) and key the list
on the id instead of array index.

PM kanban: the board had no columns for the recovery states (paused,
needs-revision, awaiting-CEO-approval, cancelled), so a human had no way to
drive a wedged task into them from the UI. Add those columns; dragging a card
issues an admin status override, giving the CEO direct recovery from the board.
2026-06-08 04:47:35 +02:00
Renn F 8e201901c0 I mean, it's at a good place rn... 2026-04-20 15:10:54 +02:00