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.
80 lines
1.9 KiB
Markdown
80 lines
1.9 KiB
Markdown
# Explore — handoff
|
|
|
|
## Summary
|
|
|
|
Discover public rooms and featured communities on Matrix homeservers. Browse by server, search public room directory, and preview/join rooms.
|
|
|
|
## User-facing behavior
|
|
|
|
- Explore tab in sidebar
|
|
- Pick server / homeserver directory
|
|
- Featured rooms list
|
|
- Search public rooms on server
|
|
- Join room from preview
|
|
|
|
## Architecture
|
|
|
|
```
|
|
client/explore/
|
|
Explore.tsx — main explore page
|
|
Server.tsx — server-specific directory
|
|
Featured.tsx — featured rooms
|
|
PublicRooms via matrix directory API
|
|
```
|
|
|
|
## Key files
|
|
|
|
| Path | Role |
|
|
|------|------|
|
|
| `cinny/src/app/pages/client/explore/Explore.tsx` | Explore hub |
|
|
| `cinny/src/app/pages/client/explore/Server.tsx` | Server directory |
|
|
| `cinny/src/app/pages/client/explore/Featured.tsx` | Featured list |
|
|
| `cinny/src/app/pages/client/sidebar/ExploreTab.tsx` | Sidebar entry |
|
|
| `cinny/src/app/hooks/useRoomDirectoryVisibility.ts` | Directory visibility |
|
|
|
|
## Data model
|
|
|
|
Public room directory from homeserver HTTP API (ephemeral).
|
|
|
|
## Dependencies
|
|
|
|
- Homeserver `/publicRooms` or sliding sync directory
|
|
- `matrix-js-sdk` room directory helpers
|
|
|
|
## Integration points
|
|
|
|
- **routing-and-navigation**: `EXPLORE_PATH`, `_SERVER_PATH`, `_FEATURED_PATH`
|
|
- **join-before-navigate**: may route here before join
|
|
|
|
## Testing
|
|
|
|
### Manual
|
|
|
|
1. Open explore; list loads for default server.
|
|
2. Switch server; directory refreshes.
|
|
3. Join public room from explore.
|
|
4. Server without public directory — error handling.
|
|
|
|
### Automated
|
|
|
|
- None
|
|
|
|
## Known issues & gotchas
|
|
|
|
- Public directory disabled on many private homeservers
|
|
- Featured rooms may be config-dependent (`clientConfig`)
|
|
|
|
## Future work
|
|
|
|
- Federated universal search
|
|
- Room preview with topic/avatar before join
|
|
|
|
## Related docs
|
|
|
|
- [routing-and-navigation HANDOFF](../routing-and-navigation/HANDOFF.md)
|
|
- [join-before-navigate HANDOFF](../join-before-navigate/HANDOFF.md)
|
|
|
|
## Add your extra things here
|
|
|
|
- `getExploreFeaturedPath` in pathUtils
|