From 88a2518cfa960d5858da5f53a3bd20cdff843e69 Mon Sep 17 00:00:00 2001 From: Ty Balascio Date: Fri, 25 Sep 2026 07:04:55 -0700 Subject: [PATCH] fix(fe): read capture-session store directly (no $ prefix on the object) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `createCaptureSession()` returns {state: Store, ...}; Svelte's $ prefix calls .subscribe on the object, not the store, so $captureSession.state threw 'subscribe is not a function' on App mount → black page. Reference the store directly (auto-subscribes): captureSession.state / session.state / session.lineup(). Verified: tsc clean, build green, 150/150 tests, and the live app renders in Chromium. --- frontend/src/App.svelte | 2 +- frontend/src/capture/PhotosReady.svelte | 4 ++-- frontend/src/capture/SessionCapture.svelte | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index f8a9018..3af4a68 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -98,7 +98,7 @@ const current = $slab; try { if (!current) { - const s = $captureSession.state; + const s = captureSession.state; const results = s.capture.k === 'measure' ? s.capture.results : null; const d = results ? draft({ diff --git a/frontend/src/capture/PhotosReady.svelte b/frontend/src/capture/PhotosReady.svelte index b04d86a..c6ee47c 100644 --- a/frontend/src/capture/PhotosReady.svelte +++ b/frontend/src/capture/PhotosReady.svelte @@ -7,8 +7,8 @@ export let session: CaptureSession; const dispatch = createEventDispatcher<{ continue: void }>(); - $: state = $session.state; - $: items = $session.lineup(); + $: state = session.state; + $: items = session.lineup(); $: measure = state.capture.k === 'measure' ? state.capture : null; $: results = measure?.results ?? null; diff --git a/frontend/src/capture/SessionCapture.svelte b/frontend/src/capture/SessionCapture.svelte index 59958f4..e39b031 100644 --- a/frontend/src/capture/SessionCapture.svelte +++ b/frontend/src/capture/SessionCapture.svelte @@ -6,7 +6,7 @@ export let session: CaptureSession; const dispatch = createEventDispatcher<{ 'photos-ready': void }>(); - $: state = $session.state; + $: state = session.state; $: cap = state.capture; $: kind = cap.k;