NewTon DC Tournament Manager v5.0.1-beta.8 — March 29, 2026
Download v5.0.1-beta.8NewTon DC Tournament Manager v5.0.1-beta.8 is a polish and correctness release. History management gets delete support and a fixed import. The undo dialog now knows whether achievements came from the Chalker or were entered manually. The tons counter is corrected. The QR Results button is tidied up across the UI. The help system is updated for all new features.
The undo confirmation now shows whether a match was completed via Chalker or Manual entry, and adjusts its achievement message accordingly:
The source label also appears in the match score line: e.g. “Frank wins 1–0 (Chalker)”.
NewtonStats.extractAchievements() previously used if / else if — a 180 was counted as a 180 but not as a ton. Fixed to two independent checks: any visit ≥ 100 now increments tons, and any visit of exactly 180 also increments oneEighties. A match with two 180s and one additional ton now correctly shows 3 tons and 2 180s.
Each tournament row in the History tab now has a Delete button. Clicking it opens a confirmation modal that requires typing the exact tournament name before the Delete button enables. All match records and the tournament meta record are permanently removed.
importAll() previously deleted the id field from imported match records and called put() without a key. This caused a ConstraintError on the tournamentMatch unique index whenever records for the same tournament already existed in the database — silently rolling back the entire import.
Rewritten as a proper per-record upsert: each match is looked up by (tournamentId, matchId); if found, the existing DB primary key is reused for put() (overwrite); if not found, the record is added as new. Tournament metadata continues to use put() directly, keyed by tournamentId. Unrelated records in the database are never touched.
deleteTournament() called .delete(meta.id) on the tournaments store. The store uses tournamentId as its keyPath — no id field exists. Fixed to .delete(tournamentId).tx.error could be null, causing e.message to throw in the catch block. Error display now guards against null.js/newton-stats.js — tons fix: if / else if → two independent if checksjs/bracket-rendering.js — undo dialog source label and confidence message; QR Results button visibility gatingjs/newton-db.js — deleteTournament() keyPath fix; importAll() rewritten as per-record upsertjs/newton-history.js — promptDeleteTournament(), onDeleteInputChange(), confirmDeleteTournament(); import error null-safety fixjs/dynamic-help-system.js — tournament bracket QR sections; new History page help entryjs/main.js — version 5.0.1-b.8tournament.html — History delete modal; History ï¨ button; History page title; Scan Results QR in Confirm Match Winner footer; QR Results in Match Controls bottom rowcss/styles.css — .undo-achievements-info green italic style for Chalker undo messagellms.txt — factual corrections: Chalker→TM result QR implemented; IndexedDB storage; Docker SSL section addedNewTon DC Tournament Manager v5.0.1-beta.8 — History, Properly Kept.
Download v5.0.1-beta.8For older releases, see the GitHub releases page.