-
-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Description:
The current flat list view for rooms in Synapse Admin is fundamentally inadequate for large deployments that utilize Matrix Spaces (MSC2946) to enforce a structured, nested room hierarchy (e.g., Country
This proposal requests a new administrative view for the Rooms section, and mirrored in the Room Directory management interface, that correctly interprets the m.space.child state events to display rooms in a collapsible, tree-like structure, similar to a file system explorer.
Is Your Feature Request Related to a Problem? Please Describe.
Yes. The primary problem is that the flat room list fails to convey the necessary administrative and organizational context provided by Matrix Spaces. It is impossible to quickly discern structure (e.g., which country Space a room belongs to), which significantly hinders administrative efficiency for auditing, bulk management, and debugging room visibility issues in large, structured deployments.
Why Do You Think This Feature Is Needed?
- Improved O&M: Allows administrators to instantly visualize and navigate complex organizational structures.
- Native Standard Support: Provides proper administrative tooling for a core modern Matrix feature (Spaces).
- Enhanced Auditing: Facilitates easy auditing of public/published rooms and their hierarchical context in the Room Directory.
Describe the Solution You'd Like
I want a new administrative view that displays rooms and Spaces in a collapsible hierarchy. The structure should be built by parsing the m.space.child state events. Users must be able to:
- Visualize/Navigate: Display Spaces as collapsible parent nodes (e.g., clicking 'Country' hides/shows its children).
- Functionality: Apply global Search, Filter, and Sort operations that correctly traverse the entire structure, highlighting matching rooms/Spaces regardless of the current collapse state.
Describe Alternatives You've Considered
The only alternative is manually cross-referencing the flat room list against external documentation or using a Matrix client (like Element) for visualization, which is extremely inefficient and unsuitable for administrative tasks. Direct database querying is also not a viable alternative due to security and maintenance concerns.
Provide Related Synapse Admin API Endpoints
The implementation requires integrating the existing Synapse Admin room list endpoint with the official Matrix Client-Server API for hierarchy data.
| Endpoint | Type | Purpose |
|---|---|---|
GET /_synapse/admin/v1/rooms |
Synapse Admin API | Provides base list of all |
| rooms for initial data |
|fetching, filtering, and sort. |
| GET /_matrix/client/v3/rooms/{spaceId}/hierarchy | Matrix Client-Server API |Crucial for recursive query |
| of children and structure of |
| any given Space (spaceId) |
| to build nested tree view. |
Additional Context
Our deployment uses strict nesting (e.g., Country