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

[Story] Browse, manager and invite users to a space

Open Velin92 opened this issue 2 months ago • 1 comments

Description

Story

As a user that has joined the space I want to browse the members list of the space so that I can view their profiles, invite new members or manage them if I have the right permissions.

Acceptance criteria

The user needs to access the view through the more button of the space, when is in the joined state. Then these may vary according to the permissions of the user:

  • The user can browse and see all the members of the space and their profile
  • The user can invite other user to the space
  • They can view their profile
  • Remove/Ban them from the space
  • See the list of banned members

Designs

iOS Android

Velin92 avatar Oct 16 '25 08:10 Velin92

Deleted the "change their role" from the acceptance criteria, since it's an additional feature that will also impact rooms, that doesn't need to be included with just viewing and managing the members list.

Velin92 avatar Oct 30 '25 12:10 Velin92

I should report here the issues I found when testing it 2 weeks ago:

iOS

  • [x] Not reactive on power level change. It is on ban status. Fixed by https://github.com/element-hq/element-x-ios/pull/4707.

Android

  • [x] Members still listed as banned after unbanning them (tested on an invitee). Trying to unban them again leads to an error
  • [x] Should display the profile bottom sheet when tapping of an unbanned user instead of displaying a confirmation dialog to unban them

manuroe avatar Nov 14 '25 14:11 manuroe

One issue left on Android discussed with @ganfra :

  • [x] Starting from the "Banned" tab, if you open and leave the profile screen, you come back to the "Members" tab, not the "Banned" tab as expected. The user loses the navigation context.

manuroe avatar Nov 19 '25 14:11 manuroe

I did a little bit of exploratory testing on inviting/managing space members. Here are the observations:

  1. The push notification tells you that you have been invited to a room. I think it would be good if we could be more specific and say explicitly if you are invited to a room or to a space.

  2. iOS does not show a display name for a banned member and the username is in bold. Android shows it in the "usual" way.

Image
  1. Android - searching banned users does not seem to work.

mxandreas avatar Nov 19 '25 15:11 mxandreas

Seems like 2. is a change from the original designs for a Room (iOS / Android) and the new ones for Space (iOS / Android).

FWIW, when we implemented the designs for a room it was done to reduce the impact of potentially offensive profiles.

pixlwave avatar Nov 19 '25 16:11 pixlwave

FWIW, when we implemented the designs for a room it was done to reduce the impact of potentially offensive profiles.

This actually makes sense but it looks like Android never implemented this "redaction". We should do the same for both spaces and rooms, as well as on both platforms. I prefer the "redacted" version with just MXID - because you usually only ban when there's a good reason and then it is better to optimize for potentially offensive cases. @americanrefugee your thoughts?

mxandreas avatar Nov 19 '25 16:11 mxandreas

Updated designs...

Member list

Member profile preview

Banned list

Banned profile preview

americanrefugee avatar Nov 19 '25 16:11 americanrefugee

@americanrefugee Did anything actually change for non-banned member list/profile view? @ganfra Could you please confirm if searching for banned members works for you or not? @americanrefugee What shall we do with the push notification copy? Should we generalize it, too?

mxandreas avatar Nov 20 '25 08:11 mxandreas

@americanrefugee Did anything actually change for non-banned member list/profile view?

No. I only changed the banned user list / profile.

@americanrefugee What shall we do with the push notification copy? Should we generalize it, too?

What do you mean by "push" notification? This?

americanrefugee avatar Nov 20 '25 11:11 americanrefugee

Capturing the decisions from the sync. with @americanrefugee @ganfra @Velin92 and @pixlwave

  1. iOS member list visuals - we will use the gray background, the rest will stay as is in the app.
  2. iOS & Android - for banned members we will show avatar (because the avatar for banned members is already redacted) and MXID. This will be the same for both rooms and spaces.
  3. Android - the search for members will work as on iOS. Meaning that if you're on members tab, it will search only members and if you're on banned members tab, it will search only banned.

mxandreas avatar Nov 20 '25 21:11 mxandreas

Capturing the decisions from the sync. with @americanrefugee @ganfra @Velin92 and @pixlwave

  1. iOS member list visuals - we will use the gray background, the rest will stay as is in the app.
  2. iOS & Android - for banned members we will show avatar (because the avatar for banned members is already redacted) and MXID. This will be the same for both rooms and spaces.
  3. Android - the search for members will work as on iOS. Meaning that if you're on members tab, it will search only members and if you're on banned members tab, it will search only banned.

Small recap of what we are doing about it, and what was agreed in the room.

  • UI Redesign to march the details screen specifically more on iOS
  • Some copies have changed and updated (# Banned, # Invited)
  • The toggle for banned members will only appear if
    • The user has ban permissions
    • The room has at least 1 banned member
    • if the toggle disappears for any reason (like the last member being unbanned) we also switch to the normal members list)
  • The search will filter depending on the toggle selection (if present)
  • The search should also update the count in the headers to reflect the current filtering
  • The banned members list will show the avatar, but only the placeholder one, and the mxid only.

Velin92 avatar Nov 24 '25 09:11 Velin92

I did a quick round of testing with latest nightlies:

  1. The push notification still says "You have been invited to room". The plan was to check if we can make it specific (e.g. you have been invited to room/space depending on if it is a room).
  2. Android still shows the display name of the banned user (both in the banned list as well as at the bottom sheet).

mxandreas avatar Nov 27 '25 10:11 mxandreas

I did a quick round of testing with latest nightlies:

  1. The push notification still says "You have been invited to room". The plan was to check if we can make it specific (e.g. you have been invited to room/space depending on if it is a room).
  2. Android still shows the display name of the banned user (both in the banned list as well as at the bottom sheet).

As of right now the NotificationItem struct coming from the SDK that contains info about the notification does not include info about it being a space or not (like a simple boolean isSpace) probably could be easily implemented however

Velin92 avatar Nov 27 '25 12:11 Velin92

https://github.com/matrix-org/matrix-rust-sdk/pull/5907

Okay I opened a PR on Rust, this should allow us to distinguish between spaces and rooms from notifications

Velin92 avatar Nov 27 '25 12:11 Velin92

I did a quick round of testing with latest nightlies:

  1. The push notification still says "You have been invited to room". The plan was to check if we can make it specific (e.g. you have been invited to room/space depending on if it is a room).
  2. Android still shows the display name of the banned user (both in the banned list as well as at the bottom sheet).

Number 1 has been fixed in the current RC that we just released for iOS

Velin92 avatar Dec 02 '25 17:12 Velin92

iOS is ready. Android needs the "1.The push notification still says "You have been invited to room"". @ganfra please indicate here when it is available.

manuroe avatar Dec 04 '25 09:12 manuroe

Checked again and the remaining issues have been solved, thus closing this story.

mxandreas avatar Dec 05 '25 09:12 mxandreas