Skip to content

Let Stages fill the window's full width - #1271

Merged
JacobStephens2 merged 3 commits into
mainfrom
issue-1262
Oct 24, 2026
Merged

JacobStephens2 merged 3 commits into
mainfrom
issue-1262

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Summary

Stages (/?page=stages) drops the Console's 1120 px column and fills the window, keeping only the body's padding. The same holds with Command details (the peek) open, which used to cap the page at 1500 px. Lanes and every other page keep the column they had.

 <!-- src/console/time.html -->
-<body>
+<body{% if title == "Stages" %} class="full-width"{% endif %}>

 /* src/console/assets/console.css */
 body.peek-open { max-width: 1500px; … }
 body.peek-open > main { grid-column: 1; }
+body.full-width { max-width: none; }

The new rule comes after body.peek-open, so it overrides the 1500 px cap there too. Live updates morph only main[data-time-page], and the peek toggles only peek-open, so the class stays put. The how-it-works page and console/README.md now describe the width.

Seams under test: the Stages page as rendered in a browser (Playwright, console/tests/time.test.cjs).

Evidence

  • Before: Stages fills a wide window, with and without the Peek open failed at 1920 × 1000. The grid sat in a centred column: {"right":1892,"scroll":{"x":428,"width":1064}}. That is about 3.9 run columns of 240 px beside the 140 px stage names.
    After: the same test passes. The grid starts within the left padding and ends within 1 px of the right padding (about 7.2 run columns at 1920 px). With the peek open, main starts at the left padding and #peek reaches the right padding.
  • node --test tests/time.test.cjs (Console): 9/9 pass. npm test --prefix site: 49/49 pass. cargo test --test console: 104 passed.
  • scripts/affected-tests origin/main selected the site tests plus the full Rust suite. I ran cargo test --no-fail-fast: 61 targets passed. In the thirdshift bin, 3 tests failed: worktree::synchronization_tests::{base_merges,foreign_observation_and_merge,spec_catch_up}_ignore_shadowing_branch_and_tag_names, each with git tag … fatal: no tag message?. The cause is tag.gpgsign = true in this machine's ~/.gitconfig, not this change. With only that setting turned off (GIT_CONFIG_GLOBAL pointing at a copy), the bin passes 1328/1328.
  • scripts/affected-tests main would have compared against a stale local main ref (a3cabce). This branch sits on origin/main (6de4820), so the selection and review used origin/main.

Merge Danger

Door: two-way

One CSS rule and one template attribute. A revert restores the column.

Blast Radius: layout

Stages only. On very wide displays the intro paragraph and title line run the full width too. Phone widths are unchanged: below 1120 px the cap never applied, and the media queries don't touch max-width.

Unaddressed findings

Standards

  • Branches on the display title (title == "Stages") rather than a stages flag (Primitive Obsession / Repeated Switches, judgement call). Declined. src/console/time.html:17 already branches on title == "Lanes" for the same page, and inbox.html does the same for its titles. The new browser test fails if the condition stops matching.
  • body.full-width beats body.peek-open only by source order (judgement call). Declined. The test's peek-open assertion (peek.x + peek.width >= right - 1) fails if the rule moves above body.peek-open, which caps the page at 1500 px.

Spec

None. The Spec review found no missing, extra or wrong behaviour.

Security

None. The new template branch emits a fixed class chosen from a compile-time title (src/console/time.rs:31), so no request or GitHub data reaches it. The CSS rule changes only the layout width. No trust boundary changed.

Security review outcome

No unaddressed introduced findings.

Review coverage

Both reviewers read every file changed at review time. console/README.md was changed after review, in 6e38659, in response to a Standards finding. The Standards reviewer read its Stages paragraph before the edit. Neither reviewer read the edited version. Reports: .thirdshift-review-SltJNg/standards.md and spec.md.

Closes #1262

Built with claude · claude-opus-5-5 · high

@JacobStephens2
JacobStephens2 merged commit fb24568 into main Oct 24, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1262 branch October 24, 2026 17:01
This was referenced Oct 24, 2026
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.

make the stages console web ui view able to take all or nearly the full width of the viewport to allow showing more on one screen: /?page=stages

1 participant