A long “most recent” chat list suffers from conflicts between presenting “high frequency, lower importance” and “low frequency, high importance” chats (e.g. important chats can get buried by unimportant stuff).
Here is one mis-picturing take on it https://blogs.gnome.org/tbernard/2018/05/16/banquets-and-barbecues/
But it should be possible to solve the problem decently within a single client.
Possibly simply by adding two separator lines to the chat list that indicate three “importance blocks” (only showing if corresponding chats exist).
- By default: list 1-to-1 chats in the first block, up to 1-to-6 group chats in the middle, and larger group and mailinglist chats in the lower block
- If the overall number of unread chats does not fit on the screen, automatically reduce the first and second blocks to 1/3 of the display height as minimum by default, to always provide an overview over the first three importance blocks (showing the first couple of chats waiting to be read).
- Use more height for the first and second block if available (i.e. other blocks have less unread chats).
- Allow the user to resize the blocks to take more space. (Breaks providing an overview over three blocks without scrolling the listing.)
- Make the first and second (shortened) blocks scrollable independently.
- Allow to move chats manually into another block.
- Allow to switch the sort order of the individual blocks between latest, oldest, alphabetic and custom (fixed).
(A mock-up from the discussion below:)
This should keep important chats visible and reliably sorted without getting disturbed by the activities in other importance blocks. The chats further down the list (not shown without scrolling) will automatically rise up when returning to (reloading) the chat list after reading a chat.