cmux NEXT: notifications panel clears a selected row; ⌘⌫ clears all
Merged
AU
2d ago+230+230+012345678901234567890123456789-41-41-01234567890123456789
Fixes https://github.com/manaflow-ai/cmux/issues/34442
What was wrong
In the cmux NEXT notifications panel (⌘I), selecting a row and pressing Delete, or using the row's Clear, did nothing visible. Most rows come from agent chats and have no terminal. The daemon's notification.clear could only clear by terminal, by workspace, or for the whole session. So for those rows the handler only marked the row read, and the row stayed. On a real ledger, 224 of 256 rows had no terminal_id.
Change
- Daemon:
notification.cleartakesnotification_id, which clears one ledger row. It accepts at most one ofterminal_id,workspace_idandnotification_id. The tab's unread marker goes with the tab's last row, unless a feed item still keeps it unread. The idempotency fingerprint includes the id. - App: the row's Clear and Delete on a selected row now clear that row by id. If an older daemon refuses the field with
validation.invalid, the app falls back to the old behavior: it clears the row's terminal, or marks a terminal-less row read. - Panel: ⌘⌫ runs Clear All, the same as the header's Clear All button.
Changelog
Fixed: cmux NEXT's notifications panel now clears a selected notification, and ⌘⌫ clears them all.
Verification
(filled in below as it runs)
🤖 Generated with Claude Code