diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-15 14:09:43 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-15 14:09:43 +0200 |
| commit | 739d98262ea2a14d4cd4ca08a17dc91bce267d0e (patch) | |
| tree | ed49645a8e0434663bb1a3af6ca45c9254fea0d6 /TODO.md | |
| parent | 08349a30ca4221d399559481cb520864e5fe8d8a (diff) | |
| download | notifyd-739d98262ea2a14d4cd4ca08a17dc91bce267d0e.tar.gz notifyd-739d98262ea2a14d4cd4ca08a17dc91bce267d0e.zip | |
docs: track per-id history removal as a TODO
The spec says a history row is closable individually, but the daemon only has
clear-history. The list of changes needed on both sides is recorded so the
renderer's inert history rows are a tracked gap rather than a forgotten one.
Diffstat (limited to 'TODO.md')
| -rw-r--r-- | TODO.md | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -0,0 +1,22 @@ +# TODO + +## Per-id history removal + +The notification spec (quickshell repo, +`docs/superpowers/specs/2026-09-15-notification-daemon-design.md`) says a +history row is closable individually. The daemon has no per-id history delete: +`notifyctl` ships `clear-history` (all) only, so the renderer's history page +ships inert rows and a clear all. + +To close this: + +- `Store.RemoveHistory(id uint32)` in `internal/notify/store.go`, dropping one + entry from the ring and publishing. +- `control.RemoveHistory(id)` in `internal/notify/control.go`. +- `notifyctl history-remove <id>` in `cmd/notifyctl/main.go`. +- A `store_test.go` case that removes one entry and leaves the rest of the ring. +- Renderer: `shared/Notify.qml` gains `historyRemove(id)` running + `notifyctl history-remove`, and `desktop/NotificationRow.qml` calls it for a + non-live (history) row instead of ignoring the click. + +Until then, the history page clears all or nothing. |
