Add stackable toast notifications #5
Reference in New Issue
Block a user
Delete Branch "worktree-toast-notifications"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
flashError,flashTransient, and MCPrequest_human_attentionnow push onto the same stack (cap 5, oldest drops on overflow).Ctrl-Ndismisses the most recent toast. Empty stack letsCtrl-Npass through to the focused PTY so readline / nano / emacs / opencode keep their bindings.Visual
Sample toast rendered by the new
toast_dismissharness scenario:Test plan
go test ./...go test -race ./internal/app/ ./internal/harness/internal/app/toast_test.gocover push/cap/FIFO/dismissTop/clear/snapshot-copyinternal/harness/scenarios/toast_dismiss.jsonexercises attention toast → Ctrl-N → dismissederror_flash_preserves_focused_pane.jsonstill passes (toast surface preserves focused pane content)Notes
Ctrl-Nwas chosen overCtrl-Xbecause opencode and other terminal apps bind Ctrl-X heavily; falling-through when the stack is empty keeps it cooperative.