diff options
| author | Solstice <solstice@local> | 2026-06-09 01:14:04 -0700 |
|---|---|---|
| committer | Solstice <solstice@local> | 2026-06-09 01:14:04 -0700 |
| commit | fc7cc972e6171896ef4e648f50951902a5b478fb (patch) | |
| tree | 3bd5a059e10ff2aa6926625c03b8b67d29d53d25 /src/hooks | |
| parent | 887c0bc6f968f80ac90220f24bb578438e05708a (diff) | |
fix: resolve final deadlock and startup sync gap
Diffstat (limited to 'src/hooks')
| -rw-r--r-- | src/hooks/useTimerEvents.ts | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/hooks/useTimerEvents.ts b/src/hooks/useTimerEvents.ts index a0d5154..2142273 100644 --- a/src/hooks/useTimerEvents.ts +++ b/src/hooks/useTimerEvents.ts @@ -29,16 +29,6 @@ export function useTimerEvents( let unlisteners: Array<() => void> = []; async function setup() { - // Bootstrap initial state from backend - try { - await syncFromBackend(); - if (cancelled) return; - } catch (e) { - console.error('Failed to get timer status:', e); - } - - if (cancelled) return; - // Register all listeners atomically try { const [unlistenTick, unlistenCompleted, unlistenPhaseChanged] = await Promise.all([ @@ -75,6 +65,12 @@ export function useTimerEvents( } unlisteners = [unlistenTick, unlistenCompleted, unlistenPhaseChanged]; + + try { + await syncFromBackend(); + } catch (e) { + console.error('Failed to get timer status:', e); + } } catch (e) { console.error('Failed to register timer listeners:', e); } |
