Ending a meeting really ends it
When a host ends a meeting for everyone, participants now reliably see that it has ended. end-meeting wrote its "ended by host" marker (an audit row) last…
Corrección · Inteligencia ·
When a host ends a meeting for everyone, participants now reliably see that it has ended. end-meeting wrote its "ended by host" marker (an audit row) last, after the RealtimeKit teardown and ring cancellation. A participant heartbeat in that 3-6 s gap saw an ended meeting with no host marker, treated it as an auto-end and re-opened it as live (meeting-health join-068/069/070). • New video_meetings.ended_reason column, set to 'host' in the same UPDATE as status='ended'. A BEFORE UPDATE trigger refuses host-ended -> live and clears the marker on any other exit from 'ended' (host reopen / recurring reset to 'scheduled'). • end-meeting audit row is written right after the flip, not at the end. • heartbeat: refuses (410, result "ended", meetingStatus) a host-ended or cancelled meeting before writing any row, re-checks after its write, and its auto-end repair is conditional on ended_reason IS NULL at write time. Participant revive is guarded on the row state it read, so a bulk 'left'/'explicit' from end-meeting is never undone. System-ended meetings are still repaired by a connected participant's heartbeat. • join-meeting: a non-host cannot revive a meeting the host ended within the reopen grace window (including recurring meetings). meeting-manager keeps verify_jwt = false (public invite endpoints); identity still comes from the verified token in code. Server-only change.
octubre de 2026 · Lanzamientos y mejoras
Mo answers that take several steps now cost less · Migration pages now show Connect only when the connection is ready in your