NewTon DC Tournament Manager v5.0.0 — March 24, 2026
Download v5.0.0NewTon DC Tournament Manager Version 5.0.0 is the first version where the Tournament Manager and Chalker communicate directly. A QR code replaces the verbal handoff — no more typing player names into the Chalker, no more shouting across the venue.
The TM generates a signed assignment QR for any live match. The Chalker scans it, verifies the signature, and auto-populates everything: player names, format, best-of, max rounds, lane, and referee. The operator confirms and the match starts. From QR to first dart in seconds.
This is a major version — TM and Chalker are no longer independent tools. They are now a coordinated system. The QR protocol is also the foundation for the future network layer, where the same payload schemas will travel over an encrypted connection instead of a camera lens.
A QR button appears to the left of "Stop Match" on every live match card in Match Controls. Click it to display the Chalker assignment QR code. The button only appears for live matches — not pending, not completed.
Both must be assigned before a QR code can be generated. If either is missing, the modal shows an amber warning instead of a code.
The QR encodes a JSON payload signed with CRC-32 (newton-integrity.js). It carries everything the Chalker needs: player names, x01 format, best-of legs, max rounds, lane, and referee. Keys are sorted before signing — deterministic across all JS engines.
A 12-character hex identifier generated once per TM installation, persisted in global config. Identifies this TM instance in all QR payloads — the foundation for cross-device validation in the network layer.
Two new fields in Config → Match Configuration → Chalker:
Both are sent to the Chalker via QR. Both reset with "Reset to Defaults" and are included in Developer Console → Reset All Config.
A QR button has been added to the Chalker's New Match dialog, between "New Match" and "Network". Tap it — the camera opens immediately. No intermediate screens.
BarcodeDetector API scans the camera feed continuously. The moment a valid NewTon assignment QR enters the frame, it's captured — no shutter button needed.
Every scan is verified against the CRC-32 signature before any data is accepted. Corrupted or tampered codes are rejected with a clear error message. The camera stays open so the operator can try again.
A confirmation screen shows the full match assignment before anything starts:
The operator confirms → starting player selection → match begins. Catches wrong-match scans before a dart is thrown.
The referee name is now visible throughout the QR flow:
Harry vs Bob · Lane 1 · 501 Bo3 · Ref: CharlesLane 1 · 501 · Leg 1 of 3 · Ref: CharlesLane dropdown narrowed to 58px, Referee dropdown to 120px — prevents the bottom row from wrapping when the QR button is present.
A Chalker button at the end of the TM navigation row opens the Chalker in a new tab.
"NewTon DC Tournament Manager" in the TM footer now links to newtondarts.com, styled to match the surrounding text.
camera=() → camera=(self) in the /chalker/ location block — required for getUserMedia / BarcodeDetector to function.Permissions-Policy header. A more_set_headers directive in the NPM Advanced tab is required. See the Docker Quick Start guide for the exact snippet.js/main.js — version bump to 5.0.0; footer link to newtondarts.comjs/newton-integrity.js — new CRC-32 sign/verify modulejs/qr-bridge.js — QR payload builder and modal display; referee in subtitlelib/qrcode-generator.js — QR generation library (qrcode-generator v1.4.4, standalone)js/results-config.js — x01Format, maxRounds in DEFAULT_CONFIG; server ID generationjs/bracket-rendering.js — QR button on live cards; narrowed dropdown classestournament.html — matchQRModal markup; Chalker subsection in Match Configuration; Chalker nav linklanding.html — chalker/ → chalker/index.htmlcss/styles.css — .cc-btn-qr, .cc-lane-dropdown, .cc-referee-dropdown; nav-btn font fixes; footer link styleschalker/index.html — QR button; scan modal; confirm modal; script tagschalker/js/chalker.js — QR scanning, verification, confirmation, and match start from payload; referee in info barchalker/js/newton-integrity.js — new file, identical copy of TM CRC-32 modulechalker/styles/chalker.css — camera modal and confirmation modal styleschalker/sw.js — version chalker-v99docker/nginx.conf — camera=(self) for Chalker location blockdocker-quickstart.html — NPM Permissions-Policy workaround documentedDocs/QR.md — full protocol specification with all v5.0.0 design decisionsNo migration required. Fully compatible with all existing tournaments and saved configurations.
New global config fields (x01Format, maxRounds, serverId) are generated automatically on first load with correct defaults.
NewTon DC Tournament Manager v5.0.0 — The Revolution Will Be Scanned.
Download v5.0.0For older releases, see the GitHub releases page.