refactor(log-viewer): deliver the log to every view through context only - #945
Merged
lcottercertinia merged 3 commits intoAug 19, 2026
Merged
Conversation
…idget.border `--lana-surface-border` ended its fallback chain in `transparent`, so on a theme that sets neither `widget.border` nor `sideBar.border` the token was defined but invisible, and the consumer fallbacks behind it could no longer fire. The minimap frame, the timeline label leader lines, the gauge and sparkline tracks, the grid header rule and the find widget outline all lost their line. End the chain in `panel-border`, which every theme registers, and in a literal for a host outside VS Code.
`.claude/rules/log-viewer.md` had grown rationale prose around each rule, so the rule itself was hard to find. Rewrite it to 48 lines from 73, keeping every rule, and add the one the token fix earns: a fallback chain must not end in `transparent`. Record the comment rule in `AGENTS.md`: only what the code cannot say, one short line, only where needed.
The log reached the views by two paths: the `logContext` provider and a `log:loaded` event that five components listened to through `LogLoadedController`. A new log is a new store, so the context alone is enough to rebuild every consumer. Retire the controller and the event, and let the five components consume the store. Two `currentLogStore()` wrappers are orphaned by the move and go with it.
lcottercertinia
approved these changes
Aug 19, 2026
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.
The log reached the views by two paths: the
logContextprovider and alog:loadedevent that five components listened to throughLogLoadedController. Two paths meant two orders, and a component disconnected when the event fired missed that log for good.A new log is a new
LogStore, so the context alone rebuilds every consumer. This retires the second path, and fixes a border token #944 left invisible.Changes
LogLoadedControllerand thelog:loadedevent — the context is the one delivery path.HotPath,HotSpots,CallTreeDetail,DatabaseTimeTreeandLogDiagnosticsViewconsume the store and rebuild on the onelogStoreguard.firstUpdated/connectedCallbackrebuilds that guard already covers, and the twocurrentLogStore()wrappers the move orphans.--lana-surface-borderinpanel-border, nottransparent— a defined-but-invisible token had killed the minimap frame, the timeline label leader lines, the gauge and sparkline tracks, the grid header rule and the find widget outline..claude/rules/log-viewer.mdto the rules, 73 lines to 48, and record the comment rule inAGENTS.md.Test plan
pnpm test— 131 suites, 1771 tests.pnpm lint, then a production build.No CHANGELOG entry: internal, and the borders it restores belong to unreleased work.