From 7b6ea909341c9e9787bf6084df693997967f4b7f Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Wed, 5 Aug 2026 19:02:39 -0400 Subject: [PATCH] Job status classes get an s- prefix: .done was the celebration card MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "resolve: done" rendered — which is the review page's all-done celebration card class, so the status line became a floating bordered card squatting on the Activity heading. Status spans are now s-idle/s-running/s-done/s-failed, scoped under #jobstate, and done earns its green. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g --- data/matches.csv | 2 -- data/title_edits.json | 10 ++++++++++ data/titles.json | 8 ++++---- src/bggpipe/static/app.css | 5 +++-- src/bggpipe/templates/pages/pipeline.html | 4 +++- 5 files changed, 20 insertions(+), 9 deletions(-) diff --git a/data/matches.csv b/data/matches.csv index 74b2e01..effac18 100644 --- a/data/matches.csv +++ b/data/matches.csv @@ -118,8 +118,6 @@ KILL DOCTOR LUCKY,257,Kill Doctor Lucky,1996,boardgame,auto,520364,"Cheapass env ALICE IS MISSING SILENT FALLS EXPANSION,,,,,unmatched,,,,[],[],IMG_4566.jpeg,, ALICE IS MISSING A SILENT ROLE PLAYING GAME,,,,,unmatched,,,,[],[],IMG_4566.jpeg,, ETHERFIELDS KITTENBURG EXPANSION,358880,Etherfields: Kittenburg Expansion,2022,boardgame,auto,603694,English edition,version_auto,"[{""bgg_id"": 358880, ""name"": ""Etherfields: Kittenburg Expansion"", ""year"": 2022, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 603694, ""name"": ""English edition"", ""year"": 2022, ""publishers"": [""Awaken Realms""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 709658, ""name"": ""Polish edition"", ""year"": 2022, ""publishers"": [""Awaken Realms""], ""languages"": [""Polish""], ""score"": 2}, {""version_id"": 699892, ""name"": ""Spanish edition"", ""year"": 2022, ""publishers"": [""Awaken Realms""], ""languages"": [""Spanish""], ""score"": 2}]",IMG_4570.jpeg,, -BOTANY EXPANSION TANTALIZING TREES,,,,,unmatched,,,,[],[],IMG_4571.jpeg,, -"BOTANY EXPANSION PERILOUS PERFUMES POISONOUS, CARNIVOROUS, PARASITIC AND BIZARRE PLANTS",,,,,unmatched,,,,[],[],IMG_4571.jpeg,, Parsely,258849,Parsely,2018,rpgitem,auto,,,version_unknown,"[{""bgg_id"": 258849, ""name"": ""Parsely"", ""year"": 2018, ""type"": ""rpgitem"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4573.jpeg,, "...and then, we held hands.",153999,"...and then, we held hands.",2015,boardgame,auto,280845,English edition,version_auto,"[{""bgg_id"": 153999, ""name"": ""...and then, we held hands."", ""year"": 2015, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 280845, ""name"": ""English edition"", ""year"": 2015, ""publishers"": [""LudiCreations""], ""languages"": [""English""], ""score"": 3}]",image.jpg,, Consentacle,166976,Consentacle,2014,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 166976, ""name"": ""Consentacle"", ""year"": 2014, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 410382, ""name"": ""English Kickstarter edition"", ""year"": 2018, ""publishers"": [""(Self-Published)""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 596756, ""name"": ""English Print-and-Play edition"", ""year"": 2018, ""publishers"": [""(Self-Published)""], ""languages"": [""English""], ""score"": 3}]",shelf-20260803-171316.jpg,, diff --git a/data/title_edits.json b/data/title_edits.json index 17b84ad..38af1ce 100644 --- a/data/title_edits.json +++ b/data/title_edits.json @@ -77,5 +77,15 @@ "match": "MANTIS FALLS (a game of trust)", "title_raw": "MANTIS FALLS", "confidence": "high" + }, + { + "match": "BOTANY EXPANSION TANTALIZING TREES", + "title_raw": "BOTANY: TANTALIZING TREES", + "confidence": "high" + }, + { + "match": "BOTANY EXPANSION PERILOUS PERFUMES POISONOUS, CARNIVOROUS, PARASITIC AND BIZARRE PLANTS", + "title_raw": "BOTANY: PERILOUS PERFUMES", + "confidence": "high" } ] diff --git a/data/titles.json b/data/titles.json index 0769e04..34f0266 100644 --- a/data/titles.json +++ b/data/titles.json @@ -1631,7 +1631,7 @@ "title_normalized": "etherfields kittenburg expansion" }, { - "title_raw": "BOTANY EXPANSION TANTALIZING TREES", + "title_raw": "BOTANY: TANTALIZING TREES", "confidence": "high", "publisher_hint": "Dux Somnium", "edition_hint": "Expansion", @@ -1641,10 +1641,10 @@ "source_photos": [ "IMG_4571.jpeg" ], - "title_normalized": "botany expansion tantalizing trees" + "title_normalized": "botany tantalizing trees" }, { - "title_raw": "BOTANY EXPANSION PERILOUS PERFUMES POISONOUS, CARNIVOROUS, PARASITIC AND BIZARRE PLANTS", + "title_raw": "BOTANY: PERILOUS PERFUMES", "confidence": "high", "publisher_hint": "Dux Somnium", "edition_hint": "Expansion", @@ -1654,7 +1654,7 @@ "source_photos": [ "IMG_4571.jpeg" ], - "title_normalized": "botany expansion perilous perfumes poisonous carnivorous parasitic and bizarre plants" + "title_normalized": "botany perilous perfumes" }, { "title_raw": "Parsely", diff --git a/src/bggpipe/static/app.css b/src/bggpipe/static/app.css index 52b8439..bde9ce3 100644 --- a/src/bggpipe/static/app.css +++ b/src/bggpipe/static/app.css @@ -411,8 +411,9 @@ button.danger { color: var(--stop-ink); border-color: var(--stop); background: # max-height: 20rem; overflow-y: auto; white-space: pre-wrap; } #jobstate { font-size: .85rem; color: var(--ink); margin-bottom: .4rem; } -#jobstate .running { color: var(--accent-ink); font-weight: 600; } -#jobstate .failed { color: var(--stop-ink); font-weight: 600; } +#jobstate .s-running { color: var(--accent-ink); font-weight: 600; } +#jobstate .s-done { color: var(--go-ink); font-weight: 600; } +#jobstate .s-failed { color: var(--stop-ink); font-weight: 600; } /* (phone-width rules live in the responsive section at the end) */ diff --git a/src/bggpipe/templates/pages/pipeline.html b/src/bggpipe/templates/pages/pipeline.html index 9c29b64..be99331 100644 --- a/src/bggpipe/templates/pages/pipeline.html +++ b/src/bggpipe/templates/pages/pipeline.html @@ -75,7 +75,9 @@ function render() { const job = P.job; const state = document.getElementById("jobstate"); if (job.status === "idle") state.textContent = "idle"; - else state.innerHTML = `${esc(job.stage)}: ${esc(job.status)}` + + // s- prefix: a bare status class collides with page classes (.done is + // the review celebration card) + else state.innerHTML = `${esc(job.stage)}: ${esc(job.status)}` + (job.error ? ` — ${esc(job.error)}` : ""); const logEl = document.getElementById("joblog"); const atBottom = logEl.scrollTop + logEl.clientHeight >= logEl.scrollHeight - 4;