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

View File

@ -2,7 +2,7 @@ import * as fs from 'node:fs'
import os from 'node:os'
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 { FileType, FileTypes } from '@types'
import { app } from 'electron'
@ -85,11 +85,11 @@ export function getAppConfigDir(name: string) {
return path.join(getConfigDir(), name)
}
export function setAppDataDir() {
if (isPortable) {
export function setUserDataDir() {
if (!isMac) {
const dir = path.join(path.dirname(app.getPath('exe')), 'data')
if (fs.existsSync(dir)) {
app.setPath('appData', dir)
if (fs.existsSync(dir) && fs.statSync(dir).isDirectory()) {
app.setPath('userData', dir)
}
}
}