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.
76 lines
2.1 KiB
Markdown
76 lines
2.1 KiB
Markdown
# Developer tools — handoff
|
|
|
|
## Summary
|
|
|
|
Power-user tools for debugging Matrix state: view/edit account data, send custom room events, and inspect raw JSON. Available in user settings and room/space common-settings.
|
|
|
|
## User-facing behavior
|
|
|
|
- **Settings → Developer tools**: account data viewer
|
|
- **Room settings → Developer tools**: send state events, room account data
|
|
- Raw JSON editors with validation warnings
|
|
|
|
## Architecture
|
|
|
|
```
|
|
settings/developer-tools/
|
|
DevelopTools.tsx, AccountData.tsx
|
|
common-settings/developer-tools/
|
|
DevelopTools.tsx, StateEventEditor.tsx, SendRoomEvent.tsx
|
|
```
|
|
|
|
## Key files
|
|
|
|
| Path | Role |
|
|
|------|------|
|
|
| `cinny/src/app/features/settings/developer-tools/DevelopTools.tsx` | User-level dev tools |
|
|
| `cinny/src/app/features/settings/developer-tools/AccountData.tsx` | Account data viewer |
|
|
| `cinny/src/app/features/common-settings/developer-tools/DevelopTools.tsx` | Room dev tools entry |
|
|
| `cinny/src/app/features/common-settings/developer-tools/StateEventEditor.tsx` | Edit state events |
|
|
| `cinny/src/app/features/common-settings/developer-tools/SendRoomEvent.tsx` | Send events |
|
|
|
|
## Data model
|
|
|
|
Direct read/write to Matrix account data and state events — **production danger**.
|
|
|
|
## Dependencies
|
|
|
|
- matrix-js-sdk low-level APIs
|
|
|
|
## Integration points
|
|
|
|
- **user-settings**: developer tab
|
|
- **common-settings**: per-room tools
|
|
|
|
## Testing
|
|
|
|
### Manual
|
|
|
|
1. View account data keys on staging account.
|
|
2. Send harmless custom state event in test room.
|
|
3. Verify permission denied without power level.
|
|
|
|
### Automated
|
|
|
|
- None
|
|
|
|
## Known issues & gotchas
|
|
|
|
- No guard rails — can break rooms with bad state events
|
|
- Should be hidden or disabled in production builds for normal users (currently settings-gated only)
|
|
- Typo `DevelopTools` vs `DeveloperTools` in filenames
|
|
|
|
## Future work
|
|
|
|
- Feature flag via client config
|
|
- Event diff viewer
|
|
|
|
## Related docs
|
|
|
|
- [user-settings HANDOFF](../user-settings/HANDOFF.md)
|
|
- [common-settings HANDOFF](../common-settings/HANDOFF.md)
|
|
|
|
## Add your extra things here
|
|
|
|
- Only use on test homeservers — document internal MSC event types here when experimenting
|