Dashboard thumbnails regression — parked 2026-05-15 EOD
DARE.CO.UK · PARKED SKETCH · 2026-05-18
Mirrored from ~/.claude/.../memory/project_dashboard_thumbnails_regression_parked.md. This is a design sketch parked for future build — read for context, not as a current deliverable.
Hover-preview thumbnails on dashboard.dare.co.uk stopped working at some point during 2026-05-15 — most likely side-effect of the publish.py changes (preservation broadening, catalog
.htmlstripping) or the canonical-header rollout disturbing the screenshot capture. Dan called it nit-picking; resume Monday or next dashboard pass.
Flagged 2026-05-15 17:05ish by Dan:
“Park that thumbnails on dashboard stopped working, but that’s nit-picking.”
Clarified moments later (with screenshot of the editorial section):
“Thumbs within dashboard are sticky, but missing in editorial.”
So the regression is scoped to the editorial-narrative anchors (links inside the Haiku-narrated weekly paragraph), NOT the path-list hover-previews at the top of the dashboard. The links like “session report”, “Cool Hand Luke”, “the Patagonia piece” used to carry the .link-with-thumb class with a data-thumb-img attribute; now they render as plain accent-red links with no hover-preview affordance.
This narrows the suspect code path to _enrich_dashboard_anchors() in dare_cf_analytics.py (line 117ish) — the function that walks the narrative HTML and adds the hover-preview wiring to anchors whose href matches a known thumbnail path. Either it’s not finding matches, or it’s not adding the class/attr, or the JS is no longer attaching to those nodes.
Most likely causes (rank-ordered)
-
publish.py preservation broadening — earlier today the
_thumbs/preservation filter was widened from*.cropped.jpgto all files. The dashboard runs its OWN thumb pipeline (capture_thumbs_for_pathsindare_cf_analytics.py) — maybe collision between the dev-reports_thumbs/and the dashboard’s thumb staging. -
Canonical header changed article-page rendering — the dashboard thumbnails are headless-browser screenshots of article pages. With the canonical-header rollout swapping
<header class="site-header">for<header class="top">, articles’ rendered top-of-page changed. If Playwright was waiting for a specific selector (e.g.,.site-header) before screenshotting, it now times out and produces broken/empty thumbs. -
Catalog
.html→ cleanURL change — dashboard catalog hrefs got.htmlstripped. If the dashboard’s hover-preview JS expects.html-suffixed hrefs to look up thumbs, the mapping is now stale. -
dare_cf_analytics.pycache-toggle changes — less likely (didn’t touch thumb code) but worth ruling out by viewing the dashboard HTML and grep’ing fordata-thumb-img.
Quick diagnostic on resume
curl -s "https://dashboard.dare.co.uk/" | grep -c 'data-thumb-img='
# Compare against yesterday's known-good count
If zero or low, the dashboard HTML never embedded the thumbs (capture failed or wiring broke).
If high count but visually broken, the thumbs are referenced but the image URLs 404.
# Sample a referenced thumb URL and HEAD-check
curl -sI "https://dashboard.dare.co.uk/_thumbs/<some_thumb>.jpg"
Why parked
End-of-Friday + Dan explicitly called it nit-picking. Dashboard’s primary function (metrics, narrative, charts) is intact. Hover-preview thumbs are a delight feature, not load-bearing. Park honestly.
Linked memories
feedback_hover_preview_on_urls— the pattern this feature implementsproject_grabs_bucket_pipeline_built— different system; this regression is about the OLDER thumb-capture pipelinefeedback_audit_js_dom_coupling_before_canonical_patches— the canonical-rollout cascade-bug class; this may be another instance
The aphorism
Delight features regress quietly because no metric catches them. Hover-preview thumbnails were working yesterday; the audit script that proves they still work today is a Monday task.