From f44f5333b34c13fde976d735988dbbd6bd4bebd2 Mon Sep 17 00:00:00 2001 From: Mikhail Yenuchenko Date: Tue, 11 Aug 2026 00:35:05 +0300 Subject: [PATCH] panel: stop the send log breaking short words across lines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The last cell in a row is the one the automatic table layout squeezes first, and in the send log it holds a fixed two-word link: "Details" was being split after "Detail" on every row. Holding that cell on one line costs the row nothing and hands the width back to the status column, which was breaking "deferred" into "deferre" and "d" for the same reason — the status gets the same nowrap the timestamp already had, through a class of its own since the cell had nothing to select on. Both predate the restyle; they surfaced while screenshotting the send log against a seeded journal. Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 4 +++- internal/web/view/static/panel.css | 15 +++++++++++---- internal/web/view/templates/deliveries_rows.html | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e001c27..d31e0b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,9 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); version headings, status badges and small labels set in the mono face. Light and dark schemes both keep their contrast; no page, control or workflow changed. A page whose only card is the narrow one now takes its heading and footer down to the - card's width instead of splitting them across the wider measure. The three + card's width instead of splitting them across the wider measure, and the send + log stops breaking `Details` and `deferred` across two lines when a row is + tight. The three WOFF2 files add ~76 KB to the image and are served from the panel's own origin, so the Content-Security-Policy is unchanged (`default-src 'self'`). diff --git a/internal/web/view/static/panel.css b/internal/web/view/static/panel.css index 722819e..0f9ac3c 100644 --- a/internal/web/view/static/panel.css +++ b/internal/web/view/static/panel.css @@ -214,9 +214,11 @@ table { width: 100%; border-collapse: collapse; } the send-log past its card and hang Status over the edge. Cells may break mid word, so a column can always be squeezed to the width available. */ th, td { text-align: left; padding: 0.5rem 0.4rem; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; } -/* The exception: a timestamp broken across two lines is unreadable, and it is - short enough to never be the reason a row does not fit. */ -td.time { white-space: nowrap; } +/* The exceptions: a timestamp broken across two lines is unreadable, and so is + a send-log status — "deferred" was being hyphenless-broken into "deferre" and + "d" whenever the row was tight. Both are short enough to never be the reason + a row does not fit. */ +td.time, td.status { white-space: nowrap; } /* Column headings are set in the mono face: they are labels for machine data rather than prose, and the wider tracking a small monospaced capital wants also holds them apart from the first row of values. Same treatment on the @@ -226,7 +228,12 @@ th { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); } -td.actions { text-align: right; } +/* The controls at the end of a row are short and fixed — Details, Delete — and + the cell is the last one, so it is the one the automatic layout squeezes + first: in the send log it was breaking "Details" after "Detail". Holding it + on one line costs the row nothing and hands the width back to the status + column, which was wrapping single words for the same reason. */ +td.actions { text-align: right; white-space: nowrap; } /* Subject is the one cell whose text we do not control. Breaking mid word (the rule above) keeps it inside the card, but a long subject would do it by growing the row several lines tall, which buries the rows around it. So the diff --git a/internal/web/view/templates/deliveries_rows.html b/internal/web/view/templates/deliveries_rows.html index ce9304f..f0275d4 100644 --- a/internal/web/view/templates/deliveries_rows.html +++ b/internal/web/view/templates/deliveries_rows.html @@ -13,7 +13,7 @@ {{.From}} {{.To}} {{.Subject}} - {{.Status}} + {{.Status}} Details {{end}}