element-hq / element-hq/element-web
Room List: [Regression] "Find in Page" no longer works for the full room list
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
### Steps to reproduce
With the previous room list design, it was possible to use a browser's **Find in Page** feature (e.g. in Firefox via `Ctrl/Cmd+F`) to quickly locate a room or person and jump directly to that channel. This was especially useful when navigating a workspace with a large number of active rooms.
With the new room list design, this no longer works. When using **Find in Page** in Firefox, only the rooms currently visible in the room list are searchable. Rooms outside the visible viewport cannot be found, making it much harder to quickly navigate to less recently used channels.
I suspect this may be related to the room list using a virtualized viewport, where only the currently visible items are present in the DOM. If so, is there a way to preserve compatibility with the browser's built-in **Find in Page** functionality while still benefiting from virtualization?
Steps:
* Join a huge number of rooms
* Press `Ctrl/Cmd+F` to open the browser's find bar
* Enter a room name that is currently not visible
### Outcome
#### What did you expect?
The browser should find the room and a click allows me to switch to that room
#### What happened instead?
The browser cannot find the room and I have to manually scroll through the room list to find the expected room
### Operating system
macOS 26.6.2
### Browser information
Firefox 156
### URL for webapp
https://chat.mozilla.org
### Application version
1.12.26
### Homeserver
https://chat.mozilla.org
### Will you send logs?
No
Contributor guide
Research direction
Start by reproducing the issue in Firefox with a workspace containing many rooms, then inspect the new room-list virtualization and which rooms are present in the DOM. Compare browser Find in Page behavior for visible and off-screen rooms. Done means an off-screen room can be found and selected without losing the benefits of virtualization.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100