Create tickets
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user