Hi LiveKit team,
We’re seeing rooms that are successfully deleted but never finalized: no room_finished webhook is emitted, and the session stays open indefinitely in Cloud dashboard analytics. We’ve hit this on ~12 interviews recently. One fully documented example below.
Project: taptalentmain-prtncqhm (dashboard project “TapTalent_Main”)
Example room
- Room name:
0238f75f-b0cb-42dc-b756-200a18b17fe4_1788095328218 - Room SID:
RM_cBBpLC2tgKoD - Session ID (dashboard):
RM_cBBpLC2tgKoD - Created: 2026-08-30 13:08:48 UTC · Deleted: 2026-08-30 ~13:52:25 UTC (server-side
DeleteRoomissued by our agent viadelete_room_on_close, while 3 participants were connected)
What we observed
- All three
participant_leftwebhooks (agent, candidate, avatar participant) were delivered to our endpoint at 13:52:25–26 UTC, each withdisconnectReason: ROOM_DELETED— so the deletion itself completed and webhook delivery to our endpoint was working at that exact moment. - No
room_finishedwas ever delivered — verified in our webhook receiver’s logs, which record every incoming webhook before any filtering. Checked continuously for 6+ hours after deletion. ListParticipants/ListRoomsconfirm the room no longer exists on the SFU.- The Cloud dashboard session for this room never finalized: END TIME is empty and DURATION kept counting for 2+ hours after deletion (141 min at last check), while “total WebRTC participant minutes” correctly stopped at 87 and the participant timeline sits at zero.
Controls we ran (why we believe this is on the LiveKit side)
- The same webhook endpoint received
room_finishedfor 20 other rooms the same day (14:00–20:00 IST window), so our receiver, URL, and signature validation are fine. - Several of those successfully-finalized rooms were served by the same self-hosted agent workers, same code path, same
delete_room_on_closeflow — so it isn’t correlated with our agent type or how the room is closed. - The failure is per-room: for affected rooms,
participant_leftarrives butroom_finishednever does, and in every case the dashboard session is also stuck open. The missing webhook and the unfinalised session appear to be the same internal event.
Other affected rooms (same signature — participant_left delivered, no room_finished, session stuck open):
- RM_cBBpLC2tgKoD
- RM_GhcPXihVe2XK
- RM_vbKJ2jBye3JV
- RM_iWBWrqkzHZGp
- RM_cBBpLC2tgKoD
- RM_J5XAuGQDvkfk
- RM_DUJgmqNmbp2C
Impact: our post-interview pipeline (duration recording, scoring trigger) keys on room_finished, so each occurrence requires manual intervention. We wanted to report it since the stuck sessions suggest an internal finalization failure rather than webhook delivery loss.
Questions
- Can you confirm whether
room_finishedwas generated internally forRM_cBBpLC2tgKoDand if so where delivery failed? - Is there a known issue finalizing rooms deleted server-side while participants are still connected?
- Can the stuck session records be closed retroactively?
Happy to provide webhook receiver logs, exact delivery timestamps for the other 7 rooms, or anything else useful.
Thanks,
Vishal Maurya