You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The dashboard still ships the diff2html viewer's client assets and CSS overrides, but nothing mounts or references them. #221 stripped the notification-side diff surface; the viewer's front-end residue was left behind.
Found during the 2026-08-19 backlog staleness pass, while evaluating #126.
Unreferenced vendor code reads as live. A megabyte of vendored JS and a block of CSS overrides targeting .diff-mount will look load-bearing to the next person working on dashboard assets. That ambiguity is the actual cost, and it compounds the longer it sits.
The pinned version is recorded in diff-viewer.js's own header comment (diff2html-ui 3.4.52), so a future restore knows what to re-vendor even without the file.
Remove the diff2html block from src/dashboard/static/css/input.css — the position: relative row anchor, the .d2h-tag suppression, and the preflight padding/border re-assertion added in Diff Raw Content: line numbers overlay content cells #120.
Rebuild CSS: bash scripts/build-css.sh, then restart per AGENTS.md.
Check docs/UI.md and docs/STYLE.md for references to the viewer or its component classes; §10 lists vendored JS explicitly (htmx, app, dark-mode, htmx-a11y) — confirm it does not also name these.
docs/STYLE.md §11 (Overriding Vendored CSS) uses diff2html as its worked example of the @layer vendor pattern. Keep the section — the pattern is still the house rule — but it will need a different example, or a note that the example is historical.
Restore pointer
Record in the commit message that the assets are recoverable from 89d64eb (or any commit before this one), so #222 does not have to rediscover it.
Summary
The dashboard still ships the diff2html viewer's client assets and CSS overrides, but nothing mounts or references them. #221 stripped the notification-side diff surface; the viewer's front-end residue was left behind.
Found during the 2026-08-19 backlog staleness pass, while evaluating #126.
The orphans
src/dashboard/static/js/vendor/diff2html-ui.min.jssrc/dashboard/static/js/diff-viewer.jssrc/dashboard/static/css/input.cssdiff2html override block (~lines 254–280)Verified absent across the whole dashboard:
/changes/{id}route anywhere insrc/dashboard/routes/.diff-mount,data-unified-diff, ordiff-content.diff-viewer.js.Diff2HtmlUI.draw()therefore never runs.The CSS block compiles into the shipped
output.css, so the dead selectors are served to every page.Why remove rather than keep for #222
#222 will eventually restore a diff surface, so the tempting move is to leave these in place. Two reasons not to:
89d64eb(the commit preceding the Notification Template UI/UX polish: event labels, Context layout, and strip the dead diff/significance surface #221 strip) and instructs restoring from there rather than rewriting. Deleted assets are recoverable the same way — nothing is lost..diff-mountwill look load-bearing to the next person working on dashboard assets. That ambiguity is the actual cost, and it compounds the longer it sits.The pinned version is recorded in
diff-viewer.js's own header comment (diff2html-ui 3.4.52), so a future restore knows what to re-vendor even without the file.Scope
src/dashboard/static/js/vendor/diff2html-ui.min.js.src/dashboard/static/js/diff-viewer.js.src/dashboard/static/css/input.css— theposition: relativerow anchor, the.d2h-tagsuppression, and the preflight padding/border re-assertion added in Diff Raw Content: line numbers overlay content cells #120.bash scripts/build-css.sh, then restart per AGENTS.md.docs/UI.mdanddocs/STYLE.mdfor references to the viewer or its component classes; §10 lists vendored JS explicitly (htmx, app, dark-mode, htmx-a11y) — confirm it does not also name these.docs/STYLE.md§11 (Overriding Vendored CSS) uses diff2html as its worked example of the@layer vendorpattern. Keep the section — the pattern is still the house rule — but it will need a different example, or a note that the example is historical.Restore pointer
Record in the commit message that the assets are recoverable from
89d64eb(or any commit before this one), so #222 does not have to rediscover it.Related