project-robius / project-robius/robrix
Make invited room behavior prettier and sleeker
Open
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
Although the room InviteScreen is fully functional and works properly, there are still some ways we could make it a bit nicer looking and sleeker.
- Upon showing the InviteScreen (in
set_displayed_invite()), change the join button icon to an "enter room" icon, and set the button as enabled and the button text to be "Join room". - Once the join button has been clicked, change the icon to a loading spinner and the text to "Joining...".
- This will require a special button type that can show other non-icon content. Alternatively, we could hide the button temporarily and just show a LoadingSpinner with a background frame that looks like a disabled button... that might be easier.
- Once the
JoinRoomResultAction::Joinedhas been received, change the button icon to a green checkmark: " ✅ Joined!" - Close rooms when they are successfully Left.
- We can now do this because navigation between rooms has recently been implemented. See how we achieve this to close a tombstoned room when its successor has been joined: https://github.com/project-robius/robrix/blob/d7117c3414f7472e8a5d618b7e063ec8f6d7f1f8/src/app.rs#L536-L593
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 with the InviteScreen flow at set_displayed_invite() and the handling of JoinRoomResultAction::Joined. Read src/app.rs around lines 536-593 for the existing room-closing behavior after navigation. Done means the invite button shows the requested enabled, loading, and joined states, and successfully left rooms close as specified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100