fix: migrate config from old paths on first launch
Checks alternate AppData folder names and portable exe directory to find existing config when current path has no config file. Prevents losing accounts, settings, and queue after updates. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
c462f6bef5
commit
f00dc36a41
@ -52,6 +52,34 @@ class ConfigStore {
|
|||||||
? app.getPath('userData')
|
? app.getPath('userData')
|
||||||
: path.join(__dirname, '..');
|
: path.join(__dirname, '..');
|
||||||
this.filePath = path.join(dir, 'electron-config.json');
|
this.filePath = path.join(dir, 'electron-config.json');
|
||||||
|
|
||||||
|
// Migrate config from old location if current doesn't exist
|
||||||
|
if (!fs.existsSync(this.filePath) && app && app.isPackaged) {
|
||||||
|
this._migrateFromOldPath(app);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_migrateFromOldPath(app) {
|
||||||
|
try {
|
||||||
|
const appDataDir = path.dirname(app.getPath('userData'));
|
||||||
|
// Check alternate folder names that may have been used
|
||||||
|
const candidates = ['multi-hoster-uploader', 'Multi-Hoster-Upload'];
|
||||||
|
for (const name of candidates) {
|
||||||
|
const oldPath = path.join(appDataDir, name, 'electron-config.json');
|
||||||
|
if (oldPath !== this.filePath && fs.existsSync(oldPath)) {
|
||||||
|
fs.mkdirSync(path.dirname(this.filePath), { recursive: true });
|
||||||
|
fs.copyFileSync(oldPath, this.filePath);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Also check next to the executable (portable mode previous location)
|
||||||
|
const exeDir = path.dirname(app.getPath('exe'));
|
||||||
|
const portablePath = path.join(exeDir, 'electron-config.json');
|
||||||
|
if (portablePath !== this.filePath && fs.existsSync(portablePath)) {
|
||||||
|
fs.mkdirSync(path.dirname(this.filePath), { recursive: true });
|
||||||
|
fs.copyFileSync(portablePath, this.filePath);
|
||||||
|
}
|
||||||
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
load() {
|
load() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user