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)

Open
#656 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
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:

  1. Show a footer, similar to the TombstoneFooter in the RoomInputBar, 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.
  2. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.