element-meta icon indicating copy to clipboard operation
element-meta copied to clipboard

[Story] Space settings

Open manuroe opened this issue 2 months ago • 8 comments

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

Android / iOS

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
  • 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)

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

manuroe avatar Oct 15 '25 12:10 manuroe

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

Velin92 avatar Oct 29 '25 15:10 Velin92

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?

Velin92 avatar Oct 30 '25 12:10 Velin92

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:

  1. If you are not able to change any of name/avatar/topic you do not have the Edit button/menu on iOS or Android.
  2. 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.

mxandreas avatar Oct 30 '25 12:10 mxandreas

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:

  1. If you are not able to change any of name/avatar/topic you do not have the Edit button/menu on iOS or Android.
  2. 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.

Velin92 avatar Oct 30 '25 12:10 Velin92

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

americanrefugee avatar Oct 30 '25 13:10 americanrefugee

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

americanrefugee avatar Oct 30 '25 13:10 americanrefugee

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.

mxandreas avatar Oct 30 '25 13:10 mxandreas

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)

Velin92 avatar Oct 30 '25 16:10 Velin92

@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

Velin92 avatar Nov 10 '25 16:11 Velin92

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".

mxandreas avatar Nov 11 '25 09:11 mxandreas