From d2ed9972bd34023534a6d0c75dadce4418de3379 Mon Sep 17 00:00:00 2001 From: kanweiwei Date: Wed, 2 Apr 2025 09:59:21 +0800 Subject: [PATCH] fix(NutstoreService): Fix slash handling in path processing #4208 --- src/main/services/NutstoreService.ts | 4 ++-- .../src/pages/settings/DataSettings/NutstoreSettings.tsx | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/services/NutstoreService.ts b/src/main/services/NutstoreService.ts index 3b04496a..20e05beb 100644 --- a/src/main/services/NutstoreService.ts +++ b/src/main/services/NutstoreService.ts @@ -112,10 +112,10 @@ function convertToFileStat(serverBase: string, item: WebDAVResponse['multistatus const props = item.propstat.prop const isDir = !isNil(props.resourcetype?.collection) const href = decodeURIComponent(item.href) - const filename = serverBase === '/' ? href : path.join('/', href.replace(serverBase, '')) + const filename = serverBase === '/' ? href : path.posix.join('/', href.replace(serverBase, '')) return { - filename, + filename: filename.endsWith('/') ? filename.slice(0, -1) : filename, basename: path.basename(filename), lastmod: props.getlastmodified || '', size: props.getcontentlength ? parseInt(props.getcontentlength, 10) : 0, diff --git a/src/renderer/src/pages/settings/DataSettings/NutstoreSettings.tsx b/src/renderer/src/pages/settings/DataSettings/NutstoreSettings.tsx index 4398919c..72e41c3f 100644 --- a/src/renderer/src/pages/settings/DataSettings/NutstoreSettings.tsx +++ b/src/renderer/src/pages/settings/DataSettings/NutstoreSettings.tsx @@ -252,8 +252,10 @@ const NutstoreSettings: FC = () => { placeholder={t('settings.data.nutstore.path.placeholder')} style={{ width: 250 }} value={nutstorePath} - onChange={(e) => setStoragePath(e.target.value)} - onBlur={() => dispatch(setNutstorePath(storagePath || ''))} + onChange={(e) => { + setStoragePath(e.target.value) + dispatch(setNutstorePath(e.target.value)) + }} />