From f6f1c4f7171b6fc3ff68f2cb300961e91eeffe71 Mon Sep 17 00:00:00 2001 From: thzxx Date: Thu, 21 May 2026 11:43:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BE=A7=E8=BE=B9=E6=A0=8Fwatcher?= =?UTF-8?q?=E6=B3=84=E6=BC=8F=E3=80=81=E7=9B=AE=E5=BD=95=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E9=98=B2=E6=8A=96=E3=80=81=E6=B8=85=E7=90=86=E8=BF=87=E6=97=B6?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.js | 1 + renderer/renderer.js | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/main.js b/main.js index 47cc4e9..b2287ae 100644 --- a/main.js +++ b/main.js @@ -111,6 +111,7 @@ function createWindow() { mainWindow.on('closed', () => { stopWatching(); + stopSidebarWatching(); mainWindow = null; }); } diff --git a/renderer/renderer.js b/renderer/renderer.js index ebfa65d..5be30f0 100644 --- a/renderer/renderer.js +++ b/renderer/renderer.js @@ -1263,8 +1263,11 @@ btnOpenFolder.addEventListener('click', openFolder); if (typeof window.electronAPI !== 'undefined') { + let dirRefreshTimer = null; window.electronAPI.onDirChanged(() => { - if (currentRootPath) refreshTree(); + if (!currentRootPath) return; + if (dirRefreshTimer) clearTimeout(dirRefreshTimer); + dirRefreshTimer = setTimeout(() => refreshTree(), 300); }); } } @@ -1275,7 +1278,6 @@ } async function openFolderDialog() { - // We'll add a dir:openDialog IPC if (typeof window.electronAPI !== 'undefined' && window.electronAPI.openFolderDialog) { const result = await window.electronAPI.openFolderDialog(); if (result) {