From edb72514f4c66d1021f6e8cc644717a13ac75bc0 Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Wed, 5 Aug 2026 21:16:16 -0400 Subject: [PATCH] The quiet successes learn to speak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Eric pressed "pick edition", the button vanished, and nothing said where the ballot went; he edited a matched title and its row silently entered re-resolve limbo until a resolve run nobody knew was owed. Now: pick edition banners a link to the Review ballot it created; saving an edit banners the re-queue contract with an inline "run resolve now" button; and the waiting chip says "awaiting resolve" (its old label, "awaiting BGG", described the token era). Data-wise this commit also carries the re-resolved IMG_4504 Wiz-War copy — whose 2012 year cue correctly matched NO version of game 589, the breadcrumb that it belongs to the FFG entry (104710). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqdWSz9g --- data/matches.csv | 10 +++++----- data/title_edits.json | 8 ++++++++ data/titles.json | 2 +- src/bggpipe/static/app.js | 2 +- src/bggpipe/templates/pages/help.html | 2 +- src/bggpipe/templates/pages/titles.html | 22 ++++++++++++++++++++-- 6 files changed, 36 insertions(+), 10 deletions(-) diff --git a/data/matches.csv b/data/matches.csv index 78f1c85..eb2a01a 100644 --- a/data/matches.csv +++ b/data/matches.csv @@ -24,13 +24,12 @@ Diplomacy,483,Diplomacy,1959,boardgame,auto,,,version_unknown,"[{""bgg_id"": 483 Age of Renaissance,26,Age of Renaissance,1996,boardgame,auto,,,version_unknown,"[{""bgg_id"": 26, ""name"": ""Age of Renaissance"", ""year"": 1996, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4502.jpeg,, History of the World,224,History of the World,1991,boardgame,auto,20727,Avalon Hill/Hasbro edition,version_auto,"[{""bgg_id"": 224, ""name"": ""History of the World"", ""year"": 1991, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 5948, ""rank"": 1274}, {""bgg_id"": 235591, ""name"": ""History of the World"", ""year"": 2018, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 1960, ""rank"": 3203}, {""bgg_id"": 426957, ""name"": ""History of the World"", ""year"": 2025, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 175, ""rank"": 19811}]","[{""version_id"": 20727, ""name"": ""Avalon Hill/Hasbro edition"", ""year"": 2001, ""publishers"": [""Avalon Hill""], ""languages"": [""English""], ""score"": 3}]",IMG_4502.jpeg,, Dungeon!,345770,.dungeon,2021,rpgitem,auto,,,version_unknown,"[{""bgg_id"": 345770, ""name"": "".dungeon"", ""year"": 2021, ""type"": ""rpgitem"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4502.jpeg,, -WIZ-WAR,589,Wiz-War,1983,boardgame,auto,,,version_unknown,"[{""bgg_id"": 589, ""name"": ""Wiz-War"", ""year"": 1983, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4504.jpeg,, TICKET TO RIDE,9209,Ticket to Ride,2004,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 9209, ""name"": ""Ticket to Ride"", ""year"": 2004, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 468280, ""name"": ""15th anniversary special edition"", ""year"": 2019, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 469076, ""name"": ""Afrikaans/English edition"", ""year"": 2019, ""publishers"": [""Days of Wonder""], ""languages"": [""Afrikaans"", ""English""], ""score"": 3}, {""version_id"": 410646, ""name"": ""English edition 2007 with \""Over 1.1 million games sold\"""", ""year"": 2007, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 191794, ""name"": ""English edition 2007 with \""Over 2 million games sold\"""", ""year"": 2007, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 228833, ""name"": ""English edition 2012 with \""Over 3 million games sold\"""", ""year"": 2012, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 294188, ""name"": ""English edition 2012 with Spiel des Jahres logo"", ""year"": 2012, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 236459, ""name"": ""English edition 2013"", ""year"": 2013, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 447075, ""name"": ""English edition 2015"", ""year"": 2015, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}]",IMG_4504.jpeg,, CATAN,13,Catan,1995,boardgame,auto,347121,English edition 2016,version_approved,"[{""bgg_id"": 13, ""name"": ""Catan"", ""year"": 1995, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 243104, ""rank"": 626}, {""bgg_id"": 66056, ""name"": ""Catan Двубоят"", ""year"": 2010, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 21829, ""rank"": 1187}]","[{""version_id"": 347121, ""name"": ""English edition 2016"", ""year"": 2016, ""publishers"": [""Catan Studio""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 495726, ""name"": ""English edition 2019"", ""year"": 2019, ""publishers"": [""Catan Studio""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 568647, ""name"": ""English edition 2020"", ""year"": 2020, ""publishers"": [""Catan Studio""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 733924, ""name"": ""English edition 2023"", ""year"": 2023, ""publishers"": [""Catan Studio""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 416798, ""name"": ""Afrikaans edition"", ""year"": 0, ""publishers"": [""Catan Studio""], ""languages"": [""Afrikaans""], ""score"": 2}]",IMG_4504.jpeg;IMG_4542.jpeg,, RAMPAGE,97903,Rampage,2013,boardgame,auto,,,version_unknown,"[{""bgg_id"": 97903, ""name"": ""Rampage"", ""year"": 2013, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4504.jpeg,, Onitama,160477,Onitama,2014,boardgame,auto,,,version_unknown,"[{""bgg_id"": 160477, ""name"": ""Onitama"", ""year"": 2014, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4505.jpeg,, Herbaceous,195314,Herbaceous,2017,boardgame,auto,,,version_unknown,"[{""bgg_id"": 195314, ""name"": ""Herbaceous"", ""year"": 2017, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4507.jpeg,, -LABYRINTH,1219,Labyrinth,1986,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 1219, ""name"": ""Labyrinth"", ""year"": 1986, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 35117, ""rank"": 2116}, {""bgg_id"": 6546, ""name"": ""Labyrinth"", ""year"": 1940, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 1078, ""rank"": 31020}, {""bgg_id"": 23074, ""name"": ""Labyrinth"", ""year"": 2000, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 63, ""rank"": null}, {""bgg_id"": 24422, ""name"": ""Labyrinth"", ""year"": 2001, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 121, ""rank"": null}, {""bgg_id"": 65696, ""name"": ""Labyrinth"", ""year"": null, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 46, ""rank"": null}]","[{""version_id"": 488621, ""name"": ""English edition 2017"", ""year"": 2017, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 591493, ""name"": ""English/German edition"", ""year"": 2018, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""German""], ""score"": 3}, {""version_id"": 361899, ""name"": ""Multilingual 30th anniversary edition"", ""year"": 2016, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""French"", ""German"", ""Italian""], ""score"": 3}, {""version_id"": 338520, ""name"": ""Multilingual edition"", ""year"": 2017, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 440013, ""name"": ""Multilingual edition"", ""year"": 2019, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian""], ""score"": 3}, {""version_id"": 487001, ""name"": ""Multilingual edition"", ""year"": 2019, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Spanish""], ""score"": 3}, {""version_id"": 571233, ""name"": ""Multilingual edition"", ""year"": 2021, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 630855, ""name"": ""Multilingual edition"", ""year"": 2022, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}]",IMG_4507.jpeg;IMG_4508.jpeg,, +LABYRINTH,1219,Labyrinth,1986,boardgame,auto,488621,English edition 2017,version_approved,"[{""bgg_id"": 1219, ""name"": ""Labyrinth"", ""year"": 1986, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 35117, ""rank"": 2116}, {""bgg_id"": 6546, ""name"": ""Labyrinth"", ""year"": 1940, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 1078, ""rank"": 31020}, {""bgg_id"": 23074, ""name"": ""Labyrinth"", ""year"": 2000, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 63, ""rank"": null}, {""bgg_id"": 24422, ""name"": ""Labyrinth"", ""year"": 2001, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 121, ""rank"": null}, {""bgg_id"": 65696, ""name"": ""Labyrinth"", ""year"": null, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 46, ""rank"": null}]","[{""version_id"": 488621, ""name"": ""English edition 2017"", ""year"": 2017, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 591493, ""name"": ""English/German edition"", ""year"": 2018, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""German""], ""score"": 3}, {""version_id"": 361899, ""name"": ""Multilingual 30th anniversary edition"", ""year"": 2016, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""French"", ""German"", ""Italian""], ""score"": 3}, {""version_id"": 338520, ""name"": ""Multilingual edition"", ""year"": 2017, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 440013, ""name"": ""Multilingual edition"", ""year"": 2019, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian""], ""score"": 3}, {""version_id"": 487001, ""name"": ""Multilingual edition"", ""year"": 2019, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Spanish""], ""score"": 3}, {""version_id"": 571233, ""name"": ""Multilingual edition"", ""year"": 2021, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 630855, ""name"": ""Multilingual edition"", ""year"": 2022, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}]",IMG_4507.jpeg;IMG_4508.jpeg,, Super Mario Checkers Collector's Edition,,,,,local,,,,[],[],IMG_4508.jpeg,, Dragon Land,320202,Dragon Land,2020,boardgame,auto,,,version_unknown,"[{""bgg_id"": 320202, ""name"": ""Dragon Land"", ""year"": 2020, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4508.jpeg;IMG_4542.jpeg,, Bugs in the Kitchen,137909,Bugs in the Kitchen,2013,boardgame,auto,216474,English first edition,version_approved,"[{""bgg_id"": 137909, ""name"": ""Bugs in the Kitchen"", ""year"": 2013, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 280025, ""name"": ""Chinese/English edition"", ""year"": 2014, ""publishers"": [""Ravensburger AG""], ""languages"": [""Chinese"", ""English""], ""score"": 3}, {""version_id"": 751514, ""name"": ""English edition 2024"", ""year"": 2024, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 216474, ""name"": ""English first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 435117, ""name"": ""English second edition"", ""year"": 2018, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 212273, ""name"": ""Multilingual EN/FR/DE/IT/NE/SP"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Spanish""], ""score"": 3}, {""version_id"": 260936, ""name"": ""French first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 726152, ""name"": ""German edition 2024"", ""year"": 2024, ""publishers"": [""Ravensburger AG""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 199002, ""name"": ""German first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""German""], ""score"": 2}]",IMG_4508.jpeg;IMG_4545.jpeg,, @@ -51,7 +50,7 @@ THE DOOM THAT CAME TO ATLANTIC CITY,124548,The Doom That Came to Atlantic City,2 Flick'em UP!,169124,Flick 'em Up!,2015,boardgame,auto,,,version_unknown,"[{""bgg_id"": 169124, ""name"": ""Flick 'em Up!"", ""year"": 2015, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4513.jpeg,, Castle Panic,43443,Castle Panic,2009,boardgame,auto,103068,"English edition, fourth printing",version_approved,"[{""bgg_id"": 43443, ""name"": ""Castle Panic"", ""year"": 2009, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 468123, ""name"": ""English edition, eighteenth printing"", ""year"": 2018, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 222131, ""name"": ""English edition, eighth printing"", ""year"": 2013, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 265959, ""name"": ""English edition, eleventh printing"", ""year"": 2014, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 343185, ""name"": ""English edition, fifteenth printing"", ""year"": 2016, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 169933, ""name"": ""English edition, fifth printing"", ""year"": 2012, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 24624, ""name"": ""English edition, first printing"", ""year"": 2009, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 337551, ""name"": ""English edition, fourteenth printing"", ""year"": 2016, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 103068, ""name"": ""English edition, fourth printing"", ""year"": 2010, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4513.jpeg,, The Red Dragon Inn,24310,The Red Dragon Inn,2007,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 24310, ""name"": ""The Red Dragon Inn"", ""year"": 2007, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 16870, ""rank"": 2164}, {""bgg_id"": 33451, ""name"": ""The Red Dragon Inn 2"", ""year"": 2008, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 93.3, ""owned"": 8355, ""rank"": 2056}, {""bgg_id"": 66510, ""name"": ""The Red Dragon Inn 3"", ""year"": 2011, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 93.3, ""owned"": 6246, ""rank"": 2363}, {""bgg_id"": 142402, ""name"": ""The Red Dragon Inn 4"", ""year"": 2013, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 93.3, ""owned"": 4107, ""rank"": 3367}, {""bgg_id"": 455834, ""name"": ""The Red Dragon Inn 10"", ""year"": 2026, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 90.3, ""owned"": 162, ""rank"": null}]","[{""version_id"": 400341, ""name"": ""English eighth edition"", ""year"": 2017, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 620786, ""name"": ""English eleventh edition"", ""year"": 2021, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 762888, ""name"": ""English fifteenth edition"", ""year"": 2024, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 374258, ""name"": ""English fifth edition"", ""year"": 2012, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 33932, ""name"": ""English first edition"", ""year"": 2007, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 728027, ""name"": ""English fourteenth edition"", ""year"": 2023, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 312374, ""name"": ""English seventh edition"", ""year"": 2015, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 389768, ""name"": ""English sixth edition"", ""year"": 2014, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4514.jpeg,, -Dixit,39856,Dixit,2008,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 39856, ""name"": ""Dixit"", ""year"": 2008, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 482308, ""name"": ""Afrikaans/English edition"", ""year"": 2019, ""publishers"": [""Libellud""], ""languages"": [""Afrikaans"", ""English""], ""score"": 3}, {""version_id"": 488774, ""name"": ""Arabic/English edition"", ""year"": 2019, ""publishers"": [""Boardgame Space"", ""Libellud""], ""languages"": [""Arabic"", ""English""], ""score"": 3}, {""version_id"": 296529, ""name"": ""Asmodee/Libellud English edition 2015"", ""year"": 2015, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 160064, ""name"": ""English edition 2011"", ""year"": 2011, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 193872, ""name"": ""English edition 2012"", ""year"": 2012, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 241272, ""name"": ""English edition 2013"", ""year"": 2013, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 256721, ""name"": ""English edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 273210, ""name"": ""English edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}]",IMG_4514.jpeg,, +Dixit,39856,Dixit,2008,boardgame,auto,296529,Asmodee/Libellud English edition 2015,version_approved,"[{""bgg_id"": 39856, ""name"": ""Dixit"", ""year"": 2008, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 709762, ""name"": ""Libellud multilingual edition 2008"", ""year"": 2008, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Polish"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 24804, ""name"": ""Libellud multilingual edition 2009"", ""year"": 2009, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Polish"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 52013, ""name"": ""Libellud English third edition 2010"", ""year"": 2010, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 72265, ""name"": ""Libellud multilingual edition 2010 with SdJ"", ""year"": 2010, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Polish"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 752364, ""name"": ""Libellud multilingual edition 2010 with SdJ without product code"", ""year"": 2010, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Polish"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 160064, ""name"": ""English edition 2011"", ""year"": 2011, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 198912, ""name"": ""Libellud multilingual edition 2011"", ""year"": 2011, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Polish"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 193872, ""name"": ""English edition 2012"", ""year"": 2012, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 290752, ""name"": ""Libellud multilingual edition 2012"", ""year"": 2012, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Polish"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 241272, ""name"": ""English edition 2013"", ""year"": 2013, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 310539, ""name"": ""Libellud French/English edition with award"", ""year"": 2013, ""publishers"": [""Libellud""], ""languages"": [""English"", ""French""], ""score"": 3}, {""version_id"": 353868, ""name"": ""Libellud multilingual edition 2013"", ""year"": 2013, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Polish"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 256721, ""name"": ""English edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 273210, ""name"": ""English edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 283431, ""name"": ""Libellud English UK edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 267586, ""name"": ""Libellud English/French edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""English"", ""French""], ""score"": 3}, {""version_id"": 512383, ""name"": ""Multilingual edition 2014"", ""year"": 2014, ""publishers"": [""Libellud"", ""Morapiaf""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Polish"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 296529, ""name"": ""Asmodee/Libellud English edition 2015"", ""year"": 2015, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 360758, ""name"": ""Libellud English edition 2016"", ""year"": 2016, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 360076, ""name"": ""Multilingual edition 2016"", ""year"": 2016, ""publishers"": [""KADABRA"", ""Libellud"", ""Nordic Games ehf"", ""Paladium Games""], ""languages"": [""Bulgarian"", ""English"", ""Estonian"", ""Icelandic"", ""Latvian"", ""Lithuanian""], ""score"": 3}, {""version_id"": 475048, ""name"": ""English edition 2017"", ""year"": 2017, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 530393, ""name"": ""English edition 2017, second printing"", ""year"": 2017, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 476620, ""name"": ""English edition 2018"", ""year"": 2018, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 482308, ""name"": ""Afrikaans/English edition"", ""year"": 2019, ""publishers"": [""Libellud""], ""languages"": [""Afrikaans"", ""English""], ""score"": 3}, {""version_id"": 488774, ""name"": ""Arabic/English edition"", ""year"": 2019, ""publishers"": [""Boardgame Space"", ""Libellud""], ""languages"": [""Arabic"", ""English""], ""score"": 3}, {""version_id"": 634801, ""name"": ""English edition 2019"", ""year"": 2019, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 643844, ""name"": ""English edition 2020"", ""year"": 2020, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 582709, ""name"": ""English edition 2021"", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 739982, ""name"": ""English edition 2021 with \""8 million games sold\"""", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 744604, ""name"": ""English edition 2021 with “7 million units sold”"", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 730261, ""name"": ""English UK edition 2021"", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 786419, ""name"": ""English edition 2025 with “12 million games sold”"", ""year"": 2025, ""publishers"": [""asmodee"", ""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 544006, ""name"": ""Libellud Italian edition"", ""year"": 0, ""publishers"": [""Libellud""], ""languages"": [""Italian""], ""score"": 2}, {""version_id"": 661163, ""name"": ""Spanish/Portuguese/Catalan edition with \""5 millones\"""", ""year"": 0, ""publishers"": [""Libellud""], ""languages"": [""Catalan"", ""Portuguese"", ""Spanish""], ""score"": 2}, {""version_id"": 33307, ""name"": ""Libellud French first edition 2008"", ""year"": 2008, ""publishers"": [""Libellud""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 22278, ""name"": ""Lautapelit.fi Nordic edition 2009"", ""year"": 2009, ""publishers"": [""Lautapelit.fi"", ""Libellud""], ""languages"": [""Danish"", ""Finnish"", ""Norwegian"", ""Swedish""], ""score"": 2}, {""version_id"": 35119, ""name"": ""Morapiaf Spanish edition 2009"", ""year"": 2009, ""publishers"": [""Libellud"", ""Morapiaf""], ""languages"": [""Spanish""], ""score"": 2}, {""version_id"": 60016, ""name"": ""Lautapelit.fi Nordic second edition 2010"", ""year"": 2010, ""publishers"": [""Lautapelit.fi"", ""Libellud""], ""languages"": [""Danish"", ""Finnish"", ""Norwegian"", ""Swedish""], ""score"": 2}, {""version_id"": 77683, ""name"": ""Libellud East-European edition 2010"", ""year"": 2010, ""publishers"": [""Libellud""], ""languages"": [""Czech"", ""Estonian"", ""Greek"", ""Hungarian"", ""Latvian"", ""Lithuanian"", ""Russian"", ""Slovak""], ""score"": 2}, {""version_id"": 69079, ""name"": ""Libellud German edition 2010 with SdJ"", ""year"": 2010, ""publishers"": [""Libellud""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 154712, ""name"": ""Libellud Russian edition 2010"", ""year"": 2010, ""publishers"": [""Libellud""], ""languages"": [""Russian""], ""score"": 2}, {""version_id"": 168676, ""name"": ""Hobby Japan Japanese edition 2011"", ""year"": 2011, ""publishers"": [""Hobby Japan"", ""Libellud""], ""languages"": [""Japanese""], ""score"": 2}, {""version_id"": 132993, ""name"": ""Korean edition 2011"", ""year"": 2011, ""publishers"": [""Korea Boardgames"", ""Libellud""], ""languages"": [""Korean""], ""score"": 2}, {""version_id"": 171239, ""name"": ""Lautapelit.fi Nordic third edition 2011"", ""year"": 2011, ""publishers"": [""Lautapelit.fi"", ""Libellud""], ""languages"": [""Danish"", ""Finnish"", ""Norwegian"", ""Swedish""], ""score"": 2}, {""version_id"": 180533, ""name"": ""Swan Panasia Chinese edition 2011"", ""year"": 2011, ""publishers"": [""Libellud"", ""Swan Panasia Co., Ltd.""], ""languages"": [""Chinese""], ""score"": 2}, {""version_id"": 455396, ""name"": ""Lautapelit.fi Nordic edition 2012"", ""year"": 2012, ""publishers"": [""Lautapelit.fi"", ""Libellud""], ""languages"": [""Danish"", ""Finnish"", ""Norwegian"", ""Swedish""], ""score"": 2}, {""version_id"": 218513, ""name"": ""Galápagos Jogos Brazilian edition 2013"", ""year"": 2013, ""publishers"": [""Galápagos Jogos"", ""Libellud""], ""languages"": [""Portuguese""], ""score"": 2}, {""version_id"": 571272, ""name"": ""Korean edition 2013"", ""year"": 2013, ""publishers"": [""Korea Boardgames"", ""Libellud""], ""languages"": [""Korean""], ""score"": 2}, {""version_id"": 295526, ""name"": ""Lautapelit.fi Nordic edition 2013"", ""year"": 2013, ""publishers"": [""Lautapelit.fi"", ""Libellud""], ""languages"": [""Danish"", ""Finnish"", ""Norwegian"", ""Swedish""], ""score"": 2}, {""version_id"": 285443, ""name"": ""Asterion Press Italian edition 2014"", ""year"": 2014, ""publishers"": [""Asterion Press"", ""Libellud""], ""languages"": [""Italian""], ""score"": 2}, {""version_id"": 262742, ""name"": ""Gém Klub Hungarian edition 2014"", ""year"": 2014, ""publishers"": [""Gémklub"", ""Libellud""], ""languages"": [""Hungarian""], ""score"": 2}, {""version_id"": 241993, ""name"": ""German edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 258097, ""name"": ""Kaissa Greek second edition"", ""year"": 2014, ""publishers"": [""Kaissa Chess & Games"", ""Libellud""], ""languages"": [""Greek""], ""score"": 2}, {""version_id"": 444352, ""name"": ""Libellud Dutch/French/German/Italian edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""French"", ""German"", ""Italian""], ""score"": 2}, {""version_id"": 264541, ""name"": ""Libellud French edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 277730, ""name"": ""REBEL.pl Polish edition 2014"", ""year"": 2014, ""publishers"": [""Libellud"", ""Rebel Sp. z o.o.""], ""languages"": [""Polish""], ""score"": 2}, {""version_id"": 267692, ""name"": ""Swan Panasia Chinese second edition 2014"", ""year"": 2014, ""publishers"": [""Libellud"", ""Swan Panasia Co., Ltd.""], ""languages"": [""Chinese""], ""score"": 2}, {""version_id"": 673335, ""name"": ""German edition 2015"", ""year"": 2015, ""publishers"": [""Libellud""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 329856, ""name"": ""Libellud German edition 2015"", ""year"": 2015, ""publishers"": [""Libellud""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 302789, ""name"": ""Morapiaf Spanish/Portuguese/Catalan edition"", ""year"": 2015, ""publishers"": [""Libellud"", ""Morapiaf""], ""languages"": [""Catalan"", ""Portuguese"", ""Spanish""], ""score"": 2}, {""version_id"": 650415, ""name"": ""Multilingual edition 2015"", ""year"": 2015, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""French"", ""German"", ""Italian""], ""score"": 2}, {""version_id"": 616351, ""name"": ""Ukrainian edition"", ""year"": 2015, ""publishers"": [""Libellud"", ""Ігромаг""], ""languages"": [""Ukrainian""], ""score"": 2}, {""version_id"": 740355, ""name"": ""Asterion Press Italian edition 2016"", ""year"": 2016, ""publishers"": [""Asterion Press"", ""Libellud""], ""languages"": [""Italian""], ""score"": 2}, {""version_id"": 620400, ""name"": ""Czech edition 2016"", ""year"": 2016, ""publishers"": [""ADC Blackfire Entertainment"", ""Libellud""], ""languages"": [""Czech""], ""score"": 2}, {""version_id"": 445188, ""name"": ""Galápagos Portuguese edition 2016"", ""year"": 2016, ""publishers"": [""Galápagos Jogos"", ""Libellud""], ""languages"": [""Portuguese""], ""score"": 2}, {""version_id"": 351092, ""name"": ""KADABRA Baltic edition"", ""year"": 2016, ""publishers"": [""KADABRA"", ""Libellud""], ""languages"": [""Estonian"", ""Latvian"", ""Lithuanian""], ""score"": 2}, {""version_id"": 314149, ""name"": ""Kaissa Greek third edition"", ""year"": 2016, ""publishers"": [""Kaissa Chess & Games"", ""Libellud""], ""languages"": [""Greek""], ""score"": 2}, {""version_id"": 486910, ""name"": ""Bulgarian edition"", ""year"": 2017, ""publishers"": [""Libellud""], ""languages"": [""Bulgarian""], ""score"": 2}, {""version_id"": 441974, ""name"": ""French edition 2017"", ""year"": 2017, ""publishers"": [""Libellud""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 572425, ""name"": ""German edition 2017"", ""year"": 2017, ""publishers"": [""Libellud""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 428190, ""name"": ""Multilingual edition 2017"", ""year"": 2017, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""French"", ""German"", ""Italian""], ""score"": 2}, {""version_id"": 568074, ""name"": ""Turkish edition 2017"", ""year"": 2017, ""publishers"": [""Libellud""], ""languages"": [""Turkish""], ""score"": 2}, {""version_id"": 558607, ""name"": ""Chinese edition"", ""year"": 2018, ""publishers"": [""Libellud""], ""languages"": [""Chinese""], ""score"": 2}, {""version_id"": 602470, ""name"": ""German edition 2020"", ""year"": 2020, ""publishers"": [""Libellud""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 709765, ""name"": ""Libellud Nordic edition 2020"", ""year"": 2020, ""publishers"": [""Libellud""], ""languages"": [""Danish"", ""Finnish"", ""Norwegian"", ""Swedish""], ""score"": 2}, {""version_id"": 710977, ""name"": ""Croatian/Macedonian/Serbian/Slovenian edition"", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""Croatian"", ""Macedonian"", ""Serbian"", ""Slovenian""], ""score"": 2}, {""version_id"": 592458, ""name"": ""Czech/Slovak edition 2021"", ""year"": 2021, ""publishers"": [""ADC Blackfire Entertainment"", ""Libellud""], ""languages"": [""Czech"", ""Slovak""], ""score"": 2}, {""version_id"": 636825, ""name"": ""French edition 2021"", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 801621, ""name"": ""French/German/Dutch edition 2021"", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""Dutch"", ""French"", ""German""], ""score"": 2}, {""version_id"": 624284, ""name"": ""Galápagos Portuguese edition 2021"", ""year"": 2021, ""publishers"": [""Galápagos Jogos"", ""Libellud""], ""languages"": [""Portuguese""], ""score"": 2}, {""version_id"": 645671, ""name"": ""German edition with \""Mehr als 8 Millionen verkaufte Exemplare\"""", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 571277, ""name"": ""Korean edition 2021"", ""year"": 2021, ""publishers"": [""Korea Boardgames"", ""Libellud""], ""languages"": [""Korean""], ""score"": 2}, {""version_id"": 580765, ""name"": ""Rebel Polish edition 2021"", ""year"": 2021, ""publishers"": [""Libellud"", ""Rebel Sp. z o.o.""], ""languages"": [""Polish""], ""score"": 2}, {""version_id"": 583823, ""name"": ""Spanish/Portuguese/Catalan edition 2021"", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""Catalan"", ""Portuguese"", ""Spanish""], ""score"": 2}, {""version_id"": 646232, ""name"": ""Turkish edition 2021"", ""year"": 2021, ""publishers"": [""Libellud""], ""languages"": [""Turkish""], ""score"": 2}, {""version_id"": 715849, ""name"": ""Czech/Slovak/Polish/Hungarian edition"", ""year"": 2022, ""publishers"": [""ADC Blackfire Entertainment"", ""Gémklub"", ""Libellud"", ""Rebel Sp. z o.o.""], ""languages"": [""Czech"", ""Hungarian"", ""Polish"", ""Slovak""], ""score"": 2}, {""version_id"": 694502, ""name"": ""Italian edition 2023"", ""year"": 2023, ""publishers"": [""Libellud""], ""languages"": [""Italian""], ""score"": 2}, {""version_id"": 641359, ""name"": ""Maldón Spanish edition"", ""year"": 2023, ""publishers"": [""Libellud"", ""Maldón""], ""languages"": [""Spanish""], ""score"": 2}, {""version_id"": 748806, ""name"": ""German edition 2024"", ""year"": 2024, ""publishers"": [""Libellud""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 689598, ""name"": ""Arabic/English revised edition"", ""year"": 0, ""publishers"": [""Boardgame Space""], ""languages"": [""Arabic"", ""English""], ""score"": 1}, {""version_id"": 745746, ""name"": ""Gém Klub Hungarian edition 2021"", ""year"": 2021, ""publishers"": [""Gémklub""], ""languages"": [""Hungarian""], ""score"": 0}, {""version_id"": 733565, ""name"": ""Italian edition 2021"", ""year"": 2021, ""publishers"": [""asmodee""], ""languages"": [""Italian""], ""score"": 0}]",IMG_4514.jpeg,, Huggermugger,2387,Huggermugger,1989,boardgame,auto,,,version_unknown,"[{""bgg_id"": 2387, ""name"": ""Huggermugger"", ""year"": 1989, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4514.jpeg,, The Rocky Horror Trivia Game,20866,The Rocky Horror Trivia Game,2005,boardgame,auto,,,version_unknown,"[{""bgg_id"": 20866, ""name"": ""The Rocky Horror Trivia Game"", ""year"": 2005, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4514.jpeg,, SPEECHLESS,196105,Speechless,2016,boardgame,approved,,,version_unknown,"[{""bgg_id"": 14370, ""name"": ""Speechless"", ""year"": 1985, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 94, ""rank"": null}, {""bgg_id"": 196105, ""name"": ""Speechless"", ""year"": 2016, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 493, ""rank"": 10370}]",[],IMG_4516.jpeg,, @@ -77,9 +76,9 @@ Murder at the Manor,453845,Murder at the Manor,2021,boardgame,auto,,,version_unk Bluffaneer,329230,Bluffaneer,2021,boardgame,auto,,,version_unknown,"[{""bgg_id"": 329230, ""name"": ""Bluffaneer"", ""year"": 2021, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4522.jpeg,, Sleeping Gods DISTANT SKIES,358320,Sleeping Gods: Distant Skies,2023,boardgame,auto,,,version_unknown,"[{""bgg_id"": 358320, ""name"": ""Sleeping Gods: Distant Skies"", ""year"": 2023, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4523.jpeg,, THE RIVALS FOR CATAN CARD GAME,389113,Rivals,2025,boardgame,auto,,,version_unknown,"[{""bgg_id"": 389113, ""name"": ""Rivals"", ""year"": 2025, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 37.5, ""owned"": null, ""rank"": null}]",[],IMG_4523.jpeg,, -FORBIDDEN ISLAND,65244,Forbidden Island,2010,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 65244, ""name"": ""Forbidden Island"", ""year"": 2010, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 368139, ""name"": ""English edition 110516"", ""year"": 2016, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 485840, ""name"": ""English edition 030214"", ""year"": 2014, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 489524, ""name"": ""English edition 030215"", ""year"": 2015, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 338430, ""name"": ""English edition 042016"", ""year"": 2016, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 31208, ""name"": ""English edition 051210"", ""year"": 2010, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 347124, ""name"": ""English edition 052011"", ""year"": 2011, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 577612, ""name"": ""English edition 070413"", ""year"": 2013, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 315520, ""name"": ""English edition 070415"", ""year"": 2015, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}]",IMG_4523.jpeg,, +FORBIDDEN ISLAND,65244,Forbidden Island,2010,boardgame,auto,31208,English edition 051210,version_approved,"[{""bgg_id"": 65244, ""name"": ""Forbidden Island"", ""year"": 2010, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 368139, ""name"": ""English edition 110516"", ""year"": 2016, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 485840, ""name"": ""English edition 030214"", ""year"": 2014, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 489524, ""name"": ""English edition 030215"", ""year"": 2015, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 338430, ""name"": ""English edition 042016"", ""year"": 2016, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 31208, ""name"": ""English edition 051210"", ""year"": 2010, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 347124, ""name"": ""English edition 052011"", ""year"": 2011, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 577612, ""name"": ""English edition 070413"", ""year"": 2013, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 315520, ""name"": ""English edition 070415"", ""year"": 2015, ""publishers"": [""Gamewright""], ""languages"": [""English""], ""score"": 3}]",IMG_4523.jpeg,, TEMPURRA,95386,Tempurra,2011,boardgame,auto,290572,English edition,version_auto,"[{""bgg_id"": 95386, ""name"": ""Tempurra"", ""year"": 2011, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 290572, ""name"": ""English edition"", ""year"": 2016, ""publishers"": [""IELLO""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 287427, ""name"": ""French edition"", ""year"": 2016, ""publishers"": [""IELLO""], ""languages"": [""French""], ""score"": 2}]",IMG_4524.jpeg,, -FLUXX,258,Fluxx,1997,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 258, ""name"": ""Fluxx"", ""year"": 1997, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 33357, ""rank"": 12263}, {""bgg_id"": 314413, ""name"": ""Fluxx"", ""year"": 2012, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 2152, ""rank"": 15720}]","[{""version_id"": 20841, ""name"": ""Looney Labs edition v3.0"", ""year"": 2002, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 20843, ""name"": ""Looney Labs edition v3.1"", ""year"": 2005, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 20844, ""name"": ""Looney Labs edition v4.0"", ""year"": 2008, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 263858, ""name"": ""Looney Labs edition v5.0"", ""year"": 2014, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 20838, ""name"": ""Looney Labs English 1.0 edition"", ""year"": 1996, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 20840, ""name"": ""Looney Labs Version v2.1"", ""year"": 2000, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 488647, ""name"": ""Hobby World Russian 5.0 edition"", ""year"": 2017, ""publishers"": [""Hobby World"", ""Looney Labs""], ""languages"": [""Russian""], ""score"": 2}, {""version_id"": 290805, ""name"": ""Polish edition"", ""year"": 2015, ""publishers"": [""Black Monk"", ""Looney Labs""], ""languages"": [""Polish""], ""score"": 2}]",IMG_4525.jpeg,, +FLUXX,258,Fluxx,1997,boardgame,auto,20840,Looney Labs Version v2.1,version_approved,"[{""bgg_id"": 258, ""name"": ""Fluxx"", ""year"": 1997, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 33357, ""rank"": 12263}, {""bgg_id"": 314413, ""name"": ""Fluxx"", ""year"": 2012, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 2152, ""rank"": 15720}]","[{""version_id"": 20841, ""name"": ""Looney Labs edition v3.0"", ""year"": 2002, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 20843, ""name"": ""Looney Labs edition v3.1"", ""year"": 2005, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 20844, ""name"": ""Looney Labs edition v4.0"", ""year"": 2008, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 263858, ""name"": ""Looney Labs edition v5.0"", ""year"": 2014, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 20838, ""name"": ""Looney Labs English 1.0 edition"", ""year"": 1996, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 20840, ""name"": ""Looney Labs Version v2.1"", ""year"": 2000, ""publishers"": [""Looney Labs""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 488647, ""name"": ""Hobby World Russian 5.0 edition"", ""year"": 2017, ""publishers"": [""Hobby World"", ""Looney Labs""], ""languages"": [""Russian""], ""score"": 2}, {""version_id"": 290805, ""name"": ""Polish edition"", ""year"": 2015, ""publishers"": [""Black Monk"", ""Looney Labs""], ""languages"": [""Polish""], ""score"": 2}]",IMG_4525.jpeg,, Poetry for Neanderthals,312786,Poetry for Neanderthals,2020,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 312786, ""name"": ""Poetry for Neanderthals"", ""year"": 2020, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 514050, ""name"": ""English edition 2020"", ""year"": 2020, ""publishers"": [""Exploding Kittens""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 655388, ""name"": ""English edition 2022"", ""year"": 2022, ""publishers"": [""Exploding Kittens""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 782169, ""name"": ""English edition 2024"", ""year"": 2024, ""publishers"": [""Exploding Kittens""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 746180, ""name"": ""English Grab & Game edition 2023"", ""year"": 2023, ""publishers"": [""Exploding Kittens""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 786184, ""name"": ""English Grab & Game edition 2025"", ""year"": 2025, ""publishers"": [""Exploding Kittens""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 735751, ""name"": ""Dutch edition"", ""year"": 2024, ""publishers"": [""Exploding Kittens""], ""languages"": [""Dutch""], ""score"": 2}, {""version_id"": 783801, ""name"": ""French edition"", ""year"": 2023, ""publishers"": [""Exploding Kittens""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 632084, ""name"": ""German edition"", ""year"": 2022, ""publishers"": [""Exploding Kittens""], ""languages"": [""German""], ""score"": 2}]",IMG_4526.jpeg,, Elite Sportz Equipment Table Top Curling,,,,,local,,,,[],[],IMG_4526.jpeg,, Simon's Cat Card Game,188614,Simon's Cat Card Game,2016,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 188614, ""name"": ""Simon's Cat Card Game"", ""year"": 2016, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 1429, ""rank"": 12119}, {""bgg_id"": 330317, ""name"": ""NOM: Simon's Cat Card Game"", ""year"": 2021, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 91.3, ""owned"": 70, ""rank"": null}]","[{""version_id"": 292307, ""name"": ""English edition, first printing"", ""year"": 2016, ""publishers"": [""Steve Jackson Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 779792, ""name"": ""English edition, second printing"", ""year"": 2016, ""publishers"": [""Steve Jackson Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4526.jpeg,, @@ -135,3 +134,4 @@ BOTANY: PERILOUS PERFUMES,417064,Botany: Perilous Perfumes,2024,boardgameexpansi Civilization: West Extension Map,2058,Civilization: West Extension Map,1986,boardgameexpansion,auto,,,version_unknown,"[{""bgg_id"": 2058, ""name"": ""Civilization: West Extension Map"", ""year"": 1986, ""type"": ""boardgameexpansion"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],,, Artistry: Delightful Doorways Mini Expansion,452833,Artistry: Delightful Doorways Mini Expansion,2025,boardgameexpansion,auto,,,version_unknown,"[{""bgg_id"": 452833, ""name"": ""Artistry: Delightful Doorways Mini Expansion"", ""year"": 2025, ""type"": ""boardgameexpansion"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],,, castle panic wizard's tower,104590,Castle Panic: The Wizard's Tower,2011,boardgameexpansion,auto,,,version_unknown,"[{""bgg_id"": 104590, ""name"": ""Castle Panic: The Wizard's Tower"", ""year"": 2011, ""type"": ""boardgameexpansion"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],,, +WIZ-WAR,589,Wiz-War,1983,boardgame,auto,,,version_unknown,"[{""bgg_id"": 589, ""name"": ""Wiz-War"", ""year"": 1983, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4504.jpeg,, diff --git a/data/title_edits.json b/data/title_edits.json index 38af1ce..09fc2fe 100644 --- a/data/title_edits.json +++ b/data/title_edits.json @@ -87,5 +87,13 @@ "match": "BOTANY EXPANSION PERILOUS PERFUMES POISONOUS, CARNIVOROUS, PARASITIC AND BIZARRE PLANTS", "title_raw": "BOTANY: PERILOUS PERFUMES", "confidence": "high" + }, + { + "match": "WIZ-WAR", + "photos": [ + "IMG_4504.jpeg" + ], + "year_hint": 2012, + "confidence": "high" } ] diff --git a/data/titles.json b/data/titles.json index aeb2243..04a7a31 100644 --- a/data/titles.json +++ b/data/titles.json @@ -355,7 +355,7 @@ "confidence": "high", "publisher_hint": "Fantasy Flight Games", "edition_hint": "", - "year_hint": null, + "year_hint": 2012, "language_hint": "English", "art_notes": "Dark spine with wizard/warrior artwork, sepia tones", "source_photos": [ diff --git a/src/bggpipe/static/app.js b/src/bggpipe/static/app.js index a487b8b..faeac20 100644 --- a/src/bggpipe/static/app.js +++ b/src/bggpipe/static/app.js @@ -152,7 +152,7 @@ function wireDismiss(root, done) { /* Status chip for a catalog entry — shared by the catalog and photo pages. */ function statusChip(c) { - if (c.status === "awaiting_resolve") return `awaiting BGG`; + if (c.status === "awaiting_resolve") return `awaiting resolve`; if (c.status === "auto" || c.status === "approved") return `${esc(c.status)}`; if (c.status === "rejected") return `rejected`; if (c.status === "local") return `local — not on BGG`; diff --git a/src/bggpipe/templates/pages/help.html b/src/bggpipe/templates/pages/help.html index 7e9efee..fc5054a 100644 --- a/src/bggpipe/templates/pages/help.html +++ b/src/bggpipe/templates/pages/help.html @@ -47,7 +47,7 @@

What the status chips mean

-

awaiting BGG extracted, not yet matched — usually waiting on the BGG API token.

+

awaiting resolve extracted (or re-queued by an edit) but not yet matched — run resolve from the Pipeline page.

auto matched confidently, no review needed. approved you picked the match yourself.

ambiguous several plausible games — needs your pick on Review. unmatched nothing plausible found — enter a BGG id or re-search on Review.

merged two reads judged to be the same physical box; the merge is veto-able on Review. copy one copy of a title you split.

diff --git a/src/bggpipe/templates/pages/titles.html b/src/bggpipe/templates/pages/titles.html index cd7f226..44a4dbb 100644 --- a/src/bggpipe/templates/pages/titles.html +++ b/src/bggpipe/templates/pages/titles.html @@ -138,7 +138,12 @@ document.getElementById("catbody").addEventListener("click", async e => { source_photos: pe.dataset.photos, row_ix: pe.dataset.rowix === "" ? null : Number(pe.dataset.rowix), }); - if (res) { GATE.reset(); refresh().catch(() => {}); } + if (res) { + showBanner(``); + GATE.reset(); refresh().catch(() => {}); + } return; } const ok = e.target.closest("button.confirmread"); @@ -205,7 +210,20 @@ document.getElementById("catbody").addEventListener("submit", async e => { EDITING = null; render(); return; } const res = await apiPost("/api/edit-title", body); - if (res) { EDITING = null; GATE.reset(); refresh().catch(() => {}); } + if (res) { + EDITING = null; GATE.reset(); refresh().catch(() => {}); + // an edit re-queues any matched row: without a resolve run the line + // sits "awaiting resolve" — say so, and offer the run right here + showBanner(``); + const btn = document.getElementById("resolvenow"); + if (btn) btn.addEventListener("click", async () => { + const r = await apiPost("/api/run/resolve"); + if (r) showBanner(``); + }); + } }); const addForm = document.getElementById("addform");