project-robius / project-robius/robrix

Add side pane view that shows the list of room members (and their power levels)

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

Nobody has claimed this yet.

good first issue help wanted
Dominant language
Rust
Stars
487
Forks
68
Avg merge
1h 22m
Merged PRs (30d)
54

Description

This view should be called the RoomMemberPane, and can be modeled after (i.e., directly copied from) the existing UserProfileSlidingPane. All you need to do is duplicate that and then replace the existing contents of that pane with a very simple PortalList (or FlatList) of items, in which each item is a RoomMember.

By default, just the avatar and user display name should be shown, but for members with non-default power levels, either Admin or Moderator should be shown beside their name. Here's an example of what Element shows:

image

(Note that we don't need to support the "Invite to this room" button just yet, that can be saved for a future issue/milestone that covers administrative features).

The Room Member pane could be activated by clicking the room name at the top of the RoomScreen (timeline) view, which is currently actually the StackNavigation header.

Upon clicking/tapping on a user in the list of room members, that user's profile should be shown. This is already supported directly by the existing Avatar widget in Robrix, so you just need to add an event handler that performs the same action (showing a user profile pane) upon any part of the PortalList item area (the list entry) that corresponds to a given user.

It's quite simple to obtain the list of users for a room; use the Room::members() function.

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 with the existing UserProfileSlidingPane and the RoomScreen timeline view, especially the StackNavigation header that displays the room name. Use Room::members() to populate the RoomMemberPane list and follow the existing Avatar profile-opening behavior for item clicks. Done means the room name opens the pane, members show avatars, names, and applicable roles, and selecting a member opens their profile.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.