-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Labels
Description
Steps to reproduce
- Create a new whiteboard
- Start recording; draw a bit
- Close the whiteboard tab while recording
Actual
- Recording process (headless Chromium) keeps running on server
- Recording entry persists; reopening shows recording in progress
Expected
- When the recorder leaves (last socket for user), recording stops and cleans up
- Recording state cleared for room/user
Impact
- Orphaned Chromium processes; resource leak
- User stuck in recording until manual stop
Suspected cause
RoomLifecycleService.onDisconnectingends presentation but does not handle recordings- Only explicit
stop-recordingstops recording; no unload/leave hook - Sweeper only clears dead nodes, not normal disconnect
tests/integration/multinode-redis.spec.mjscurrently assumes recordings persist across disconnect
Possible fix
- On disconnecting, if recorder has no other sockets in room, trigger recording stop (local or forwarded) and remove entry
- Update tests to reflect expected stop-on-leave behavior