From e27de5e2c363704374fad341c6bf19f22ac917ec Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Fri, 24 Apr 2026 03:22:09 +0700 Subject: [PATCH] chore(lint): parallelize pending permission approvals approvePendingPermissions now filters and records handled IDs in a sync pass, then awaits all allowPermission calls concurrently instead of looping awaits. --- .../daemon-e2e/opencode-send-interrupt.real.e2e.test.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/server/src/server/daemon-e2e/opencode-send-interrupt.real.e2e.test.ts b/packages/server/src/server/daemon-e2e/opencode-send-interrupt.real.e2e.test.ts index 01bbbe7bd..e7d2b7490 100644 --- a/packages/server/src/server/daemon-e2e/opencode-send-interrupt.real.e2e.test.ts +++ b/packages/server/src/server/daemon-e2e/opencode-send-interrupt.real.e2e.test.ts @@ -120,13 +120,11 @@ async function approvePendingPermissions( ): Promise { const snapshot = await client.fetchAgent(agentId).catch(() => null); const pending = snapshot?.agent.pendingPermissions ?? []; - for (const permission of pending) { - if (handledPermissionIds.has(permission.id)) { - continue; - } + const toApprove = pending.filter((permission) => !handledPermissionIds.has(permission.id)); + for (const permission of toApprove) { handledPermissionIds.add(permission.id); - await allowPermission(client, agentId, permission); } + await Promise.all(toApprove.map((permission) => allowPermission(client, agentId, permission))); } async function waitForRunningBashToolCall(