matrix-org / matrix-org/matrix-spec
Option to "sync" room power levels and permissions with the parent space
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
**Suggestion**
The problem I have is that setting up and maintaining any kind of complex set of power levels and role assignments for a space is a massive hassle. Because every room operates independently with their own power levels and each user in the room has roles unique to that room, if we want to say, have a set of shared roles across the entire space available in every room, and the same users assigned the same power levels in every room, we have to manually go to every room and set them up.
Then any time something has to change, we have to again go to every room to update them. If someone joins/leaves a room we have to give them the proper power level for every room they join.
First off: When creating a room/space, it should inherit exactly the same power levels as the parent space.
Second: Instead of having to define all the permissions in the room, it should start off with something like "Same as the Space", both for the defined power levels, and as an option for the permissions so if we want them to be different we can selectively change individual ones to be different and not follow what the space has configured.
Perhaps new rooms start off with their power levels section greyed out with the same options as the space and a message saying "Synced to the space" and a button to edit it which would make it no longer sync.
And if a room's power levels aren't being synced to the space, present a button you can press to sync it immediately to the space and change when the space's power levels are altered.
Finally: When assigning a user a power level, they should be given that same power level in any rooms in the space that are currently following the space's settings.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the Matrix specification sections covering spaces, rooms, power levels, and permissions. Define inheritance, selective overrides, resync behavior, room creation, and membership changes; done means the specification clearly states these semantics and includes examples for each case.
Written by the indexing model from the issue text.
Assessment
- Domain
- authorization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100