Improve UI for threads and conversations in message list
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1k
- Forks
- 348
- Avg merge
- 12h 28m
- Merged PRs (30d)
- 91
Description
Is your feature request related to a problem? Please describe.
Currently, it is hard to distinguish between single emails and conversations with multiple people. The only indication is the "Re:" in the subject, which can be easy to miss. It's also difficult to distinguish between an unread thread that has a lot of activity vs just one reply.
Describe the solution you'd like
@jancborchardt and I tried to improve this by showing more than one person in the sender list, and adding a count of how many messages in that thread are unread. Gmail, Outlook, Protonmail and Apple Mail all do some form of indicating these.

Some points to note:
- Sender's names are unique and only the 2 most recent senders' names are shown
For eg.
Alice sent an email, Bob replied --> Alice and Bob
Charlie replied --> Bob, Charlie & 1 more
Alice replied --> Charlie, Alice & 1 more
Dan replied --> Alice, Dan & 2 more - Only the most recent sender's avatar is shown
- Unread counter bubble does not need to be shown in case of single emails and threads where all messages have been read
- In case of email threads it shows only the number of unread messages in that thread
Describe alternatives you've considered
No response
Additional context
- Making the timestamp shorter will make this look much better, as @GretaD proposed in https://github.com/nextcloud/nextcloud-vue/issues/2089
- Counter bubble is using
--color-primary-lightfor bg and--color-primaryfor text
Contributor guide
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 message list UI and review the design image in this issue, then check the related nextcloud-vue issue #2089 for timestamp guidance. Trace how sender names, avatars, thread state, and unread counts are currently rendered. Done means multi-person threads show the specified recent senders, the latest avatar, and an unread count only when appropriate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100