Fix telemetry delivery and report loaded island names; record Workshop 0.0.130
continuous-integration/drone/push Build is passing

This commit is contained in:
2026-10-30 17:13:11 +01:00
parent 08e5cbf5ea
commit 3ec882dc4e
8 changed files with 114 additions and 17 deletions
+6 -1
View File
@@ -50,7 +50,12 @@ export function validateEvent(event) {
for (const key of ['partial', 'modsTruncated', 'playersTruncated']) {
requireValue(typeof event[key] === 'boolean', `Invalid ${key}`);
}
for (const key of ['elapsedSeconds', 'connectedPlayers', 'peakPlayers', 'droppedEvents']) {
// Published Enfusion clients serialize elapsed time as fractional seconds.
// Normalize before hashing/storage so their durable queues can retry unchanged.
requireValue(typeof event.elapsedSeconds === 'number' && Number.isFinite(event.elapsedSeconds)
&& event.elapsedSeconds >= 0 && event.elapsedSeconds <= 2147483647, 'Invalid elapsedSeconds');
event.elapsedSeconds = Math.floor(event.elapsedSeconds);
for (const key of ['connectedPlayers', 'peakPlayers', 'droppedEvents']) {
requireValue(integer(event[key]), `Invalid ${key}`);
}
requireValue(integer(event.occurredAt, 253402300799), 'Invalid occurredAt');