Description
openedon Feb 26, 2020
Problem
Public chats count all new messages for the purpose of incrementing the unread counter. That doesn't perform well in actual use since not all messages are created equal and it's impossible to tell how much of those you should really care about. Often that leaves you with spiralling numbers that you stop caring about, that are hard to keep track of. Instead, public chats should differentiate between any unread message and messages that are directed at you like mentions or direct replies.
Implementation
For public chats, instead of counting each unread message against the counter, we place a binary 'yes/no' indicator that shows if this chat received any new messages. If any of those messages mention you or are replies to your message, we increase the counter by their total number.
Opening the chat clears the indicator, at least until we have better way of controlling unread messages, see #6375
The unread messages indicator is a 12px high and wide blue circle that's placed directly at the center of where an unread counter appears (so if the unread counter is positioned 16px from the right screen edge, and is 22px in size, this means that the smaller indicator is placed 21px from the edge - (22-12) / 2 + 16
The same rules apply for the total counter placed in the Tab Bar, public chat messages which aren't mentions or replies, don't increase the total count. If you only have unread messages in public chats, we similarly place a 12px indicator instead of unread badge.
It's placed 12px from the bottom and 18px from the left edge of the chat icon and includes a 2px white border to separate it from the icon. When in doubt check Figma.
Acceptance Criteria
Messages in public chats that aren't mentions or direct replies, don't count against the total unread message count, only mention and direct replies. The unread indicator is implemented according to spec.
Notes
Thanks!