Skip to content

Notification centre (header bell) - #46

Merged
joaoguimaraespro merged 1 commit into
mainfrom
feat/notification-bell
Oct 5, 2026
Merged

joaoguimaraespro merged 1 commit into
mainfrom
feat/notification-bell

Conversation

@joaoguimaraespro

Copy link
Copy Markdown
Owner

Summary

A bell in the header gathers everything that needs the owner, each item with a direct action:

Kind Action
Recurring items due/overdue Confirm / Skip inline (existing endpoints), link to Recurring
Savings interest months awaiting reconciliation link to the account
Broker connections needing attention / last sync failed (incl. IBKR 1025) friendly message, link to Connections
Budget categories over (and near) their limit this month link to Budgets
Goals reached · AI writes in the last 24 h link to the goal / recycle bin
  • Backend: GET /api/notifications aggregates typed items from per-module notification sources (Finance, Integrations, Reporting, Ai) behind a SharedKernel contract, so module boundaries are kept (Architecture tests). No new tables.
  • Frontend:
    • The badge counts unseen items; seen state is kept per item in localStorage, and a red dot marks errors.
    • Popover on desktop, full-width sheet on phones, accessible (labelled dialog, keyboard).
    • Refreshes after data changes, on window focus and every few minutes as background requests, so the loading bar stays quiet.
  • Settings: opt-in browser notifications (Notification API) for new items while the tab is open. No push server.
  • Housekeeping:
    • InvestmentEntryTests moved its data from 2033 to 2043, so it no longer collides with ExportTests in the shared test database (the order-dependent failure seen before).
    • The initial bundle warning budget goes from 800 kB to 850 kB: main was already within 0.6 kB of it, and the error budget stays 1.2 MB.

Test plan

  • Backend: architecture; full integration suite 84/84 (new NotificationTests: each kind appears and disappears, scoping)
  • Web: build; unit tests 85/85 (badge/seen logic)
  • Full Docker E2E locally: the bell shows "N new", opening marks items seen, Confirm on the seeded subscription removes it, Esc closes

…interest to reconcile, broker problems, budgets and AI writes
@joaoguimaraespro
joaoguimaraespro merged commit c559a67 into main Oct 5, 2026
7 checks passed
@joaoguimaraespro
joaoguimaraespro deleted the feat/notification-bell branch October 5, 2026 21:45
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.

1 participant