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.
This commit is contained in:
83
docs/handoff/features/inbox-and-invites/HANDOFF.md
Normal file
83
docs/handoff/features/inbox-and-invites/HANDOFF.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user