Skip to content

feat(web): design pass 7: log messages use the full row, Cloudflare lab header matches the route - #1829

Merged
Makisuo merged 3 commits into
ui-pass-6from
ui-pass-7
Oct 25, 2026
Merged

Makisuo merged 3 commits into
ui-pass-6from
ui-pass-7

Conversation

@Makisuo

@Makisuo Makisuo commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Design pass 7, stacked on #1828 (pass 6). Two independent agents checked it blind: one scored a rubric, the other hunted regressions and found none. Icons and data colours are untouched.

Judges

Category Before After
Typography 7.0 7.0
Hierarchy 7.0 7.5
Spacing & density 7.0 7.5
Color & contrast 7.5 7.5
Iconography 7.0 7.0
Consistency & polish 6.5 7.0
Clarity 7.0 7.5
Overall 7.0 7.3

Changes

Logs: messages use the full row. The hover actions group reserved about 104px on every row, plus an invisible placeholder on rows without a trace link, which left a blank band right of the chips (also seen on the #1826 preview). The actions now overlay the row, shown on hover, keyboard focus or the stream's focused row. Messages run out to the chips, and rows can show a second chip. Row height is unchanged. A new scene test pins that a row with a trace links to it and a row without one keeps "Open details".

Before After

Cloudflare: the real route already had its description, time range and Reload. The lab drew only the title, so it now renders the same shared titleRow. viewHref and ClickedView share one search transition, so the tab link and the click cannot drift (review note F1 on #1827).

Before After

Verification

  • bun run --cwd apps/web typecheck passes, and oxlint is clean.
  • Targeted Vitest: 124 tests across logs, Cloudflare and labs.

🤖 Generated with Claude Code

…ab header matches the route

- Log row actions overlay the row (hover, focus, focused row) instead of reserving ~104px, so
  messages run out to the chips; the invisible no-trace placeholder is gone, row height kept.
- The Cloudflare lab renders the route's title row (description, time range, Reload) through a
  shared titleRow; viewHref and ClickedView share one search transition (review note on #1827).
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 23 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 20fc2965-fd02-42e4-97a4-3d1a006a093f
Commits

Reviewing files that changed from the base of the PR and between f10093b and 6702a2c.

Files selected for processing: 6
  • apps/web/src/lab/cloudflare-lab/fixture.ts
  • apps/web/src/lab/cloudflare-lab/view.ts
  • apps/web/src/page/infra-integrations/cloudflare/list/update.ts
  • apps/web/src/page/infra-integrations/cloudflare/list/view.ts
  • apps/web/src/ui/logs/log-row.ts
  • apps/web/src/ui/logs/logs-stream.scene.test.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@maple-review-bot

maple-review-bot Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Maple review

🟢 Confidence 9/10 · safe to merge
Behavior-preserving UI refactor: withView matches the old ClickedView write and min-h-[22px] holds the 37px row the virtualizer measures; only the overlay layout is untested.
no findings · tests partial −1 · risk low

Log row actions move out of the row's flow and overlay the message tail, and the Cloudflare list's title row is extracted so the lab renders the route's header, time controls and Reload. The extractions preserve behavior; safe to merge.

  • rowActions renders inside the message span, absolutely placed, replacing the in-flow block and its no-trace placeholder
  • titleRow is exported from the Cloudflare list view and shared by the lab, which drops its own body header
  • withView unifies viewHref and ClickedView; withoutReads keeps the Reload spin command
What was checked
  • withView produces the same search as the old ClickedView patch ({...search, view, scope: undefined, q: undefined}), read in update.ts:49 and :60
  • Lab reload no longer spins forever: CompleteCloudflareReloadSpin survives withoutReads and list/update.ts:229 clears isReloading
  • Time controls degrade correctly in the lab with window null: timeControls falls back to the preset label (page/kit/time-controls.ts:67)

ec7ba8a · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

@Makisuo Makisuo added the preview:web Deploy a Workers-only PR preview (no ingest/Electric); see docs/pr-previews.md label Oct 25, 2026
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

🍁 Maple PR preview

Note

Preview resources were removed when this pull request closed.

Final commit 6702a2c · View workflow run

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Devin Review

Comment thread apps/web/src/lab/cloudflare-lab/view.ts
@maple-review-bot

maple-review-bot Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Maple review

🟢 Confidence 9/10 · safe to merge
Layout-only changes are unverifiable by tests; the one behavioral change (trace link presence) is pinned by a new scene test.
no findings · tests partial −1 · risk medium

Log rows overlay their hover actions on the message instead of reserving a column, and the Cloudflare lab list now renders the route's extracted titleRow. Both look behavior-preserving and safe to merge.

  • rowActions overlays the message tail, so messages and chips use the full row
  • titleRow is shared by the Cloudflare route and the lab
  • The lab keeps CompleteCloudflareReloadSpin so Reload's spin still ends

Before merge

  • Manual · Re-run the PR preview deploy: the one at this head was skipped, so this visual change has not been rendered anywhere
What was checked
  • rowActions sits in the relative message wrapper (log-row.ts:339), so it reserves no lane width and stops left of the chips
  • withoutReads keeps CompleteCloudflareReloadSpin (fixture.ts:167), whose 600ms message clears isReloading in the list update
  • ClickedView and viewHref both go through withView (update.ts:49), so search, scope and q cannot drift

9a74312 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

@Makisuo

Makisuo commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

Preview check (separate agent, app-pr-1829 with seeded logs): all 6 PASS. Messages run to ~8px from the chips (the #1826 blank band is gone). Hover shows Copy message / Copy link / Open trace / Open details clear of the chips; Open details opens the dialog and Open trace goes to its /traces/<id>. Tab focus and j reveal the focused row's actions. Rows stay 36px idle, hovered and focused. Wrap mode works with actions at the row top. No JS errors. Pre-existing note: with wrap on, the virtual list's height estimate can leave a gap between tall rows.

@Makisuo Makisuo removed the preview:web Deploy a Workers-only PR preview (no ingest/Electric); see docs/pr-previews.md label Oct 25, 2026
@maple-review-bot

maple-review-bot Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Maple review

🟢 Confidence 9/10 · safe to merge
The view-filters.ts change named since the last pass is gone from the diff, and the log-row overlay is pinned by a new scene test; only the lab header has no test.
no findings · tests partial −1 · risk medium

Moves the logs row's hover actions into an overlay inside the message lane, and gives the Cloudflare lab the route's shared titleRow and one view-transition helper. Safe to merge.

  • rowActions overlays the message tail instead of reserving a row column
  • titleRow extracted from the Cloudflare list view and reused by the lab
  • withView makes viewHref and ClickedView share one search transition
  • Lab reload keeps CompleteReloadSpin so the spinner clears

Before merge

  • Manual · Re-run the PR preview: the last deploy-pr-preview run was cancelled
What was checked
  • withView yields the same URL as the old inline object (update.ts:49, update.ts:63)
  • toLogRowView maps a missing trace id to "", so rowActions renders no /traces/undefined link (log-row-view.ts:173)
  • Lab fixture row 0 carries a non-empty traceId, so the new scene test's href assertion can fail if the link breaks

6702a2c · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

@Makisuo
Makisuo deployed to pr-preview October 25, 2026 14:57 — with GitHub Actions Active
@Makisuo Makisuo added the preview:web Deploy a Workers-only PR preview (no ingest/Electric); see docs/pr-previews.md label Oct 25, 2026
@Makisuo
Makisuo deployed to pr-preview October 25, 2026 15:21 — with GitHub Actions Active
@Makisuo
Makisuo deployed to pr-preview October 25, 2026 15:23 — with GitHub Actions Active
@Makisuo
Makisuo added this pull request to stack #1834 October 25, 2026 16:43
@Makisuo
Makisuo merged commit e003e47 into main Oct 25, 2026
28 of 31 checks passed
@Makisuo
Makisuo deployed to pr-preview October 25, 2026 16:44 — with GitHub Actions Active
@maple-review-bot

Copy link
Copy Markdown

Merged with 1 step from "Before merge" still open. If it is done, tick it on the review comment; if not, now is the time.

  • Manual · Re-run the PR preview: the last deploy-pr-preview run was cancelled

@Makisuo
Makisuo deleted the ui-pass-7 branch October 25, 2026 16:44

This branch was successfully deployed

1 active deployment
pr-preview — 6702a2cd Deployed Oct 25, 2026 by Makisuo via deploy-pr-preview #7039
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview:web Deploy a Workers-only PR preview (no ingest/Electric); see docs/pr-previews.md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant