Skip to content

feat(rallocator_cli): scroll long stack frames instead of wrapping - #667

Open
martintmk wants to merge 3 commits into
mainfrom
fix/snapshot-stack-scroll
Open

martintmk wants to merge 3 commits into
mainfrom
fix/snapshot-stack-scroll

Conversation

@martintmk

@martintmk martintmk commented Aug 13, 2026

Copy link
Copy Markdown
Member

Before:

image

After:

image

@martintmk
martintmk marked this pull request as ready for review August 13, 2026 12:32
Copilot AI lite review requested due to automatic review settings August 13, 2026 12:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the rallocator_cli HTML snapshot template styling so long stack-frame lines scroll horizontally instead of wrapping, improving readability of stack traces in generated reports.

Changes:

  • Switch .stack rendering from wrap-anywhere to horizontal scrolling (overflow-x: auto) and prevent per-frame wrapping (white-space: nowrap).
  • Add thin/custom scrollbar styling for .stack (Firefox scrollbar-* and WebKit pseudo-elements).
  • Ensure grid children in .hotspot-stacks can shrink (min-width: 0) to avoid overflow issues.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@codecov

codecov Bot commented Aug 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.0%. Comparing base (a650c15) to head (400db8a).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #667   +/-   ##
=======================================
  Coverage   100.0%   100.0%           
=======================================
  Files         503      503           
  Lines       57407    57407           
=======================================
  Hits        57407    57407           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@martintmk martintmk added the agency-rocket Touched by a rocket skill label Aug 13, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 80ca15a7-29b1-45d6-851f-501e3c6c9f0d
Copilot AI review requested due to automatic review settings August 13, 2026 15:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Suppressed comments (1)

justfiles/anvil/checks/doc-test.just:25

  • cargo metadata is being invoked without --locked, which can allow Cargo to update Cargo.lock (or otherwise resolve outside the locked set) before the subsequent cargo test --doc --locked runs. Other repository scripts use cargo metadata ... --locked to keep the workspace state deterministic (e.g. justfiles/extended.just:27). Consider adding --locked here as well.
        $meta = cargo metadata --no-deps --format-version 1 | ConvertFrom-Json

Comment thread justfiles/anvil/checks/doc-test.just Outdated
Keep PR #667 scoped to the snapshot template update.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 80ca15a7-29b1-45d6-851f-501e3c6c9f0d
Copilot AI review requested due to automatic review settings August 14, 2026 06:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@martintmk martintmk left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Posted by an AI agent

Source review is complete with one non-blocking regression-test gap and no reproduced correctness defect. All ten review areas ran, covering public-contract applicability, behavior/tests, performance, naming, telemetry, resilience and code/docs consistency. Library API/rustdoc audits were inapplicable to the affected binary-only crate. Paired Chromium probes verified stack scrolling and bounded hotspot columns at five widths.

CI remains red. Nine checks failed at the reviewed head. Main-workflow all-feature/default-feature doctest steps emitted eight no library targets found in package rallocator_cli errors across four platforms; required-checks reports testing: failure. Four Anvil action steps report exit 101; both authorized failed-step and full-log reads returned no content, so their underlying causes remain unknown. Completed source review does not establish merge readiness or green CI.

Firefox/Safari, touch/keyboard interaction, print layout and the complete telemetry-to-CLI path were not exercised. Performance evidence was limited to DOM/layout geometry and report size.

section{padding:22px;margin:16px 0;overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.bar{height:8px;min-width:120px;background:#26314b;border-radius:9px;overflow:hidden}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--good))}
code{color:#b9e8ff}ol{padding-left:24px}li{margin:14px 0}.stack{overflow-wrap:anywhere;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
code{color:#b9e8ff}ol{padding-left:24px}li{margin:14px 0}.stack{overflow-x:auto;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;scrollbar-width:thin;scrollbar-color:#3b4969 transparent}.stack>div{white-space:nowrap}.hotspot-stacks>div{min-width:0}.stack::-webkit-scrollbar{height:9px}.stack::-webkit-scrollbar-track{background:transparent}.stack::-webkit-scrollbar-thumb{background:#3b4969;border-radius:5px}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Posted by an AI agent · Non-blocking

The stack-scroll change has no distinguishing regression test

Problem
The existing rendering fixtures check stack-details markup and exact symbol/source text, but are unchanged and never assert the new no-wrap, horizontal-scroll or hotspot shrink constraints. Reverting these declarations would leave those checks unchanged.

Why this matters
The new stack-display behavior can be removed or weakened without the existing rendering assertions noticing. This is a coverage gap, not an observed browser failure or lost baseline assertion.

Suggested fix
Extend the existing CLI rendering fixture with a long resolved frame, covering both retained stacks and paired hotspot stacks, and assert the emitted scrolling/no-wrap and column-shrink constraints through support::render_html. Keep this focused on the new output contract rather than adding a whole-report snapshot.

@martintmk martintmk left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Posted by an AI agent

Reviewed the complete pinned CSS change at 400db8a21a8ec72202ae5f371e14b62aa5205e99 across all ten required areas. The scrolling behavior worked in focused Edge layout probes at 320–1400 px, and the targeted rendering tests passed 9/9. No new inline findings were added because the still-applicable regression-test gap is already tracked in discussion_r4007074684.

Pinned CI remains red because the doctest workflow invokes cargo test --doc for binary-only rallocator_cli and fails with no library targets found; this is separate from the CSS behavior.

@martintmk martintmk left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Posted by an AI agent

Reviewed the pinned CSS change across all ten required areas. No correctness, API, performance, naming, telemetry, resilience, or code/docs defects were found. The existing non-blocking regression-test gap remains tracked in discussion_r4007074684, so no duplicate inline comment is needed.

Focused validation passed: cargo check -p rallocator_cli, all 24 package tests, and the 9 rendering/migration tests. Public API and rustdoc review were not applicable because rallocator_cli has no library target.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agency-rocket Touched by a rocket skill

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants