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:
82
docs/handoff/features/common-settings/HANDOFF.md
Normal file
82
docs/handoff/features/common-settings/HANDOFF.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Common settings — handoff
|
||||
|
||||
## Summary
|
||||
|
||||
Shared setting pages used by both room and space settings overlays: general (profile, join rules, encryption, embed filters), members, permissions editors, emojis/stickers, and developer tools (raw state events).
|
||||
|
||||
## User-facing behavior
|
||||
|
||||
- Same UI whether editing a room or space context
|
||||
- Members list with kick/ban/invite
|
||||
- Power level editor
|
||||
- Room emoji packs
|
||||
- Developer tools: send custom state events
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
common-settings/
|
||||
general/ — RoomProfile, RoomJoinRules, RoomEncryption, EmbedFilters
|
||||
members/ — Members.tsx
|
||||
permissions/ — PowersEditor, PermissionGroups
|
||||
emojis-stickers/
|
||||
developer-tools/ — StateEventEditor, SendRoomEvent
|
||||
Imported by room-settings and space-settings shells
|
||||
```
|
||||
|
||||
## Key files
|
||||
|
||||
| Path | Role |
|
||||
|------|------|
|
||||
| `cinny/src/app/features/common-settings/general/RoomProfile.tsx` | Name/topic/avatar |
|
||||
| `cinny/src/app/features/common-settings/general/RoomJoinRules.tsx` | Join rules |
|
||||
| `cinny/src/app/features/common-settings/general/RoomEncryption.tsx` | E2E toggle |
|
||||
| `cinny/src/app/features/common-settings/general/EmbedFilters.tsx` | Room-wide embed filters |
|
||||
| `cinny/src/app/features/common-settings/members/Members.tsx` | Member management |
|
||||
| `cinny/src/app/features/common-settings/permissions/PowersEditor.tsx` | Power levels |
|
||||
| `cinny/src/app/features/common-settings/developer-tools/` | Dev event tools |
|
||||
|
||||
## Data model
|
||||
|
||||
Standard Matrix room/space state events. Embed filters: `im.paarrot.room.embed_filters`.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- Permission hooks, member list hooks
|
||||
|
||||
## Integration points
|
||||
|
||||
- **room-settings** / **space-settings**: parent shells
|
||||
- **embed-filters**: room-wide pattern UI
|
||||
- **emoji-stickers**: room pack management
|
||||
|
||||
## Testing
|
||||
|
||||
### Manual
|
||||
|
||||
1. Open members from room settings; invite user.
|
||||
2. Set embed filter pattern as admin.
|
||||
3. Developer tools: send test state event (staging only).
|
||||
|
||||
### Automated
|
||||
|
||||
- None
|
||||
|
||||
## Known issues & gotchas
|
||||
|
||||
- `DevelopTools` naming typo inherited from upstream
|
||||
- Encryption enable is irreversible — UI must warn
|
||||
|
||||
## Future work
|
||||
|
||||
- Extract embed filters to own settings section
|
||||
|
||||
## Related docs
|
||||
|
||||
- [room-settings HANDOFF](../room-settings/HANDOFF.md)
|
||||
- [space-settings HANDOFF](../space-settings/HANDOFF.md)
|
||||
- [embed-filters HANDOFF](../embed-filters/HANDOFF.md)
|
||||
|
||||
## Add your extra things here
|
||||
|
||||
- `PermissionGroups.tsx` — grouped permission UI
|
||||
Reference in New Issue
Block a user