diff --git a/backend/app/routers/sessions.py b/backend/app/routers/sessions.py index c463916..2ae8b5a 100644 --- a/backend/app/routers/sessions.py +++ b/backend/app/routers/sessions.py @@ -153,6 +153,7 @@ async def timer_action( "session_id": session.id, "block_id": event.block_id, "current_block_id": session.current_block_id, + "is_active": session.is_active, } await manager.broadcast(session.child_id, ws_payload) diff --git a/frontend/src/stores/schedule.js b/frontend/src/stores/schedule.js index 0b45669..838de7b 100644 --- a/frontend/src/stores/schedule.js +++ b/frontend/src/stores/schedule.js @@ -31,6 +31,11 @@ export const useScheduleStore = defineStore('schedule', () => { applySnapshot(event) return } + // Session ended + if (event.is_active === false) { + session.value = null + return + } // Timer events update session state if (event.current_block_id !== undefined && session.value) { session.value.current_block_id = event.current_block_id