Training lists duplicate classic puzzles because the training filter's set names don't match
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
Research direction
Start in PuzzleLibrary.lua at invalidSetsForTraining and compare those names to the built-in set names in default_data/puzzles/Puzzles.json (puzzle_set_name_classic_set_1–6 vs puzzle_name_classic_set_1–6). Align the filter (or use a more stable key than the localized name). Then find where the training list is built and drop duplicate UUIDs so copies from puzzles/stock (example).json cannot sit next to the same built-in puzzles. Confirm by opening training and checking that classic puzzles no longer appear twice in a row.
Written by the indexing model from the issue text.
Description
Training sometimes shows the same puzzle twice in a row: solving it immediately brings up an identical copy. In my training list, 58 puzzles appear twice.
Causes
- invalidSetsForTraining in PuzzleLibrary.lua is meant to keep the classic sets out of training, but it lists puzzle_name_classic_set_1–6. The built-in sets in default_data/puzzles/Puzzles.json are named puzzle_set_name_classic_set_1–6, so nothing is filtered.
- The old puzzles/stock (example).json contains the same puzzles as "Classic set 1"–"Classic set 6". UUIDs are computed from puzzle content, so these copies share UUIDs with the built-in puzzles and sort right next to them. cleanupDefaultPuzzles only deletes the file if it was last modified before 2025-09-14. Mine wasn't deleted: it contains recorded solutions, so the game has written to it since then.
Suggested fix
- Correct the names in invalidSetsForTraining (or filter by something more stable than the localized set name).
- Remove repeated UUIDs from the training list, so copied puzzle files can't add the same puzzle twice.
Found while working on #778.
- Dominant language
- Lua
- Stars
- 30
- Forks
- 20
- Avg merge
- 7d 1h
- Merged PRs (30d)
- 9
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from panel-attack/panel-game
-
engine priority: 3 - wishlist wontfix
Difficulty 1/5 Under an hour Newbie friendliness 90/100
panel-attack/panel-game#780 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
panel-attack/panel-game#776 ·
Maintainers usually reply within 3 days
-
Anonymous replays leak the player 2's real publicId, winnerId names the wrong player whenever player 1 winsPossibly taken A pull request linked to this issue is open or already merged. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
panel-attack/panel-game#766 ·
Maintainers usually reply within 3 days
-
Challenge Mode doesn't shutdown properly when you winPossibly taken A pull request linked to this issue is open or already merged. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
panel-attack/panel-game#761 ·
Maintainers usually reply within 3 days
-
bug
Difficulty 3/5 Half a day Newbie friendliness 25/100
panel-attack/panel-game#791 ·
Maintainers usually reply within 3 days
All issues in panel-attack/panel-game
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
beyond-all-reason/BYAR-Chobby#1274 ·
Maintainers usually reply within 1 day
-
crash-guard.sh reads the CRASH_AB_OK=1 marker from the raw hook input, the description field includedPossibly taken @lneto claimed this today. Openseverity: low
Difficulty 2/5 1-3 hours Newbie friendliness 89/100
luainkernel/lunatik#1902 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
EmmyLuaLs/emmylua-analyzer-rust#1301 ·
Maintainers usually reply within 1 day