Configurable duration for in-app completion toast notifications
- Dominant language
- TypeScript
- Stars
- 909
- Forks
- 116
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 156
Description
### Before filing
- [x] I searched [open and closed issues](https://github.com/block/berd/issues?q=is%3Aissue) for duplicates.
- [x] I am using a recent [release](https://github.com/block/berd/releases) and this doesn't already exist.
- [x] This is one request, not several bundled together.
### Closest existing issue
none found
### Is this new, or an improvement?
Improvement — Berd does this, but badly
### The problem, in your terms
In-app completion toast notifications (the "sonner" toasts that pop up when an agent turn finishes) auto-dismiss on a fixed, short timer. By the time I notice one and move my mouse to click it, it's already gone. There's no way to give myself more time, or to tell Berd "don't dismiss this until I act on it."
### What you do today
Nothing — I just miss the notification and have to go find the relevant session/chat manually to see what happened. It's a small tax every time, but it happens constantly since it's tied to every agent turn completion.
### What you'd like to see
A setting (e.g. under Settings → Notifications) that lets the user configure the toast's auto-dismiss duration in seconds, including an option to disable auto-dismiss entirely ("never dismiss until I close it").
### Why this belongs in Berd itself
Toast duration is UI chrome owned entirely by the app shell (sonner toast + the completion-notification hook) — it isn't something a skill, agent, or extension can reach into, since those operate on the agent/session layer, not the desktop notification UI. This has to be a core settings change.
### Non-goals
- Not asking for changes to native OS-level notifications (the Tauri desktop notification that appears outside the app window) — those are governed by the OS's own notification center settings, out of scope here.
- Not asking for per-notification-type durations (e.g. different timing for errors vs. success) — a single global duration setting is enough.
### Alternatives you considered
- Manually watching the corner of the screen — not a real fix, just a workaround.
- Relying on native OS notifications instead of in-app toasts — doesn't solve it, since those disappear too and have their own OS-level settings we don't control.
Contributor guide
Research direction
Start with the Settings → Notifications entry point, the sonner toast setup, and the completion-notification hook described in the issue. Add a global duration setting, including a never-dismiss option, and verify that agent-completion toasts follow it without changing native OS notifications.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- desktop, frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100