Upload main.js via GUI

This commit is contained in:
2026-02-02 19:00:59 +00:00
parent 94e8c21e9b
commit e8474957e8

48
main.js
View File

@@ -7,6 +7,8 @@ const crypto = require('crypto');
const { execSync } = require('child_process'); const { execSync } = require('child_process');
const https = require('https'); const https = require('https');
const http = require('http'); const http = require('http');
const Updater = require('./updater.js'); // Auto-Updater
let updater = null;
const { const {
createRepoGitHub, createRepoGitHub,
@@ -1586,3 +1588,49 @@ ipcMain.handle('get-commit-files', async (event, data) => {
return { ok: false, error: String(error) }; return { ok: false, error: String(error) };
} }
}); });
// main.js - Updater IPC Handlers
// 1. Version abfragen
ipcMain.handle('get-app-version', async () => {
return { ok: true, version: app.getVersion() };
});
// 2. Suche nach Updates (Manuell oder Automatisch)
ipcMain.handle('check-for-updates', async (event) => {
console.log("[Main] Update-Check angefordert...");
try {
if (!updater) {
const win = BrowserWindow.fromWebContents(event.sender);
if (win) updater = new Updater(win);
}
if (updater) await updater.checkForUpdates(false);
return { ok: true };
} catch (error) {
console.error('[Main] Fehler beim Update-Check:', error);
return { ok: false, error: String(error) };
}
});
// 3. Download starten (wird vom "Jetzt installieren" Button gerufen)
ipcMain.handle('start-update-download', async (event, asset) => {
console.log("[Main] Download-Signal erhalten für:", asset ? asset.name : "Unbekannt");
try {
if (!updater) {
const win = BrowserWindow.fromWebContents(event.sender);
updater = new Updater(win);
}
if (asset && asset.browser_download_url) {
await updater.startDownload(asset);
return { ok: true };
}
return { ok: false, error: 'Ungültiges Asset' };
} catch (error) {
console.error('[Main] Download-Fehler:', error);
return { ok: false, error: String(error) };
}
});