const { app, BrowserWindow, dialog } = require('electron'); const { autoUpdater } = require('electron-updater'); // Configurar para que no descargue automáticamente, respetando tu lógica manual autoUpdater.autoDownload = false; // Habilitar actualizaciones en desarrollo (requiere dev-app-update.yml) if (!app.isPackaged) { autoUpdater.forceDevUpdateConfig = true; } // const server = 'https://tuservidor.com'; // La URL de tu repositorio en Gitea // const feed = `${server}/path/to/your/updates/latest`; let mainWindow; app.on('ready', () => { mainWindow = new BrowserWindow({ width: 800, height: 600 }); mainWindow.loadURL('https://google.com'); // autoUpdater.setFeedURL(feed); // electron-updater lee la configuración de 'publish' en package.json autoUpdater.checkForUpdates(); }); autoUpdater.on('update-available', () => { const choice = dialog.showMessageBoxSync(mainWindow, { type: 'question', buttons: ['Actualizar', 'Más tarde'], title: 'Actualización disponible', message: 'Hay una nueva versión disponible. ¿Deseas actualizar ahora?' }); if (choice === 0) { // Si el usuario elige "Actualizar" autoUpdater.downloadUpdate(); } }); autoUpdater.on('update-downloaded', () => { const choice = dialog.showMessageBoxSync(mainWindow, { type: 'question', buttons: ['Reiniciar', 'Más tarde'], title: 'Actualizar disponible', message: 'La actualización se ha descargado. ¿Deseas reiniciar para instalarla ahora?' }); if (choice === 0) { // Si el usuario elige "Reiniciar" autoUpdater.quitAndInstall(); } });