fix live leaderbord details
This commit is contained in:
@@ -177,15 +177,11 @@ function connectDecoderRole(role, deps) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Array.isArray(parsed)) {
|
||||
parsed.forEach((message) => processDecoderMessage(message, role));
|
||||
} else {
|
||||
processDecoderMessage(parsed, role);
|
||||
}
|
||||
const messages = Array.isArray(parsed) ? parsed : [parsed];
|
||||
const changed = messages.reduce((didChange, message) => processDecoderMessage(message, role) || didChange, false);
|
||||
|
||||
saveState();
|
||||
updateConnectionBadge();
|
||||
if (["timing", "dashboard", "overlay", "training"].includes(getCurrentView())) {
|
||||
if (changed && ["timing", "dashboard", "overlay", "training"].includes(getCurrentView())) {
|
||||
renderView();
|
||||
}
|
||||
};
|
||||
@@ -330,7 +326,7 @@ export function processDecoderMessageHelper(msg, deps, decoderRole = "main") {
|
||||
pushOverlayEvent("pit", `${entry.displayName || entry.driverName} • PIT IN`);
|
||||
triggerRaceAudio("entering_pits", { variant: entry.carId || entry.driverId || transponder, driverId: entry.driverId, logData: { raceId: session.eventId, driverId: entry.driverId } });
|
||||
saveState();
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (decoderRole === "pit_exit") {
|
||||
@@ -360,7 +356,7 @@ export function processDecoderMessageHelper(msg, deps, decoderRole = "main") {
|
||||
pushOverlayEvent("pit", `${entry.displayName || entry.driverName} • PIT ${formatLap(pitStopMs)}`);
|
||||
triggerRaceAudio("leaving_pits", { variant: entry.carId || entry.driverId || transponder, driverId: entry.driverId, logData: { raceId: session.eventId, driverId: entry.driverId } });
|
||||
saveState();
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (decoderRole === "split") {
|
||||
@@ -392,7 +388,7 @@ export function processDecoderMessageHelper(msg, deps, decoderRole = "main") {
|
||||
});
|
||||
pushOverlayEvent("split", `${entry.displayName || entry.driverName} • ${formatLap(splitMs)}`);
|
||||
saveState();
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (startMode === "staggered" && !entry.startTimestamp) {
|
||||
@@ -400,7 +396,7 @@ export function processDecoderMessageHelper(msg, deps, decoderRole = "main") {
|
||||
entry.lastTimestamp = timestamp;
|
||||
announcePassing(entry);
|
||||
saveState();
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!entry.startTimestamp) {
|
||||
@@ -448,7 +444,7 @@ export function processDecoderMessageHelper(msg, deps, decoderRole = "main") {
|
||||
}
|
||||
persistPassingToBackend(session.id, passing);
|
||||
saveState();
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
|
||||
const previousPersonalBest = Number(entry.bestLapMs || 0) || null;
|
||||
@@ -500,4 +496,6 @@ export function processDecoderMessageHelper(msg, deps, decoderRole = "main") {
|
||||
}
|
||||
}
|
||||
announcePassing(entry);
|
||||
saveState();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user