project-robius / project-robius/robrix
Show a clear message/view when the user is no longer a joined member of a room (after leaving or getting kicked/banned)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 487
- Forks
- 68
- Avg merge
- 1h 22m
- Merged PRs (30d)
- 54
Description
If the current user is removed (kicked or banned) from a joined room while that room is currently open in Robrix, then the RoomScreen should be updated to reflect that they are no longer a part of that room. Currently, the room is properly removed from the RoomsList, but the RoomScreen itself does not change, which is likely confusing to the user as it looks like they are still a joined member of the room and able to interact within it.
There are two possible designs we could adopt here:
- Show a footer, similar to the
TombstoneFooterin theRoomInputBar, that displays the status of their membership in that room (whether they were joined or banned) and a button to re-join or knock on that room (if permitted).- This allows the user to still see the content of the room they were removed from, but not to send any messages.
- Hide the entire RoomScreen, and show only the content of the footer, but in a full view similar to the InviteScreen.
- This prevents the user from seeing the room at all once they are kicked/banned.
I think both approaches have their merits, but at this point I am slightly in favor of approach 1.
For determining what message and button text to show, see the related logic in the AddRoomScreen for determining whether a room is in the Left, Kicked, or Banned state for the current user.
Contributor guide
No contributing guide indexed for this repository
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 RoomScreen and RoomsList behavior, then compare the membership-state logic in AddRoomScreen with the TombstoneFooter in RoomInputBar and the full-view pattern in InviteScreen. Decide which proposed design fits, then ensure removed users see an accurate left, kicked, or banned state and cannot interact as joined members, with re-join or knock actions when permitted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100