diff --git a/cti-simulator.js b/cti-simulator.js index 31262f8..1af6935 100644 --- a/cti-simulator.js +++ b/cti-simulator.js @@ -282,18 +282,22 @@ class CTISimulator { const ctiSimulator = new CTISimulator(); // Exposer pour les tests en développement -if (process.env.NODE_ENV === 'development') { - window.ctiSimulator = ctiSimulator; - // Afficher le panneau de test après connexion - document.addEventListener('DOMContentLoaded', () => { - setTimeout(() => { - const mainPage = document.getElementById('mainPage'); - if (mainPage && mainPage.classList.contains('active')) { - ctiSimulator.showTestPanel(); - } - }, 2000); - }); -} +// Dans le contexte renderer, vérifier si on est en mode développement via une variable globale +window.ctiSimulator = ctiSimulator; + +// Afficher le panneau de test si en mode développement +ipcRenderer.invoke('is-development').then(isDev => { + if (isDev) { + document.addEventListener('DOMContentLoaded', () => { + setTimeout(() => { + const mainPage = document.getElementById('mainPage'); + if (mainPage && mainPage.classList.contains('active')) { + ctiSimulator.showTestPanel(); + } + }, 2000); + }); + } +}); // Démarrer la simulation automatique après connexion (optionnel) ipcRenderer.on('agent-logged-in', () => { diff --git a/docs/changelog.md b/docs/changelog.md index dd6ebf9..5a46d5b 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,18 @@ # Changelog - SimpleConnect Electron +## [1.0.2] - 2025-09-04 + +### Corrigé +- **DevTools** : Ouverture uniquement en mode développement au lieu de systématiquement +- **Mode développement** : Correction de la détection du mode dev pour le simulateur CTI via IPC +- **Choices.js** : Suppression de la boucle de retry infinie en cas d'échec de chargement +- **Code mort** : Suppression de la fonction `updateSignalRStatus()` vide et inutilisée + +### Technique +- Ajout du handler IPC `is-development` pour permettre au renderer de détecter le mode +- Amélioration de la gestion d'erreur pour Choices.js avec fallback natif sans retry +- Nettoyage du code en supprimant les fonctions vides et appels inutiles + ## [1.0.1] - 2024-09-04 ### Ajouté diff --git a/main.js b/main.js index 5ce5a9b..6219e64 100644 --- a/main.js +++ b/main.js @@ -34,10 +34,10 @@ function createWindow() { // Charger l'interface HTML mainWindow.loadFile('index.html'); - // Ouvrir les DevTools en mode développement ou toujours pour debug - // if (process.env.NODE_ENV === 'development') { + // Ouvrir les DevTools uniquement en mode développement + if (process.env.NODE_ENV === 'development') { mainWindow.webContents.openDevTools(); - // } + } // Gérer la fermeture de la fenêtre mainWindow.on('closed', () => { @@ -319,4 +319,9 @@ ipcMain.handle('save-call-history', (event, callData) => { fs.writeFileSync(historyFile, JSON.stringify(history, null, 2)); return { success: true }; +}); + +// Vérifier si on est en mode développement +ipcMain.handle('is-development', () => { + return process.env.NODE_ENV === 'development'; }); \ No newline at end of file diff --git a/renderer.js b/renderer.js index 9fa43be..36befb7 100644 --- a/renderer.js +++ b/renderer.js @@ -14,7 +14,6 @@ let callStats = { // === GESTION DE LA CONNEXION === document.addEventListener('DOMContentLoaded', async () => { // Initialiser l'indicateur SignalR - updateSignalRStatus(); // Écouter les changements de statut SignalR ipcRenderer.on('signalr-status', (event, status) => { @@ -490,8 +489,7 @@ async function loadTerminals() { terminalSelect.appendChild(option); }); } - // Réessayer après un court délai - setTimeout(() => loadTerminals(), 500); + // Pas de retry automatique pour éviter une boucle infinie return; } @@ -585,10 +583,6 @@ function validateTerminal(terminal) { } // === GESTION INDICATEUR SIGNALR === -function updateSignalRStatus() { - // Fonction appelée au chargement pour initialiser l'interface -} - function updateSignalRIndicator(status) { const indicator = document.getElementById('signalrIndicator'); const text = document.getElementById('signalrText');