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.
84 lines
2.2 KiB
Markdown
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
|