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)