[Story] Space settings
Description
As a an user with some power level of a space, I want to change its settings So that it reflects the current needs
There are actually several features to consider. This is why the design file is so big but it is actually very similar to the room settings we have today. So I decided to not break down, at least as a start. Let's see if we need to replace this story with more granular ones.
Design
Acceptance criteria
Depending of their power level (members, moderator, admin), the user must be able to do those actions:
- General
- The user can change the avatar
- The user can change the name
- The user can change the topic
- People
- The user can invite other user to the space
- The user can see space members
- They can view their profile
- Change their role
- Remove them from the space
- For a public space:
- The user can ban another member
- The use can see the list of banned members
- Security & Privacy
- The user can change the room access
- Ask to join is out of scope
- Set an address for a public space
- Make a public space visible on the homeserver directory
- The user can change the room access
- Roles & Permissions
- Roles
- User can promote another user as admin
- An admin can promote/demote a moderator
- An admin or moderetor can change their role
- Permissions (TBD - Options should match this table)
- Roles
Dependencies
- None
Out of scope
- Organisation use case
- Ask to join
Questions
- [ ]
Subtasks
Android
- [ ] https://github.com/element-hq/element-x-android/issues/5648
- [ ] https://github.com/element-hq/element-x-android/issues/5649
- [ ] https://github.com/element-hq/element-x-android/issues/5617
- [ ] https://github.com/element-hq/element-x-android/issues/5650
- [ ] https://github.com/element-hq/element-x-android/issues/5651
iOS
- [ ] https://github.com/element-hq/element-x-ios/issues/4679
- [ ] https://github.com/element-hq/element-x-ios/issues/4680
- [ ] https://github.com/element-hq/element-x-ios/issues/4632
- [ ] https://github.com/element-hq/element-x-ios/issues/4681
- [ ] https://github.com/element-hq/element-x-ios/issues/4682
Rust
- [ ] https://github.com/matrix-org/matrix-rust-sdk/issues/5821
Other
I had a chat with @americanrefugee even without permissions we will still let the user browse the settings but most of its content will be hidden, at most they will be able to see in full detail the topic, the title and the avatar, he is updating the Figma to show how a normal user would see the Settings screen
I had a chat with @americanrefugee even without permissions we will still let the user browse the settings but most of its content will be hidden, at most they will be able to see in full detail the topic, the title and the avatar, he is updating the Figma to show how a normal user would see the Settings screen
@mxandreas does this sound reasonable to you?
even without permissions we will still let the user browse the settings
Does this apply just to the name/avatar/topic part or also other settings of the space (like join rule)?
Also, currently for rooms:
- If you are not able to change any of name/avatar/topic you do not have the Edit button/menu on iOS or Android.
- If you are not an admin then also the roles/permissions and security&privacy buttons are not shown.
It makes sense to keep rooms and spaces consistent in this matter. I think it is a high risk of frustration and confusion if such things work differently for rooms and spaces.
even without permissions we will still let the user browse the settings
Does this apply just to the name/avatar/topic part or also other settings of the space (like join rule)?
Also, currently for rooms:
- If you are not able to change any of name/avatar/topic you do not have the Edit button/menu on iOS or Android.
- If you are not an admin then also the roles/permissions and security&privacy buttons are not shown.
It makes sense to keep rooms and spaces consistent in this matter. I think it is a high risk of frustration and confusion if such things work differently for rooms and spaces.
https://www.figma.com/design/kcnHxunG1LDWXsJhaNuiHz/ER-145--Spaces-on-Element-X?node-id=544-22096&t=WWyCrHeglPCA0Ebu-4
this is how it would look like for a normal user (i think the view has been misplaced in Org settings by mistake), so only People the edit sections (but will be uneditable once opened up) and the leave space button will be available.
But I do see the point in the fact that we do not show the edit screen at all for normal users in rooms... @americanrefugee How do we want to proceed then? I can change it anytime in the current PR, is not a big deal.
If by the "edit screen" you mean the screen showing the avatar, name, and description...
- Yes, I propose that we continue to show this screen to regular members, but they can't edit the avatar and the text fields are read only.
- The reason is because the room address with a copy link button is shown on that screen
If we instead want to NOT show the edit screen to regular members...
- Then on the main org/space settings screen the text beneath the space name should be the room address instead of "Organization" or "Private/Public/Shared spaces"
- In which case we should probably make the chevron (">") a "copy link" icon instead
Oops, I misspoke... For a space, we indeed show the space address beneath.
So I'm fine with hiding the edit screen if a regular member...
So a member without any permissions would see this: https://www.figma.com/design/kcnHxunG1LDWXsJhaNuiHz/ER-145--Spaces-on-Element-X?node-id=5759-40846&t=WjXww7YfzsACUGa8-4
So a member without any permissions would see this
Ok, this makes sense to me as an end result.
@americanrefugee Just in case to clarify this:
Yes, I propose that we continue to show this screen to regular members, but they can't edit the avatar and the text fields are read only.
What did you mean by "continue to show"? I am asking because currently for rooms you do not see this screen if you do not have any of the avatar/name/topic editing permissions. On iOS you do not have the Edit button at the top, and on Android you are missing the 3-dot menu at the top where you have the Edit menu item.
To recap:
In the end we decided to
- Not show the settings to users without any permissions
- Add the address in the Space Screen (tapping over it should copy it)
In the screen space settings
- This screen is accessible for who has at least one permission
- The first row, the edit row is only tappable if at least one of the three edit permissions (edit avatar, name or topic) is available, otherwise its there but not tappable
- The other rows will be shown only if the permissions for them is available (for example roles and permission is only shown for users that can edit them)
@mxandreas Is managing space members access for a room or a subspace part of this story? Or is it a separate story?
https://www.figma.com/design/kcnHxunG1LDWXsJhaNuiHz/ER-145--Spaces-on-Element-X?node-id=6166-23408&m=dev
Is managing space members access for a room or a subspace part of this story? Or is it a separate story?
I am not fully sure what you mean by "space members access for a room" but there is a dedicated story https://github.com/element-hq/element-meta/issues/2998 for changing the room access to "space members".