fix(gateway): catch invalid cron session targets

This commit is contained in:
Vincent Koc 2026-04-05 08:10:29 +01:00
parent eb0f367e00
commit 42bc411c46
1 changed files with 10 additions and 14 deletions

View File

@ -245,20 +245,16 @@ export const cronHandlers: GatewayRequestHandlers = {
);
return;
}
const result = await context.cron.enqueueRun(jobId, p.mode ?? "force");
if (
result.ok &&
"ran" in result &&
!result.ran &&
"reason" in result &&
result.reason === "unsupported-spec"
) {
respond(
false,
undefined,
errorShape(ErrorCodes.INVALID_REQUEST, "invalid cron sessionTarget session id"),
);
return;
let result: Awaited<ReturnType<typeof context.cron.enqueueRun>>;
try {
result = await context.cron.enqueueRun(jobId, p.mode ?? "force");
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
if (message === "invalid cron sessionTarget session id") {
respond(false, undefined, errorShape(ErrorCodes.INVALID_REQUEST, message));
return;
}
throw error;
}
respond(true, result, undefined);
},