- Ya
- 27 Agosti 2026, 01:07 UTC
- Mwandishi
- kamo
- Ahadi ya
- 022ff68
perSender is what puts a number on a person — their member-directory row, their hex head — so it has to mean "unread messages from them". It was summing every session in the snapshot, support tickets included, which put an unclearable "6" on the member three open tickets happened to name: real messages, but in three other conversations, which live on the support surface and already have a badge there. Direct conversations only now. MediaService has declared each session's surface since the social-unread change, so this reads the field that is already on the wire; a session with no declared sessionType still counts as a direct chat, the same rule splitBySurface follows, so a mixed deploy degrades to what shipped before rather than to a badge that vanishes. MediaService now also decoders to name a sender for those sessions (kamo-shared-library a9ba6325), which is the fix at the source and the one mobile needs — it takes the server's perSender directly. This is the same rule stated where the web badge is actually computed, so no frame can reintroduce it.