mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-29 10:22:42 +00:00
The TTY got the fast cold start in #1109; every JSON surface still waited for the full parse because a payload has no way to say "partial". Add one. - `hydration: { complete, indexedFiles, totalFiles }` on the menubar payload, add-only and emitted ONLY by the resident serve child (which polls, and therefore converges). Absence keeps meaning "complete", so every one-shot output is byte-identical and no script can be handed partial data. - serve: a cold child answers `status --format menubar-json` from the files the requested period can show (same mtime floor as the TUI) and schedules the unfloored fill behind it. Partial answers are never memoized; requests waiting behind the fill are heartbeated by id so the client's no-output watchdog stays armed. - `stale` keeps its own meaning: a first paint is fresh but partial, so it reports through `hydration` and never sets `stale`. - desktop app and web dash render an honest "indexing history · N/M files" notice while `complete` is false. |
||
|---|---|---|
| .. | ||
| budget.ts | ||
| build.ts | ||
| format.test.ts | ||
| format.ts | ||
| ipc.ts | ||
| modelSeries.ts | ||
| motion.test.tsx | ||
| motion.ts | ||
| pageVisibility.test.ts | ||
| pageVisibility.ts | ||
| period.test.ts | ||
| period.ts | ||
| platform.ts | ||
| providers.ts | ||
| refreshCadence.test.ts | ||
| refreshCadence.tsx | ||
| testMatchMedia.ts | ||
| toast.ts | ||
| types.ts | ||