User A locks room with User B inside. User B consequently becomes server muted.
User B leaves channel.
Console logs error trying to read locked_by of undefined, and B retains PR chat privileges. The reason for this is because the voiceStatusUpdate handler attempts to find out if we've joined an unlocked room and needs to unmute us, and attempts to do this regardless of whether or not we're actually in a channel or not. Bailing on the null dereference causes the PR-chat permission update (which happens after the unmute check) not to occur.
Repro:
Console logs error trying to read
locked_by
ofundefined
, and B retains PR chat privileges. The reason for this is because thevoiceStatusUpdate
handler attempts to find out if we've joined an unlocked room and needs to unmute us, and attempts to do this regardless of whether or not we're actually in a channel or not. Bailing on the null dereference causes the PR-chat permission update (which happens after the unmute check) not to occur.