diff --git a/server/src/__tests__/issue-recovery-actions.test.ts b/server/src/__tests__/issue-recovery-actions.test.ts index 68b495f055c..39d7ad2508c 100644 --- a/server/src/__tests__/issue-recovery-actions.test.ts +++ b/server/src/__tests__/issue-recovery-actions.test.ts @@ -1441,6 +1441,10 @@ describeEmbeddedPostgres("issue recovery actions", () => { expect(second.body).toMatchObject({ reused: true, + issue: { + id: sourceIssueId, + activeRecoveryAction: null, + }, recoveryIssue: { id: first.body.recoveryIssue.id, }, diff --git a/server/src/routes/issues.ts b/server/src/routes/issues.ts index 24997223a0f..4195ed6fbfe 100644 --- a/server/src/routes/issues.ts +++ b/server/src/routes/issues.ts @@ -4347,11 +4347,7 @@ export function issueRoutes( return false; } - async function resolveDelegatedRecoveryTargetAgentId(companyId: string, target: "ceo") { - if (target !== "ceo") { - throw unprocessable("Unsupported delegated recovery target"); - } - + async function resolveDelegatedRecoveryTargetAgentId(companyId: string) { const ceoCandidates = await db .select({ id: agents.id, @@ -5753,7 +5749,10 @@ export function issueRoutes( const recoveryIssue = await svc.getById(resolvedAction.recoveryIssueId); if (recoveryIssue && recoveryIssue.companyId === existing.companyId) { res.json({ - issue: existing, + issue: { + ...existing, + activeRecoveryAction: null, + }, recoveryIssue, recoveryAction: resolvedAction, reused: true, @@ -5778,7 +5777,7 @@ export function issueRoutes( } const actor = getActorInfo(req); - const assigneeAgentId = await resolveDelegatedRecoveryTargetAgentId(existing.companyId, target); + const assigneeAgentId = await resolveDelegatedRecoveryTargetAgentId(existing.companyId); await assertCanAssignTasks(req, existing.companyId, { projectId: await resolveAssignmentProjectId({ companyId: existing.companyId,