18f6703c6b
- Attempt reconnection on 'disconnected' | 'failed' | 'closed' states (BaseWebRTC) - Relax gating: rejoin when roomId exists and any of isPeerDisconnected, isSocketDisconnected, or socketId changed - Auto re-join room on socket 'connect' if lastJoinedSocketId differs or not in room; send initiator-online for initiators - Track lastJoinedSocketId after successful join and reset isInRoom when socketId changes to bypass early-return - Update flows to document mobile background/foreground reconnection and socketId-based rejoin