Fix double-click to switch blocks and TV elapsed reset
Double-click fix: - After awaiting the pause, optimistically set current_block_id and isPaused on the store so the UI switches instantly. The subsequent WS start event confirms the state without requiring a second click. TV elapsed reset fix: - The TV's local cache was empty for blocks paused before it connected, so returning to those blocks showed 0 elapsed. - Backend now computes the block's accumulated elapsed from previous start/pause cycles and includes it as block_elapsed_seconds in the 'start' WS event payload. - All clients (Dashboard and TV) now use this authoritative server value instead of relying solely on the local cache. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -236,6 +236,10 @@ async function selectBlock(block) {
|
||||
await scheduleStore.sendTimerAction(scheduleStore.session.id, 'pause', currentId)
|
||||
}
|
||||
|
||||
// Optimistically update so the UI switches immediately without waiting for the WS start event
|
||||
scheduleStore.session.current_block_id = block.id
|
||||
scheduleStore.isPaused = false
|
||||
|
||||
scheduleStore.sendTimerAction(scheduleStore.session.id, 'start', block.id)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user