From 72aaa166f77c27c71511c13cd45c070db67d9575 Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Sun, 12 Jul 2026 00:54:46 +0300 Subject: [PATCH] fix(session): do not block draft creation on auto-accept --- .../ui/src/sync/__tests__/issue-2039.test.ts | 1 + packages/ui/src/sync/session-ui-store.ts | 17 ++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/ui/src/sync/__tests__/issue-2039.test.ts b/packages/ui/src/sync/__tests__/issue-2039.test.ts index 00fc232f..8197823c 100644 --- a/packages/ui/src/sync/__tests__/issue-2039.test.ts +++ b/packages/ui/src/sync/__tests__/issue-2039.test.ts @@ -323,6 +323,7 @@ describe("issue 2039 draft auto-accept", () => { providerID: "provider", modelID: "model", }) + await new Promise((resolve) => setTimeout(resolve, 0)) expect(result?.sessionId).toBe("ses_issue_2039") expect(createSessionCalls).toHaveLength(1) diff --git a/packages/ui/src/sync/session-ui-store.ts b/packages/ui/src/sync/session-ui-store.ts index aa9d6e57..578b108c 100644 --- a/packages/ui/src/sync/session-ui-store.ts +++ b/packages/ui/src/sync/session-ui-store.ts @@ -488,19 +488,18 @@ export async function materializeOpenDraftSession(selection: { useSelectionStore.getState().saveAgentModelVariantForSession(created.id, effectiveDraftAgent, selection.providerID, selection.modelID, selection.variant) } - if (draftPermissionAutoAcceptEnabled) { - try { - const { usePermissionStore } = await import("@/stores/permissionStore") - await usePermissionStore.getState().setSessionAutoAccept(created.id, true) - } catch (error) { - console.warn("Failed to apply draft permission auto-accept to new session:", error) - } - } - store.initializeNewOpenChamberSession(created.id, configState.agents ?? []) store.setCurrentSession(created.id, createdDirectory) + if (draftPermissionAutoAcceptEnabled) { + void import("@/stores/permissionStore") + .then(({ usePermissionStore }) => usePermissionStore.getState().setSessionAutoAccept(created.id, true)) + .catch((error) => { + console.warn("Failed to apply draft permission auto-accept to new session:", error) + }) + } + return { sessionId: created.id, directory: createdDirectory,