- Shipped
- August 25, 2026 at 8:01 PM UTC
- Author
- Kamo
- Commit
- 29aafe8
Social sessions were excluded from the unread membership query by a hand-written type list, so a social conversation could never show a count anywhere. They are MediaSessions with a read pointer and a mark-read endpoint already — only the list left them out. The ownership ambiguity rule moves to a pure helper and gains its second case: a social visitor has no member record, so their messages are stored under the connection owner, and for that member 'not written by me' matched nothing. Each entry now declares its sessionType. The snapshot spans three surfaces that belong on three different indicators, and the client was inferring which from whichever windows happened to be open.