fix: more robust portable data dir setup logic (#5347)

This commit is contained in:
Song 2025-04-26 15:29:54 +08:00 committed by GitHub
parent 4fff7f9014
commit ff21f764de
2 changed files with 7 additions and 7 deletions

View File

@ -17,7 +17,7 @@ import {
import { registerShortcuts } from './services/ShortcutService' import { registerShortcuts } from './services/ShortcutService'
import { TrayService } from './services/TrayService' import { TrayService } from './services/TrayService'
import { windowService } from './services/WindowService' import { windowService } from './services/WindowService'
import { setAppDataDir } from './utils/file' import { setUserDataDir } from './utils/file'
// Check for single instance lock // Check for single instance lock
if (!app.requestSingleInstanceLock()) { if (!app.requestSingleInstanceLock()) {
@ -56,7 +56,7 @@ if (!app.requestSingleInstanceLock()) {
replaceDevtoolsFont(mainWindow) replaceDevtoolsFont(mainWindow)
setAppDataDir() setUserDataDir()
// Setup deep link for AppImage on Linux // Setup deep link for AppImage on Linux
await setupAppImageDeepLink() await setupAppImageDeepLink()

View File

@ -2,7 +2,7 @@ import * as fs from 'node:fs'
import os from 'node:os' import os from 'node:os'
import path from 'node:path' import path from 'node:path'
import { isPortable } from '@main/constant' import { isMac } from '@main/constant'
import { audioExts, documentExts, imageExts, textExts, videoExts } from '@shared/config/constant' import { audioExts, documentExts, imageExts, textExts, videoExts } from '@shared/config/constant'
import { FileType, FileTypes } from '@types' import { FileType, FileTypes } from '@types'
import { app } from 'electron' import { app } from 'electron'
@ -85,11 +85,11 @@ export function getAppConfigDir(name: string) {
return path.join(getConfigDir(), name) return path.join(getConfigDir(), name)
} }
export function setAppDataDir() { export function setUserDataDir() {
if (isPortable) { if (!isMac) {
const dir = path.join(path.dirname(app.getPath('exe')), 'data') const dir = path.join(path.dirname(app.getPath('exe')), 'data')
if (fs.existsSync(dir)) { if (fs.existsSync(dir) && fs.statSync(dir).isDirectory()) {
app.setPath('appData', dir) app.setPath('userData', dir)
} }
} }
} }