Logout stopped the client with the call still joined; the m.call.member state (expires 4 h) stayed and everyone saw the user 'in call'. The logout dialog now sends HangupCall and waits (≤4 s) until our own membership is gone from the room's RTC session before stopping the client. Verified on the local LiveKit stack: membership count 1 → 0, logout completes in ~2 s. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA