diff --git a/src/main/ipc/dashboard-payload-validation.test.ts b/src/main/ipc/dashboard-payload-validation.test.ts index 1a40ce22ec6..3ae3e85fdf1 100644 --- a/src/main/ipc/dashboard-payload-validation.test.ts +++ b/src/main/ipc/dashboard-payload-validation.test.ts @@ -21,6 +21,7 @@ const SNAPSHOT = { repoName: 'Orca', worktreeName: 'Dashboard', startedAt: 1_699_999_000_000, + finishedAt: null, stateChangedAt: 1_699_999_500_000, unseen: true, askSummary: '{"question":"Proceed?"}' diff --git a/src/main/ipc/dashboard-payload-validation.ts b/src/main/ipc/dashboard-payload-validation.ts index a729db97f4d..54168d1904a 100644 --- a/src/main/ipc/dashboard-payload-validation.ts +++ b/src/main/ipc/dashboard-payload-validation.ts @@ -77,6 +77,7 @@ function isDashboardCard(value: unknown): boolean { isBoundedString(card.repoName, MAX_LABEL_LENGTH, true) && isBoundedString(card.worktreeName, MAX_LABEL_LENGTH, true) && isFiniteNumber(card.startedAt) && + (card.finishedAt === null || isFiniteNumber(card.finishedAt)) && isFiniteNumber(card.stateChangedAt) && typeof card.unseen === 'boolean' && isOptionalBoundedString(card.askSummary, AGENT_STATUS_INTERACTIVE_PROMPT_MAX_LENGTH)