Upload main.js via GUI

This commit is contained in:
2026-03-24 21:02:52 +00:00
parent 24dd12c360
commit 853a93e142

View File

@@ -342,6 +342,7 @@ function readCredentials() {
/* ==================== BACKUP CONFIGURATION ==================== */
let backupProviders = {}; // { [repoName]: provider instance }
const backupDoneSessions = new Map(); // { [sessionId]: timestamp }
function getBackupConfigPath() {
return ppath.join(app.getPath('userData'), 'backup-config.json');
@@ -1913,7 +1914,9 @@ ipcMain.handle('upload-and-push', async (event, data) => {
// Auto-Backup vor Upload (wenn in Einstellungen aktiviert)
const autoBackupEnabled = Boolean(credentials && credentials.autoBackupEnabled);
if (autoBackupEnabled && !data.skipBackup) {
const uploadSessionId = String(data.uploadSessionId || '').trim();
const shouldSkipBySession = Boolean(uploadSessionId && backupDoneSessions.has(uploadSessionId));
if (autoBackupEnabled && !data.skipBackup && !shouldSkipBySession) {
const backupTarget = String((credentials && credentials.backupPrefLocalFolder) || '').trim();
const emitStatus = (payload) => {
try { event.sender.send('pre-push-backup-status', payload); } catch (_) {}
@@ -1937,6 +1940,10 @@ ipcMain.handle('upload-and-push', async (event, data) => {
emitStatus({ stage: 'backup-failed', repoName: backupRepoName, error: backupResult?.error || 'Unbekannter Fehler' });
return { ok: false, error: `Auto-Backup vor Upload fehlgeschlagen: ${backupResult?.error || 'Unbekannter Fehler'}` };
}
if (uploadSessionId) {
backupDoneSessions.set(uploadSessionId, Date.now());
setTimeout(() => backupDoneSessions.delete(uploadSessionId), 10 * 60 * 1000);
}
emitStatus({ stage: 'backup-done', repoName: backupRepoName, filename: backupResult.filename || '' });
emitStatus({ stage: 'upload-start' });
} catch (backupErr) {