You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(web): custom notification sound setting for thread notifications #29372
The opt-in thread notification sound (shipped in #11481) uses two hardcoded bundled assets (apps/web/src/assets/notification-completion.mp3 and notification-input.mp3). The Notifications settings only expose the mode (off / notifications / sound / notifications with sound) and the in-app toggle, so there is no way to change the chime itself.
Request
Add a per-device client setting to choose the notification sound in Settings → General → Notifications:
Sound picker with a few bundled presets (e.g. the current ding, a bell, a soft pop) plus a "Custom file…" option that accepts a user-supplied audio file (anything Web Audio can decode: MP3/WAV/OGG), stored per device (e.g. IndexedDB) with a sensible size cap (~1–2 MB).
Separate sounds for completion and needs-input (or at minimum one shared sound, with an optional second for input/approval).
"Play preview" button next to the picker. Since it is an explicit user gesture, it also doubles as a Web Audio autoplay unlock.
On decode/playback failure, fall back to the bundled default and console.warn instead of failing silently.
Why
Preferences vary: in a noisy environment users need a louder or more distinctive chime to actually notice a completion; others prefer something soft. Today the only way to change it is to overwrite the runtime asset files on disk, which is not something most users can or should do.
The preview button also makes the common "banner shows but no sound" problem self-diagnosable (browser autoplay blocked, muted tab, wrong output device). Right now playNotificationSound in apps/web/src/threadNotifications.ts bails with no signal when the context isn't running:
Activity