Skip to content

fix: name DevTools action-log columns and explain store badges - #651

Merged
StevenTCramer merged 6 commits into
Cramer/2026-10-16/Task_122-124from
task/122-label-the-devtools-action-log-columns-and-explain
Oct 16, 2026
Merged

StevenTCramer merged 6 commits into
Cramer/2026-10-16/Task_122-124from
task/122-label-the-devtools-action-log-columns-and-explain

Conversation

@StevenTCramer

Copy link
Copy Markdown
Collaborator

Summary

Runtime stays its own column. The chip is content-sized inside a fixed track, and an empty runtime still occupies that cell, so a wasm row and a row with no runtime share the same columns. The header and every row read one custom property, --log-columns, so the labels cannot drift from the cells. StoreBadge.Description is the only copy of the pre, live, and prefix explanations. Tooltip appends the store id. The log badge and the Store picker both call it. Follow live uses one sentence, and the select tooltip is that sentence plus a lead-in.

./bin/dev build exited 0: 0 errors, 154 warnings. None are in the files this fix pass edited. They are pre-existing NuGet advisories (NU1510, NU1902, NU1903), TW0007 global-using hints, RS0030 banned Console calls, and nullable warnings in the test app and client integration tests. dotnet fixie timewarp-state-devtools-tests — 98 passed, including ActionLogColumns_Should.NameEveryColumnOnceInTheHeaderTheRowAndTheTemplate, StoreBadge_Should.ExplainPrerenderLiveAndPrefixBadges, StoreBadge_Should.ExplainAnEmptyBadgeAsUntagged, and StoreSelection_Should.ExplainFollowLiveFromOneSentence.

Review round 1 fixes: --log-min-width is the border-box floor of the track minimums, the six column gaps, and the horizontal padding (37.4rem). The header and every row use it, so a sideways scroll keeps the sticky header, the row line, and the selected highlight under Duration and Result. Each row button's name is its cells. aria-describedby points at one shared pre, live, prefix, or untagged sentence, and the store id stays on the title. The Store control's name is the word Store. The badge tooltip and the Follow live sentence sit outside that label. An empty badge says "Untagged: no store id." The column check normalises newlines before it looks for the shared rule.

Test plan

Smoke: From the repo root, dotnet fixie timewarp-state-devtools-tests. Then open the DevTools action log at about 520px and about 980px, in Theme Dark and Theme Light. Scroll the narrow log to the right and down so a row sits under the header. Hover a pre badge, a live badge, a four-character prefix badge, a row with no store id, a long action name, and the Store select, including Follow live and (untagged).

Expect: The log shows Time, Store, Runtime, Action, State, Duration, and Result, aligned with the cells. Each row is one line. wasm / srv is a small chip. A row with no runtime does not shift the later columns. A long action or state name ends in an ellipsis and the tooltip is the full text. State does not run into the duration, and Ok stays in the Result column. Below the column floor the log scrolls sideways, and the header background, the row line, and the selected highlight still cover Duration and Result. The pre tooltip starts with "Prerender: a short-lived server store created while rendering a page's HTML; discarded after the request." The live tooltip starts with "Live: an interactive store." A prefix tooltip starts with "Store id prefix: render kind unknown." Each of those tooltips also contains the store id. A badge with no store id and no render kind says "Untagged: no store id." A row's accessible name is the cells, and the badge sentence is a description. The Store control's accessible name is Store. Follow live says it follows the newest non-prerender store and switches when a newer one appears. The Fixie run is 98 passed.

Kanban task 122
Session: Grok 01a14577-7565-7981-8fe1-6b66fd13a895

StevenTCramer and others added 6 commits October 16, 2026 23:30
The runtime chip was a seventh cell in a six-column grid, so the action,
state, duration, and result slid into the wrong columns and the result
wrapped under the time. A shared template keeps the header and every row
on one line, and the badge words now say what pre, live, and a store-id
prefix mean.

Co-Authored-By: Grok 4.7 <noreply@x.ai>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The header and each row were only as wide as the pane, so the tracks
overflowed and a sideways scroll left Duration and Result without the
sticky background or the row highlight. The badge sentence was also
the row button's accessible name, and an empty badge used the prefix
explanation.

Co-Authored-By: Grok 4.7 <noreply@x.ai>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@StevenTCramer
StevenTCramer merged commit eba6720 into Cramer/2026-10-16/Task_122-124 Oct 16, 2026
1 check passed
@StevenTCramer
StevenTCramer deleted the task/122-label-the-devtools-action-log-columns-and-explain branch October 16, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant