From 8f3aa3519d6f4cc91c0f2c6156ee88e4e13c991b Mon Sep 17 00:00:00 2001 From: Dotta Date: Tue, 21 Apr 2026 01:17:53 -0500 Subject: [PATCH] Fix missions serialized document dates --- packages/plugins/plugin-missions/src/mission-runtime.ts | 8 +++++++- packages/plugins/plugin-missions/tests/plugin.spec.ts | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/plugins/plugin-missions/src/mission-runtime.ts b/packages/plugins/plugin-missions/src/mission-runtime.ts index 4619805009b..05c76f187db 100644 --- a/packages/plugins/plugin-missions/src/mission-runtime.ts +++ b/packages/plugins/plugin-missions/src/mission-runtime.ts @@ -158,6 +158,12 @@ function stringifyError(error: unknown) { return String(error); } +function toIsoTimestamp(value: Date | string | null | undefined) { + if (value instanceof Date) return value.toISOString(); + if (typeof value === "string") return value; + return new Date(0).toISOString(); +} + function unique(values: T[]) { return [...new Set(values)]; } @@ -240,7 +246,7 @@ async function parseMissionDocuments( issueId: issue.id, key: summary.key, title: summary.title, - updatedAt: summary.updatedAt.toISOString(), + updatedAt: toIsoTimestamp(summary.updatedAt), parsed: parseMissionValidationReportDocument(document.body, { round }), }); } catch (error) { diff --git a/packages/plugins/plugin-missions/tests/plugin.spec.ts b/packages/plugins/plugin-missions/tests/plugin.spec.ts index 184614e6279..693d8fe59b5 100644 --- a/packages/plugins/plugin-missions/tests/plugin.spec.ts +++ b/packages/plugins/plugin-missions/tests/plugin.spec.ts @@ -527,6 +527,14 @@ describe("missions plugin worker", () => { }); } + const originalList = harness.ctx.issues.documents.list; + harness.ctx.issues.documents.list = async (...args) => + (await originalList(...args)).map((summary) => ({ + ...summary, + createdAt: summary.createdAt.toISOString(), + updatedAt: summary.updatedAt.toISOString(), + })) as unknown as Awaited>; + const originalUpsert = harness.ctx.issues.documents.upsert; const documentUpdates: Array<{ key: string; baseRevisionId: string | null | undefined }> = []; harness.ctx.issues.documents.upsert = async (input) => {