Skip to content

fix(report): link advisories in the by-device table and stop it reflowing (4.2.1) - #17

Merged
Ali Bahaloo (alibahaloo) merged 1 commit into
mainfrom
fix/bundle-report-device-index
Jul 28, 2026
Merged

fix(report): link advisories in the by-device table and stop it reflowing (4.2.1)#17
Ali Bahaloo (alibahaloo) merged 1 commit into
mainfrom
fix/bundle-report-device-index

Conversation

@alibahaloo

Copy link
Copy Markdown
Collaborator

Two problems with the bundle report's "By device" appendix, both reported from real use of 4.2.0.

1. Expanding a row reflowed the whole table

Measured on the reference report before fixing:

Device Model Release Advisories Which
Before, on expand −14px −47px −22px −10px +91px
After, on expand 0 0 0 0 0

That reflow happens exactly when a reader is comparing rows, so the rows above and below the one being opened slide out from under the cursor. Both appendix tables now use table-layout: fixed with declared column widths, verified holding [144, 207, 108, 81, 360] across an expand.

2. The advisory identifiers were plain text

A reader working device by device had to scroll back up to the per-advisory rows to reach Cisco. They are now links, opening in a new tab with rel="noreferrer noopener" — the same treatment the per-advisory rows and the whole-fleet report already give them.

The part I didn't expect

Fixing the layout created a worse problem than it solved. Fixed columns squeezed the advisory column to 256px while the longest identifier (cisco-sa-onprem-fmc-authbypass-5JPp45V2) measures 316px, so all 16 identifiers on the sample device wrapped across three or four lines each. A wide window hides this; a narrow one does not.

So there is a second half to the fix:

  • a 900px floor on both fixed tables, inside a horizontally scrollable container, so narrow windows scroll rather than squeeze;
  • columns rebalanced to give "Which" 40% (360px at the floor, against the ~334px an identifier needs including the list indent);
  • identifiers no longer break mid-token — they are meant to be read and copied whole, unlike the prose cells, which still wrap anywhere.

737 of 737 identifiers across 55 device rows now sit on one line, up from 1 of 16.

Worth noting because the string-level assertions all passed before this was caught — it took rendering the real report in a browser and measuring.

Verification

Verified in a browser against the 70-row reference report:

  • both tables hold their column widths across an expand;
  • each column set sums to exactly 100% (a set that does not makes declared widths advisory rather than fixed — now asserted);
  • the tables scroll horizontally below 900px instead of cramping;
  • all 737 identifiers render on one line and link to Cisco.

Tests 392 → 402, covering the links, the fixed layout, the min-width floor, the no-mid-token-break rule, and the column-sum property.

Scope

Presentation only. No verdict, data, or API change; the per-advisory rows, the whole-fleet layout, verdict rules and reason kinds are untouched. VERSION 4.2.0 → 4.2.1 (PATCH), following 544629c, which was also a report fix that added new-tab advisory links and bumped PATCH. Tag is pushed only after this merges.

🤖 Generated with Claude Code

…wing (4.2.1)

Two problems with the bundle report's "By device" appendix, both reported from
real use.

Expanding a device's "show" disclosure reflowed the whole table. Measured on the
reference report: Model lost 47px, Which gained 91px, and every other column
shifted. That happens exactly when a reader is comparing rows, so the rows
above and below the one being opened slide out from under the cursor. Both
appendix tables now use table-layout: fixed with declared column widths.

The advisory identifiers were plain text, so a reader working device by device
had to scroll back up to the per-advisory rows to reach Cisco. They are now
links, opening in a new tab with rel="noreferrer noopener" — the same treatment
the per-advisory rows and the whole-fleet report already give them.

Fixing the layout exposed a second-order problem: fixed columns squeezed the
advisory column to 256px while the longest identifier measures 316px, so all
16 identifiers on the sample device wrapped across three or four lines each.
Fixed by giving the tables a 900px floor inside a horizontally scrollable
container, and by rebalancing the columns so Which gets 40% (360px at the
floor). Identifiers also no longer break mid-token — they are meant to be read
and copied whole, unlike the prose cells that still wrap anywhere.

Verified in a browser against the 70-row reference report: both tables hold
[144, 207, 108, 81, 360] across an expand, each column set sums to exactly
100%, and all 737 identifiers across 55 device rows now sit on one line — up
from 1 of 16.

Tests 392 -> 402, covering the links, the fixed layout, the min-width floor,
the no-mid-token-break rule, and that each column set sums to 100% (a set that
does not makes the declared widths advisory rather than fixed).

PATCH: presentation only, no verdict or data change. Follows 544629c, which
was also a report fix that added new-tab advisory links.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@alibahaloo Ali Bahaloo (alibahaloo) added the bug Something isn't working label Jul 28, 2026
@alibahaloo
Ali Bahaloo (alibahaloo) merged commit a91df63 into main Jul 28, 2026
2 checks passed
@alibahaloo
Ali Bahaloo (alibahaloo) deleted the fix/bundle-report-device-index branch July 28, 2026 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant