From b1abfd9ea997ed815d1d459fd7b317481cb1a5d6 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Fri, 28 Aug 2026 10:34:12 -0400 Subject: [PATCH 1/2] fix(heart): render the board's detail lines as the columns they are MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every `
  • ` under a board row is space-padded terminal text — `PyAutoArray CI ✓ repo state n/a here PR×1` — pasted into html unchanged. Html collapses those runs of spaces, so all ~40 of them rendered as run-on prose in a proportional face and the block read as one long grey column instead of a table. `white-space:pre-wrap` keeps the padding and a monospace face makes it mean something again; a line too long for the column still wraps rather than scrolling the page (the shared sheet's wrap guard). The other half of the same report — the 44rem page cap wasting a laptop's width — is fixed for every board in the shared theme (PyAutoBrain), not here. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018q6ZrgG6u8o8ENYZ7cq3Lr --- heart/dashboard.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/heart/dashboard.py b/heart/dashboard.py index c7c65a5..f533467 100644 --- a/heart/dashboard.py +++ b/heart/dashboard.py @@ -1480,8 +1480,16 @@ def _html_stale_plan(board: Board, items: list[dict]) -> str: table.board tr.info td.dot::before{background:var(--accent)} table.board td.name{font-weight:600;white-space:nowrap} table.board tr.unobs td.name,table.board tr.unobs td.sum{color:var(--muted)} +/* The detail lines are column-ALIGNED text — `PyAutoArray CI ✓ PR×1`, + space-padded so the columns line up exactly as they do in the terminal + render. Html collapses those runs of spaces, so every one of them arrived + as run-on prose in a proportional face and the whole block read as one + grey paragraph column. `pre-wrap` keeps the padding and a monospace face + makes it mean something again; a line too long for the column still wraps + rather than scrolling the page (the shared sheet's wrap guard). */ ul.det{margin:.35rem 0 0;padding-left:1.1rem;color:var(--muted); - font-size:.85rem} + font-size:.8rem;white-space:pre-wrap; + font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace} .ago{color:var(--muted)} /* The out-links carry DATA in their labels — ` run`, and this org's longest repo name is 36 characters. `nowrap` made one of those a single From 5e94e9c69b2c98fcce3c6b0e88c56a25021fe8fc Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Fri, 28 Aug 2026 10:38:45 -0400 Subject: [PATCH 2/2] fix(heart): keep a real repo name out of the new css comment The tenant firewall names it exactly: a worked example in the comment used `PyAutoArray`, an instance fact, in organ code. `` says the same thing about the shape of the line without naming a tenant. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018q6ZrgG6u8o8ENYZ7cq3Lr --- heart/dashboard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/heart/dashboard.py b/heart/dashboard.py index f533467..d6fdfed 100644 --- a/heart/dashboard.py +++ b/heart/dashboard.py @@ -1480,7 +1480,7 @@ def _html_stale_plan(board: Board, items: list[dict]) -> str: table.board tr.info td.dot::before{background:var(--accent)} table.board td.name{font-weight:600;white-space:nowrap} table.board tr.unobs td.name,table.board tr.unobs td.sum{color:var(--muted)} -/* The detail lines are column-ALIGNED text — `PyAutoArray CI ✓ PR×1`, +/* The detail lines are column-ALIGNED text — ` CI ✓ PR×1`, space-padded so the columns line up exactly as they do in the terminal render. Html collapses those runs of spaces, so every one of them arrived as run-on prose in a proportional face and the whole block read as one