fabro/apps/fabro-web/app/lib
Bryan Helmkamp 06ee2fea39
fix(web): measure active stage duration from startedAt
The left sidebar tracked when it first *observed* a running stage
(Date.now() on mount) instead of the stage's actual startedAt, so the
duration reset to 0s on every page load.

Compute elapsed time directly from stage.startedAt via a shared
elapsedSecsSince helper, dropping the runningStartRef tracking. The
stage meta bar already did this correctly but with a duplicated parser;
fold it onto the same helper.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 18:10:31 -04:00
..
api-client.test.ts fix(api): type interview answer submissions 2026-05-08 09:18:35 -07:00
api-client.ts feat(web): add secrets management settings page (#327) 2026-05-20 17:50:09 -04:00
board-events.test.tsx refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
board-events.ts feat(pr): support GitHub pull request associations (#270) 2026-05-16 12:47:27 -04:00
chats-runtime.test.ts feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
chats-runtime.ts feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
chats-script.ts feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
chats-store.test.tsx feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
chats-store.tsx feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
chats-types.ts feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
cross-tab-sse.test.ts fix(web): recover cross-tab SSE coordination after fallback 2026-05-04 15:52:18 -04:00
cross-tab-sse.ts refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
demo-mode.test.tsx feat: wire web UI to real server with demo mode toggle 2026-04-08 04:46:08 -04:00
demo-mode.tsx feat: wire web UI to real server with demo mode toggle 2026-04-08 04:46:08 -04:00
format.ts feat(web): group memory sizes with thousands separators 2026-05-21 11:28:39 -04:00
graph-theme.ts refactor(web): drop light mode, go dark-only 2026-04-20 09:27:08 -04:00
live-events.test.tsx feat(web): build live events page in settings 2026-05-10 14:05:10 -04:00
live-events.ts refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
mutations.ts refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
pierre-diffs-worker.ts fix(web): virtualize run file diffs consistently 2026-05-05 16:41:39 -04:00
queries.ts feat(web): add detail popovers to the run header 2026-05-21 14:10:39 -04:00
query-keys.test.ts feat(web): add Sandbox tab and route to run detail 2026-05-09 21:48:31 -04:00
query-keys.ts feat(web): add detail popovers to the run header 2026-05-21 14:10:39 -04:00
run-actions.test.ts feat(api): unify public run shape 2026-05-10 20:48:55 -04:00
run-actions.ts feat(api): unify public run shape 2026-05-10 20:48:55 -04:00
run-events.test.tsx refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
run-events.ts refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
run-settings-snapshot.ts refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
sandbox-state.ts feat(web): show sandbox status dot on the run overview panel 2026-05-21 11:28:39 -04:00
sse.ts refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
stage-sidebar.test.ts feat(api): expose stage handlers on run stages 2026-05-08 13:36:02 -07:00
stage-sidebar.ts feat(web): add specialized stage renderers for non-agent handlers 2026-05-09 18:35:19 -04:00
test-utils.tsx feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
time.ts fix(web): measure active stage duration from startedAt 2026-05-21 18:10:31 -04:00
unknown.ts refactor(web): narrow event property reads via shared helpers 2026-04-30 22:45:38 -04:00