Skip to content

Add opt-in browser notifications across projects and background windows - #705

Draft
doskoi wants to merge 1 commit into
alphaXiv:mainfrom
doskoi:feat/browser-completion-notifications
Draft

doskoi wants to merge 1 commit into
alphaXiv:mainfrom
doskoi:feat/browser-completion-notifications

Conversation

@doskoi

@doskoi doskoi commented Oct 18, 2026

Copy link
Copy Markdown

Closes #704.

Add opt-in browser notifications when an agent finishes responding, needs input, or an experiment run finishes/fails. Notifications cover all projects, including chats outside the selected project or paginated sidebar, and work while the dashboard is focused or in a background tab/window. Clicking opens the relevant chat or project.

This refreshes the notification implementation proposed by @rdereparadores in #359 against current main, with attribution retained. It also adds:

  • An initial chat baseline and reconnect snapshots so old results stay quiet and missed completions can be recovered.
  • A bounded delivery ledger coordinated with Web Locks so multiple tabs do not each sound the same notification.
  • Per-reply identities, branch-selection suppression, queued-follow-up checks, retries, and guards against notifications from a retired workspace.
  • Browser-local switches, permission/secure-context handling, a test button, and strings in all nine current locale catalogs.

The UI consumes the existing global event stream and uses relative application URLs. No hostname-specific configuration, backend changes, extra notification service, or new package dependencies are needed. At least one dashboard tab must remain open; this does not add browser-closed push delivery. Permission and preferences are scoped to the browser origin.

Validation:

  • UI suite: 333 tests pass, including 18 notification tests.
  • pnpm build: localization checks, route generation, TypeScript checks, and production build pass; regenerated ui/dist is included.
  • Style checks, 9 dev-slot helper tests, and 10 Python helper tests pass.
  • Firefox 150: built UI settings, one shared event stream per tab, background completion, two-tab deduplication, reconnect recovery, test notification, and click navigation pass. Notification calls were captured for these automated checks; OS popup rendering was not asserted.
  • Rust and platform gates were not run locally because this environment has no Rust toolchain; awaiting upstream CI. No Rust source or dependency files changed.

The new translations outside English and Simplified Chinese are machine-assisted and would benefit from native-speaker review.

Adapt the notification preferences, run tracking, and prompt detection from
alphaXiv#359 for current main. Add global chat completion
tracking, reconnect repair, cross-tab delivery coordination, workspace
guards, a test notification control, and current localization catalogs.

Co-authored-by: Iván Ruiz <iruizl2004@gmail.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Browser notifications for research activity across projects and background windows

1 participant