From 0699ffce8942f13d0cd28336d940438546c919fb Mon Sep 17 00:00:00 2001 From: Dotta Date: Sun, 10 May 2026 01:16:39 -0500 Subject: [PATCH] Require recovery resolution status --- packages/shared/src/validators/issue.ts | 2 +- ui/src/api/issues.ts | 2 +- ui/src/pages/IssueDetail.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/shared/src/validators/issue.ts b/packages/shared/src/validators/issue.ts index b7d1985a72a..3adaadb47e5 100644 --- a/packages/shared/src/validators/issue.ts +++ b/packages/shared/src/validators/issue.ts @@ -212,7 +212,7 @@ const RESOLVE_ISSUE_RECOVERY_ACTION_OUTCOMES = [ export const resolveIssueRecoveryActionSchema = z.object({ actionId: z.string().uuid().optional(), outcome: z.enum(RESOLVE_ISSUE_RECOVERY_ACTION_OUTCOMES), - sourceIssueStatus: z.enum(["done", "in_review", "blocked"]).optional(), + sourceIssueStatus: z.enum(["done", "in_review", "blocked"]), resolutionNote: multilineTextSchema.optional().nullable(), }).strict().superRefine((value, ctx) => { if (value.outcome === "restored") { diff --git a/ui/src/api/issues.ts b/ui/src/api/issues.ts index 7ab3390f4e3..23a86295e85 100644 --- a/ui/src/api/issues.ts +++ b/ui/src/api/issues.ts @@ -105,7 +105,7 @@ export const issuesApi = { data: { actionId?: string; outcome: "restored" | "false_positive" | "blocked" | "cancelled"; - sourceIssueStatus?: "done" | "in_review" | "blocked"; + sourceIssueStatus: "done" | "in_review" | "blocked"; resolutionNote?: string | null; }, ) => api.post(`/issues/${id}/recovery-actions/resolve`, data), diff --git a/ui/src/pages/IssueDetail.tsx b/ui/src/pages/IssueDetail.tsx index ee7c744f5db..36a90997013 100644 --- a/ui/src/pages/IssueDetail.tsx +++ b/ui/src/pages/IssueDetail.tsx @@ -1745,7 +1745,7 @@ export function IssueDetail() { mutationFn: (data: { actionId?: string; outcome: ResolveRecoveryActionOutcome; - sourceIssueStatus?: "done" | "in_review" | "blocked"; + sourceIssueStatus: "done" | "in_review" | "blocked"; resolutionNote?: string | null; }) => issuesApi.resolveRecoveryAction(issueId!, data), onSuccess: ({ issue: nextIssue }) => {