- Shipped
- July 17, 2026 at 11:48 PM UTC
- Author
- Kamo
- Commit
- 57f60f0
A non-ACTIVE **************** member must not appear as, or be targeted as, a live chat participant. Gate every chat path on the shared-lib **************** predicate: - DM create / group find-or-create / add-members reject or drop non-ACTIVE targets before creating MediaSessionMember rows. - Session member/receipt rosters and the chat-list roster hide non-ACTIVE members from other participants (caller's own row always kept). - Missed-message email notices are not sent to non-ACTIVE members. - Support-ticket round-robin filters non-ACTIVE agents out of the eligible pool and the preferred-agent shortcut. - Defense-in-depth: AuthHelper.requireMember and the WebSocket handshake reject a caller who is no longer eligible, so a surviving *** cannot act in chat.