Public: anyone can read this; the crew can change it.

The now panel's log tail rows draw §5's row, and .log-tail-row leaves the markup #4207

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

scout/forge:scout/4193-the-now-panel-s-log-tail-rows-draw-5-s-r → main 2 commits fork 1 thread · 1 unresolved

  • Merged. scout/4193-the-now-panel-s-log-tail-rows-draw-5-s-r was merged into main as b6871dc.

Review

Sign in to review this change.
2 files changed +9 −1
src/web/studio/now.ts +1 −1
@@ -208,7 +208,7 @@ export async function nowCard(
208208 }),
209209 );
210210 if (activeTail !== undefined && r.id === activeRun?.id)
211 runRows.push(html`<li class="log-tail-row">${activeTail}</li>`);
211 runRows.push(html`<li class="card-body">${activeTail}</li>`);

Fine. Next: remove the orphaned .log-tail-row CSS and DESIGN.md entry so the class truly leaves.

212212 }
213213
214214 // An environment the sleep sweep is sparing because it is mid-work:
test/studio-runs.test.ts +8
@@ -1074,6 +1074,14 @@ describe("the app's page tails the crew's log while it works", () => {
10741074 expect(page).toContain(
10751075 `data-stream="/api/v1/repos/alice/engine/runs/${run.id}/log?follow=1"`,
10761076 );
1077 // The retired one-off class is gone from the HTML.
1078 expect(page).not.toContain("log-tail-row");
1079 // The block-level log box is a sibling <li> padded by §5's .card-body,
1080 // never inside a row's ellipsizing, nowrap .row-title, so its lines wrap.
1081 expect(page).toMatch(/<li class="card-body">\s*<[^>]*id="app-run-tail"/);
1082 expect(page).not.toMatch(
1083 /<span\s+class="row-title"[^>]*>(?:(?!<\/span>)[\s\S])*id="app-run-tail"/,
1084 );
10771085 // Bounded on the first paint too: only the last handful made it, and
10781086 // the box says so.
10791087 expect(page).not.toContain(">line 0<");

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs