element-hq / element-hq/element-web
As a user, I'd like the Room Search modal to prioritize unread messages
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
### Your use case
#### What would you like to do?
I would like the Room Search (``) modal to display rooms and DMs with unread messages first, if the user has not yet entered in a search query (and perhaps consider or enable an option for "pinning" these above search results as the user types).
#### Why would you like to do it?
Slack has a similar feature to Room Search, which they call the "Quick Switcher". It enables similar functionality; moving between different "channels" (rooms) or direct or group messages with other users. There's a small but incredibly useful difference, though: if you have unread messages (any message in a DM or things that match your highlight rules in "channels"), those channels and DMs will be listed first in the Quick Switcher.
Implementing this behavior in the Room Search modal would improve visibility of unread messages, highlighting the "important" conversations to navigate to.
#### How would you like to achieve it?
I'm not sure what this question is asking. I'd like to achieve it by having it implemented. While I would be happy to help contribute, my free time is fairly limited, and I cannot commit to adding this functionality in myself at present.
### Have you considered any alternatives?
#301 added functionality to navigate between rooms with unread messages, so one could make the argument that this feature request isn't valid and should be closed. I would contend that while useful, the implementation of this feature request has three advantages over the `alt+ctr+{up,down}` quick-navigation binding:
* It surfaces the information to users in a relevant context: when I'm switching rooms, seeing ones that have unread messages first would add useful information to where I might choose to navigate to next.
* It provides the information in a method with enables the user to choose where to go next, instead of moving up/down the stack as the solution to #301 provided. This provides the opportunity to the user to get to the desired unread room in a quicker manner.
* It allows navigation to unread rooms across spaces. This enables a more fluid workflow for users, especially those who may be in many different rooms across many different spaces.
Because of these reasons, I believe that #301, while useful, ultimately fails to provide the same experience that this would.
### Additional context
This might look something like this:

Contributor guide
Assessment
This issue has not been assessed yet.