Files
cinny/docs/handoff/features/inbox-and-invites/HANDOFF.md
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

84 lines
2.2 KiB
Markdown

# 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
## Related docs
- [background-notifications HANDOFF](../background-notifications/HANDOFF.md)
- [user-settings HANDOFF](../user-settings/HANDOFF.md)
## Add your extra things here
- `getInboxInvitesPath`, `getInboxNotificationsPath` in pathUtils