From 767f42350088ec74043929ce6217f905136940aa Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Fri, 17 Apr 2026 13:22:14 +0300 Subject: [PATCH] fix: suppress auto-approved permission notifications Skip permission prompts when auto-approve is enabled Keep request handling reliable after reconnect Remove unused icon import to keep lint clean --- packages/ui/src/components/views/FilesView.tsx | 1 - packages/ui/src/sync/sync-context.tsx | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/components/views/FilesView.tsx b/packages/ui/src/components/views/FilesView.tsx index e4b5b8ab..a6459fe4 100644 --- a/packages/ui/src/components/views/FilesView.tsx +++ b/packages/ui/src/components/views/FilesView.tsx @@ -17,7 +17,6 @@ import { RiSearchLine, RiSave3Line, RiTextWrap, - RiCommandLine, RiMore2Fill, RiFileAddLine, RiFolderAddLine, diff --git a/packages/ui/src/sync/sync-context.tsx b/packages/ui/src/sync/sync-context.tsx index f5fb6aed..c2dbe9bc 100644 --- a/packages/ui/src/sync/sync-context.tsx +++ b/packages/ui/src/sync/sync-context.tsx @@ -878,6 +878,23 @@ async function resyncDirectoryAfterReconnect( grouped[sessionId].sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0)) } + const permissionStore = usePermissionStore.getState() + const autoAcceptingSessionIds = Object.keys(grouped).filter((sessionId) => permissionStore.isSessionAutoAccepting(sessionId)) + + if (autoAcceptingSessionIds.length > 0) { + await Promise.all( + autoAcceptingSessionIds.flatMap((sessionId) => + (grouped[sessionId] ?? []).map((permission) => + sessionActions.respondToPermission(permission.sessionID, permission.id, "once").catch(() => undefined), + ), + ), + ) + + for (const sessionId of autoAcceptingSessionIds) { + delete grouped[sessionId] + } + } + for (const [sessionId, permissions] of Object.entries(grouped)) { const knownIds = new Set((before.permission[sessionId] ?? []).map((item) => item.id)) const isViewed = isViewedInCurrentSession(directory, sessionId)