perf: web dashboard period prefetch + menubar serve client - #959
Merged
Conversation
Two more surfaces adopt the resident-serve pattern the desktop app got: - Web dashboard: every period tab is prefetched sequentially right after startup, so the first click on 7d/30d/Month answers from the payload cache instead of paying a full parse; stale-while-revalidate rebuilds behind a served payload past 75% of the TTL so expiry never lands its multi-second parse on a user's click. Lifetime prefetches last. - Menubar: ServeConnection (Swift actor) holds one codeburn serve --stdio child; status payload fetches route through it once warm, with the same contract as the app client — cold start and every failure keep the spawn path, three child deaths disable serve for the run, requests time out by killing the child, app termination shuts it down, and a pre-serve CLI (0.9.19) simply dies into permanent spawn fallback, so mixed-version installs degrade gracefully. swift build clean, swift test 156/156, CLI tsc clean; verified live with both the Electron app's and the menubar's serve children resident and answering.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes the resident-serve adoption across surfaces after the desktop app (#956/#957): the web dashboard prefetches every period tab at startup and revalidates stale payloads behind the serve instead of on the click; the macOS menubar holds its own codeburn serve --stdio child through a new ServeConnection actor with the same warm-only routing, spawn fallback, death budget, and shutdown semantics as the app client. A 0.9.19 CLI has no serve command, so mixed-version installs degrade to today's spawn behavior automatically.
swift test 156/156, tsc clean both sides, verified live: both the app's and the menubar's serve children resident and answering on this machine.