Move the URL column left in list tables (right after Paste) #296
Notifications
Total Time Spent: 2 hours 55 minutes
fen
2 hours 55 minutes
No due date set.
Dependencies
No dependencies set.
Reference: poslop/palette#296
Reference in New Issue
Block a user
Owner follow-up to #255 (closed): the URL column was widened but kept its position. Owner now wants it moved left "a little bit more".
Measured on palette-dev /public (1400x900, 2026-09-17 22:2x CDT), current column order and left edges:
Paste 116px | Type 378.7 | Size 520.2 | Views 641.4 | Created 738.4 | URL 930.4 | ID 1082
Definition of done:
Same shared-class hazard as #255: the column classes are shared between history.html and mine.js-driven tables; move the header AND the corresponding in both row templates / JS rowHtml builders together.
OWNER OVERRIDE (postdates the PR #297 QA pass, newest instruction wins):
Acceptance: rendered probe at 1400x900 and 375x812 shows URL 6th in both /public and /mine, a 20-char slug fully visible at desktop, sort arrow intact right of the label, no CSP violations.
QA PASS (fix attempt 2, PR #300 merged into dev
d87b938, deployed to palette-dev, image swap proven by sha256 of served app.css/history.js/mine.js == git show origin/dev). Rendered CDP probes on https://palette-dev.archfox.org at 1400x900 AND 375x812, 3 test pastes created in-page (short title / 21-char custom slug / 40-char slug):(a) Column order exact on both pages and both widths: /public colgroup [col-a,col-b,col-c,col-d,col-e,col-url,col-g] = URL 6th of 7 data columns; thead th order Paste,Type,Size,Views,Created,URL,ID; first-row tds align. /saved (mine): colgroup [...,col-d2,col-url,col-f,col-del] = URL 5th of 6 data columns (no Views), th and first-row td positions align.
(b) 21-char slug renders FULLY: URL cell content scrollWidth 304 == clientWidth 304 (no overflow), td 340px.
(c) 40-char slug ellipsizes: scrollWidth 590 vs clientWidth 308 (desktop) / 320 (mobile), text-overflow ellipsis.
(d) Sort arrows right of labels with uniform gap: measured 6px on every sortable column, both pages, both widths.
(e) URL header click sorts: th gains 'sorted asc' class and row order re-sorts (first rows before/after captured, order changed correctly).
(f) Zero CSP violations (Log.entryAdded drain after each page load at both widths: 0 entries).
Time logged, labels cleared, branch fix-296-r2 deleted. Superseded PR #299 (r1, wrong position) closed and its branch deleted.
OWNER OVERRIDE (postdates PR #300 QA pass):
Acceptance: rendered probe at 1400x900 and 375x812 - ID column fully visible on both list tables, no overlap with Created values, URL values plain text visually identical to the none styling (same computed background/border/padding), 20-char slug still fully readable, sort arrows intact, zero CSP violations.
QA FAIL (fix attempt 3, PR #301 merged into dev
feb36fc5, CI docker success, deployed to palette-dev, image swap proven by sha256 of served app.css/history.js == git show origin/dev, served .col-url = 230px).CRITICAL FAIL — owner criterion (20-char custom slug fully readable in URL cell) fails at 1400x900:
/qa296r-abcdefghij123anchor scrollWidth=223px vs clientWidth=208px → ellipsized, clipped by 15px./qa296-abcdefghij1234scrollW=228 vs clientW=208 → 20px clip on /history.)URL content box at 230px column is ~208px wide; a 20-char slug needs ~223-228px. The column is too narrow for the owner's minimum.
Other checks measured (all pass):
(a) ID column fully inside card at 1400x900: /history id right edge 1236.3 vs card right 1275 (gap 38.7px); /mine 1188 vs 1280 (gap 92px).
(b2) 40-char slug ellipsizes correctly: scrollW=449 vs clientW=208 (history) / 218 (mine).
(c) No overlap: Created→URL gap 59.5px on /history row with '14h ago' (mobile 89.4px; /mine gap 96-100px).
(d) URL anchor plain: background transparent, border 0/none, padding 0, color rgb(192,178,222) = same as td.dim 'none' cell (cell padding is td-level, identical for both cells). No pill.
(e) URL header still sorts (row order changed on click on /history); headers uniformly styled.
(f) Zero CSP violations in all 4 probe combinations (1400x900 + 375x812, /history + /mine).
Mobile 375x812 (informational): table overflows horizontally (tableScrollW=1110 vs cardClientW=349) — pre-existing scroll behavior, 20-char slug fits there (scrollW=139=clientW=139).
Per owner override (attempt 3, no more automatic fixes): labels set to Owner Review; stopping.
Fix attempt limit reached (3). Escalating to owner review.
Most recent verdict: QA FAIL (fix attempt 3, PR #301 merged
feb36fc5, deployed) - 20-char custom slug still ellipsized in the URL cell at 1400x900 on both /public and /mine (scrollWidth 223px vs clientWidth 208px/218px). Three successive width/position revisions have not satisfied the acceptance criteria; needs an owner decision on the target width/placement before another attempt.Owner verdict: current state (PR #301, 230px, plain-text URL values) accepted as-is. Closing.