Fix keyed telemetry match attribution (Refs #144)
CI / checks (push) Successful in 5m26s

This commit is contained in:
2026-10-12 00:58:05 -04:00
parent 4ea291d305
commit 785cc4616b
24 changed files with 1115 additions and 112 deletions
+7 -5
View File
@@ -2,7 +2,7 @@ import { jsonBody } from '$lib/server/request-body.js';
import { isHttpError, json } from '@sveltejs/kit';
import { parseGameEvent, type GameTelemetry } from '$lib/telemetry.js';
import { getServer } from '$lib/server/fleet/servers.js';
import { saveTelemetry } from '$lib/server/fleet/telemetry.js';
import { saveTelemetryWithOutcome } from '$lib/server/fleet/telemetry.js';
import { recordTelemetryRequest } from '$lib/server/fleet/telemetry-requests.js';
import { recordGameEvent } from '$lib/server/fleet/beta-tests.js';
import { db } from '$lib/server/db/index.js';
@@ -60,11 +60,13 @@ export async function POST({ request }: { request: Request }) {
const server = getServer(telemetry.server);
if (!server || server.destroyed_at)
return reject(404, 'Server is not registered or has been destroyed');
db().transaction(() => {
telemetry = saveTelemetry(telemetry);
recordGameEvent(telemetry);
const current = db().transaction(() => {
const saved = saveTelemetryWithOutcome(telemetry);
telemetry = saved.telemetry;
if (saved.current) recordGameEvent(telemetry);
return saved.current;
})();
emit({ type: 'server-telemetry', entries: [telemetry] });
if (current) emit({ type: 'server-telemetry', entries: [telemetry] });
} catch (error) {
console.error('Could not process telemetry', error);
log(