diff --git a/README.md b/README.md index a4cba5a..98c98a8 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,10 @@ dd-timer/ ## Changelog +### v1.1.1 +- 🔧 Correction de la mise a jour automatique — l'app se relance maintenant toute seule apres installation +- 🔧 Correction de l'affichage du titre des notifications ntfy (encodage base64 supprime) + ### v1.1.0 - 📱 **Notifications mobiles (ntfy)** — Alerte sur telephone quand un enclos est pret, via serveur ntfy self-hosted - Modale de configuration avec QR code pour installer l'app ntfy (Play Store / App Store) diff --git a/main.js b/main.js index 162dd2c..9274f30 100644 --- a/main.js +++ b/main.js @@ -328,22 +328,34 @@ function sendUpdateError(msg) { } function launchUpdater(newExe, currentExe) { - // Pour un installeur NSIS : on le lance directement avec /S pour silent install - // L'installeur gère lui-même le remplacement de l'ancienne version if (mainWindow && !mainWindow.isDestroyed()) { mainWindow.webContents.send('update-ready'); } const { spawn } = require('child_process'); - // Petit délai pour laisser le message s'afficher + // Script batch qui survit à la fermeture de l'app : + // 1. Attend que l'app se ferme + // 2. Lance l'installeur en silencieux + // 3. Relance l'app + // 4. Se supprime lui-même + const batPath = path.join(os.tmpdir(), 'dd-timer-update.cmd'); + const batContent = [ + '@echo off', + 'timeout /t 3 /nobreak >nul', + `"${newExe}" /S`, + 'timeout /t 2 /nobreak >nul', + `start "" "${currentExe}"`, + 'del "%~f0"', + ].join('\r\n'); + + fs.writeFileSync(batPath, batContent, 'utf-8'); + setTimeout(() => { - // Lancer l'installeur NSIS en mode silencieux - // /S = silent, /D= permet de spécifier le dossier d'installation - spawn(newExe, ['/S'], { + spawn('cmd.exe', ['/c', batPath], { detached: true, stdio: 'ignore', - windowsHide: false, // L'installeur peut avoir besoin d'être visible pour UAC + windowsHide: true, }).unref(); isQuitting = true; diff --git a/package.json b/package.json index 2ee2acb..675558b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "minuteur-dragodinde", - "version": "1.1.0", + "version": "1.1.1", "description": "Minuteur elevage Dragodinde Dofus 3", "main": "main.js", "author": "Mickael", @@ -41,7 +41,8 @@ "createDesktopShortcut": true, "createStartMenuShortcut": true, "shortcutName": "Minuteur Dragodinde", - "deleteAppDataOnUninstall": false + "deleteAppDataOnUninstall": false, + "runAfterFinish": true } }, "devDependencies": {