Files
Live_RC/package.json
larssand 15b574a37d Fix Team Race duplicate-membership bug and two related team-roster gaps
Reported by the user: creating a team, adding the wrong driver, then
moving that driver to another team by ticking them on the new team's
edit form left the driver on both teams at once. Root cause: there
was never a "move" action - the edit form only ever added a driver to
the team being saved, never removed them from wherever they already
were. Live laps from a driver on two teams were then silently
credited to only the first-matching team, with no clear error.

reassignTeamMembers (event_race_logic.js) now strips a driver/car
being saved onto one team out of every other team in the same event,
and the team checkbox list shows which team a driver is already on
before you move them.

Also fixed two related gaps found while investigating, at the user's
request to fix everything: getTeamDriverPool had regressed to
ignoring the event's class/participant scoping entirely (showing
every driver in the club), and deleting a driver or car left them
behind in team rosters forever. Added a duplicate_team_members Race
Day preflight check as defense in depth for any already-corrupted
saved state.

Verified with new unit tests for reassignTeamMembers, getTeamDriverPool
and the new preflight check, plus a new permanent browser test
reproducing the user's exact reported scenario end to end.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 17:07:45 +02:00

35 lines
1.2 KiB
JSON

{
"name": "rc-racecore",
"version": "1.10.2",
"private": true,
"description": "RC RaceCore live timing and race control with AMMC ingest and SQLite persistence",
"engines": {
"node": ">=22 <27",
"npm": ">=10"
},
"allowScripts": {
"better-sqlite3": true
},
"scripts": {
"preinstall": "node scripts/preinstall.js",
"postinstall": "node scripts/verify-install.js",
"start": "node scripts/serverctl.js start",
"start:fg": "node server.js",
"stop": "node scripts/serverctl.js stop",
"status": "node scripts/serverctl.js status",
"restart": "node scripts/serverctl.js restart",
"update": "node scripts/serverctl.js update",
"verify": "node scripts/verify-install.js",
"backup:restore": "node scripts/restore-backup.js",
"audit:prod": "npm audit --omit=dev",
"test": "node --experimental-default-type=module tests/run.js",
"test:browser": "node --experimental-default-type=module tests/browser_smoke.js",
"setup:windows": "powershell -NoProfile -ExecutionPolicy Bypass -File windows/setup.ps1"
},
"dependencies": {
"better-sqlite3": "^12.11.1",
"express": "5.2.1",
"qrcode": "^1.5.4"
}
}