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.
2.3 KiB
2.3 KiB
Room nav — handoff
Summary
Room nav components render individual channel rows in sidebars and space channel lists: room items, category buttons, call participant indicators, sub-room actions, and unjoined sub-room join prompts.
User-facing behavior
- Room row: name, avatar, unread badge, active highlight
- Context menu: add sub-room, room actions
- Call participants indicator when call active in room
- Unjoined sub-room row with join button
- Category headers with collapse
Architecture
features/room-nav/
RoomNavItem → per-room row + menus
RoomNavCategoryButton → section headers
UnjoinedSubRoomItem → join flow
CallParticipantsIndicator → active call badge
Used by Home.tsx, space sidebars, forum sidebars
Key files
| Path | Role |
|---|---|
cinny/src/app/features/room-nav/RoomNavItem.tsx |
Main room row |
cinny/src/app/features/room-nav/RoomNavCategoryButton.tsx |
Category header |
cinny/src/app/features/room-nav/UnjoinedSubRoomItem.tsx |
Unjoined sub-room |
cinny/src/app/features/room-nav/CallParticipantsIndicator.tsx |
In-call indicator |
cinny/src/app/features/room-nav/styles.css.ts |
Nav styles |
Data model
Uses room state, unread atoms, im.paarrot.sub_rooms permissions — no own persistence.
Dependencies
usePermissionfor sub-room createuseOpenCreateSubRoomModalfrom state hooks
Integration points
- sub-rooms: Add Sub-Room menu action
- voice-calls: participant indicator
- create-flows: opens create room modal with parent id
- home-and-sidebar: primary consumer
Testing
Manual
- Right-click/context menu on room row.
- Add sub-room when permitted / disabled when not.
- Active call shows participant indicator.
- Unjoined sub-room join navigates correctly.
Automated
- None
Known issues & gotchas
- Depth indentation for sub-rooms passed as prop — styling in CSS
canAddSubRoomchecksStateEvent.PaarrotSubRoomspower level
Future work
- Consolidate with forum sidebar items if duplicated
Related docs
Add your extra things here
- Export barrel:
features/room-nav/index.ts