matrix-org / matrix-org/thirdroom

Third Room UI

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

Nobody has claimed this yet.

Dominant language
C
Stars
647
Forks
70
PR merge metrics
No merged PRs in 30d

Description

Third Room is a custom Matrix client built around 3D worlds. The UI is built with React and it uses the Hydrogen Matrix SDK for interacting with Matrix and rendering the chat timelines efficiently.

Here are the high level client UI features and todo items:

- [ ] [Landing Page](https://github.com/matrix-org/thirdroom/issues/120)
- [x] Login Page
- [x] Temporary username/password implementation
- [x] [Final implementation blocked on OpenID Connect implementation](https://github.com/matrix-org/thirdroom/issues/121)
- [x] Status Bar
- [x] Overlay open / close tip
- [x] Active world name
- [x] [Notifications indicator](https://github.com/matrix-org/thirdroom/issues/130)
- [ ] Sidebar
- [x] Fix showing avatars by [adding proper COEP header](https://web.dev/cross-origin-isolation-guide/)
- [x] Show unread indicator
- [x] Differentiate between world, room, DM, and group message icons?
- [x] Context Menu
- [x] World
- [x] Room
- [x] User (DM)
- [x] World participant list (see who is in a world currently)
- [ ] User presence (see if they are online or not)
- [x] Send room / world / DM invite
- [x] Home Tab
- [x] Basic implementation showing all rooms
- [x] Finalize design with details on which worlds / rooms / dms to show
- [x] Worlds Tab
- [x] Filter worlds only
- [x] Rooms Tab
- [x] Filter rooms only
- [x] Chat Tab
- [x] Filter dms only
- [ ] Settings Tab
- [ ] Figure out if this is the best place for this menu item or if it should be swapped with something else
- [ ] VoIP controls
- [x] Mute mic
- [ ] Mute incoming audio
- [x] Leave world
- [ ] Settings
- [ ] Pick microphone
- [ ] Pick output
- [ ] Active world info
- [x] World avatar
- [x] World name
- [ ] World info (needs design)
- [x] Members list
- [ ] Participants list (who is online)
- [x] Topic
- [ ] Scene info
- [x] Spaces bar
- [x] Disable for now
- [x] In Room Controls
- [x] Mute microphone
- [x] Mute incoming audio
- [x] Leave room
- [ ] In World Chat
- [x] [Fade out messages when not open](https://github.com/matrix-org/thirdroom/issues/129)
- [x] Fix loading message on scroll
- [ ] Match designs for open / closed state
- [x] Finalize message bubble design
- [ ] Overlay Chat
- [x] Fix loading message on scroll
- [x] Invite to room
- [ ] Room info
- [ ] Create world screen
- [x] Allow for picking scene file
- [ ] Generate thumbnails for scene
- [ ] Create room screen
- [ ] Standard UI for creating a Matrix room
- [x] User profile screen
- [x] Set display name
- [x] Set avatar
- [x] Set 3D avatar

Contributor guide

Open the contributing guide

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

No source files, tests, or entry points are named. Start by reviewing the unchecked UI items and their linked issues, then confirm which item has an agreed design and scope before changing anything. Done would require completing the selected feature and verifying its UI behavior, but the issue does not define a single completion target.

Written by the indexing model from the issue text.

Assessment

Tech stack
react
Domain
frontend, game-dev, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.