Create tickets

This commit is contained in:
Hugh Kaznowski
2026-09-06 13:00:21 +01:00
parent 4158c63086
commit a03ec1fb93
9 changed files with 408 additions and 0 deletions
@@ -0,0 +1,42 @@
# 058 — Newly auto-declared params don't appear in the UI until a manual refresh
## Summary
`auto_declare_params` / `auto_declare_log_stream_params` (`src/engine.rs:383`,
`:451`) can add new param declarations on any ingested line, but the
frontend only ever fetches the param list once, on mount
(`webapp/src/App.tsx:278-284`, `fetchParamDeclarations().then(setParams)`).
The main poll loop (`App.tsx:300-350`, interval from
`webapp/src/lib/polling.ts`) refetches timeline entries and logs every
tick but never re-fetches param declarations — the only other place
`setParams` is called is the `onDeclared` callback fired by a user's own
manual edit in `Params.tsx`. So a param that gets auto-declared mid-run
from freshly ingested lines is invisible in the Params panel until the
page is reloaded.
There is no push infrastructure (SSE/websocket) anywhere in the
codebase; all live-refresh today is plain polling.
## Scope
- Add a periodic (or piggybacked on the existing poll loop) refetch of
param declarations in `App.tsx`, e.g. call `fetchParamDeclarations()`
alongside the existing timeline/log poll in the loop at
`App.tsx:300-350`, or on its own lighter-weight interval if refetching
every tick is wasteful.
- Only update state when the declaration list actually changed, to avoid
needlessly re-rendering `Params.tsx` on every poll tick.
- Out of scope: introducing SSE/websocket push infrastructure — polling
is consistent with how the rest of the app already refreshes.
## Acceptance criteria
- Ingesting new lines that trigger auto-declaration of a previously
unseen param causes that param to appear in the Params UI within one
poll interval, without a page reload.
- Existing manual param declaration/edit flows (`Params.tsx`'s
`onDeclared`) are unaffected.
## Depends on
None.