Files
Max Litruv Boonzaayer e058165830 feat: upgrade toolchain and soften sync recovery after network blips
Bump Vite 8, matrix-js-sdk, and related deps; fix immer/vanilla-extract imports for new majors. Replace blocking sync error dialog with background recovery on wake/offline, and disable Vite auto-open in dev. Add feature handoff documentation index.
2026-07-09 01:55:09 +10:00

2.2 KiB

Inbox & invites — handoff

Summary

The inbox area covers invites, notification feed, and notification preferences. Sidebar Inbox tab routes to invites list and notifications history.

User-facing behavior

  • View and accept/decline room invites
  • Browse notification events (mentions, etc.)
  • Per-room notification preference overrides

Architecture

client/inbox/
  Inbox.tsx — layout
  Invites.tsx — invite list (allInvitesAtom)
  Notifications.tsx — notification feed
ClientRoomsNotificationPreferences.tsx — bulk prefs

Key files

Path Role
cinny/src/app/pages/client/inbox/Inbox.tsx Inbox layout
cinny/src/app/pages/client/inbox/Invites.tsx Invites UI
cinny/src/app/pages/client/inbox/Notifications.tsx Notifications list
cinny/src/app/state/room-list/inviteList.ts allInvitesAtom
cinny/src/app/pages/client/ClientRoomsNotificationPreferences.tsx Room notif prefs
cinny/src/app/pages/client/sidebar/InboxTab.tsx Sidebar entry
cinny/src/app/hooks/useRoomsNotificationPreferences.ts Prefs hook

Data model

Source Data
Sync m.room.member invite membership
Account data push rules, per-room notification prefs

Dependencies

  • matrix-js-sdk sync invite events
  • Push rule APIs

Integration points

  • background-notifications: same push rules drive system notifications
  • user-settings: notification settings tab
  • routing-and-navigation: INBOX_PATH, _INVITES_PATH, _NOTIFICATIONS_PATH

Testing

Manual

  1. Receive invite; appears in inbox.
  2. Accept invite; room joins home list.
  3. Decline invite; removed from list.
  4. Notifications page shows recent highlights.

Automated

  • None

Known issues & gotchas

  • Invite list can desync briefly during sync gap
  • Notification feed scope depends on push rules setup

Future work

  • Mark all invites read
  • Notification grouping by room

Add your extra things here

  • getInboxInvitesPath, getInboxNotificationsPath in pathUtils