mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-11-04 21:37:45 +00:00
A group whose support chats need attention - for a member, unread replies in their own "Chat with admins"; for a moderator, members waiting on them - is flagged on its chat list row, but the unread filter did not list it. chatStats.unreadCount is filled by a query scoped to the main conversation (group_scope_tag IS NULL), so, except for a pending member's own support chat, unreadTag cannot see support scopes at all. Match on Chat.hasUnread, which adds supportUnreadCount to unreadTag, gated on the chat not being muted to "mute all" - so a support chat waiting in a fully muted group does not put it in the filter, matching what the profile's unread count does with that group. Marking such a chat unread by hand still lists it, through unreadTag's unreadChat branch. On iOS, updateChatInfo changes the chat in place, so it now publishes when hasUnread changes, for the filter to update. supportUnreadCount is the same value the row's flag shows. For a moderator it is membersRequireAttention, which counts members: pending approval or review, or with unread messages nobody has answered or unread mentions. Reading does not clear a pending member - approving (once nothing else in their support chat needs attention), rejecting, or the member leaving does - so the group stays listed until then. Mentions-only chats still count support chats, on the view that mentions-only is a statement about group chatter, and support chats (the user's own line to the admins, or members waiting on a moderator) are not chatter.