- Ajout de la saisie manuelle de postes téléphoniques personnalisés - Suppression du préfixe 'Poste' dans l'affichage des terminaux - Amélioration du contraste de l'élément survolé dans la liste - Bump version 1.3.1
29 KiB
29 KiB
Changelog - SimpleConnect Electron
[1.3.1] - 2025-10-17
Ajouté
- Saisie manuelle de postes téléphoniques personnalisés : L'utilisateur peut désormais taper un numéro de poste qui n'est pas dans la liste officielle
- Activation de
addItemsetaddChoicesdans Choices.js pour les éléments<select> - Validation de format numérique uniquement
- Avertissement visuel non-bloquant (5 secondes) si le poste n'est pas dans la liste officielle
- Textes UX explicites guidant l'utilisateur ("Rechercher ou saisir un poste...")
- Le serveur accepte tout numéro de poste valide
- Activation de
Modifié
- Affichage des terminaux simplifié : Les numéros de postes s'affichent maintenant sans le préfixe "Poste"
- Affichage direct "2101" au lieu de "Poste 2101"
- Interface plus épurée et compacte
- Modifié dans Choices.js et dans tous les fallbacks natifs
Corrigé
- Contraste de l'élément survolé dans la liste déroulante : Amélioration de la lisibilité
- Fond bleu clair (#e8f0fe) au lieu de bleu foncé (#667eea)
- Texte noir foncé (#1a1a1a) au lieu de blanc
- Poids de police semi-gras (500) pour meilleure lisibilité
- Résout le problème d'illisibilité lors de la navigation au clavier
[1.3.0] - 2025-09-12
Ajouté
- Support dual SignalR/SocketIO avec fallback automatique : Compatibilité totale avec backends .NET et Python
- ConnectionManager qui essaie d'abord SignalR puis bascule sur SocketIO
- WebSocketAdapter qui émule l'API SignalR complète avec socket.io-client
- Abstraction totale : même API peu importe le protocole utilisé
- Détection automatique du type de serveur disponible
- Messages de statut indiquant le type de connexion active (SignalR ou WebSocket)
Modifié
- Architecture de connexion refactorisée : Système modulaire avec adaptateurs
- Nouveau module
connection-manager.jspour gérer la stratégie de fallback - Nouveau module
websocket-adapter.jspour l'émulation SignalR avec SocketIO - Code principal simplifié grâce à l'abstraction de connexion
- Meilleure gestion des erreurs et reconnexion automatique
- Nouveau module
Technique
- Ajout de la dépendance
socket.io-clientv4.8.1 - Pattern Adapter pour unifier les APIs SignalR et SocketIO
- Gestion des promesses pour les invocations asynchrones
- Mapping automatique des événements entre les deux protocoles
- Conservation de la compatibilité ascendante avec les serveurs existants
Documentation
- Support confirmé pour les backends Python/FastAPI avec SocketIO
- Migration transparente entre serveurs .NET et Python
- Logs détaillés du type de connexion utilisé
[1.2.16] - 2025-09-05
Ajouté
- Système de logging SignalR complet : Capture et analyse de tous les événements
- Fichier de log centralisé dans
~/.simpleconnect-ng/signalr.log - Logger universel pour tous les messages SignalR reçus
- Écoute de 13 types d'événements potentiels (IpbxEvent, AgentStatusChanged, QueueUpdate, etc.)
- Format JSON structuré avec timestamp, arguments et contexte agent
- Logs des méthodes invoquées (AgentLogin, AgentLogoff, GetTerminalListByServiceProvider)
- Identification des codes IPBX 0-5 avec descriptions détaillées
- Fichier de log centralisé dans
Corrigé
-
Icônes manquantes sur Linux : Remplacement des emojis par des SVG
- Icônes SVG inline pour les boutons Rafraîchir et Notes
- Compatibilité universelle (Windows, Mac, Linux)
- Style adaptatif suivant le thème (currentColor)
- Animations au survol et lors des actions
-
Barre de menu Electron : Suppression complète sur tous les OS
- Ajout de
autoHideMenuBar: truedans BrowserWindow setMenuBarVisibility(false)pour forcer la suppressionMenu.setApplicationMenu(null)pour suppression globale- Interface épurée sans menu "File, Edit, View, Window, Help"
- Ajout de
Modifié
- Configuration de build Linux : Support multi-architectures
- Ajout des cibles AppImage, .deb et .rpm
- Support x64 et arm64
- Scripts npm dédiés :
build:linux-x64etbuild:linux-arm64 - Métadonnées Linux enrichies (maintainer, vendor, synopsis)
Technique
- Module
osajouté pour accès au répertoire home utilisateur - Fonctions de logging :
ensureLogDirectory(),logToSignalRFile(),logSignalR() - CSS pour icônes SVG avec transitions et animations
- Build cross-platform depuis Mac M1 vers Linux AMD64
Documentation
- Instructions complètes pour le build Linux
- Guide d'utilisation des fichiers AppImage, .deb et .rpm
- Explication du poids des fichiers AppImage (106 MB)
[1.2.15] - 2025-09-04
Corrigé
- Position des notifications : Les bandeaux de notification ne cachent plus les boutons
- Décalage vertical de 20px à 70px pour apparaître sous la barre d'outils
- Les boutons restent accessibles pendant l'affichage des notifications
Modifié
- Bouton de déconnexion remplacé par "Quitter" : Changement du comportement de fermeture
- Le bouton "Déconnecter" devient "Quitter" pour plus de clarté
- Déconnexion automatique de l'agent avant fermeture
- Animation de déconnexion maintenue pour une transition fluide
- Fermeture propre de la connexion SignalR
- Arrêt complet de l'application après déconnexion
Technique
- Nouveau handler IPC
quit-apppour fermer l'application - Modification de
handleConfirm()pour appeler la fermeture après déconnexion - Délai de 1 seconde avant fermeture pour voir l'animation complète
Documentation
- README.md entièrement réécrit : Mise à jour complète de la documentation
- Ajout des fonctionnalités actuelles (SignalR, CTI, panneau de notes)
- Architecture technique détaillée et à jour
- Workflow d'utilisation complet
- Section dépannage avec problèmes courants
- Roadmap des fonctionnalités futures
- Structure moderne avec emojis et organisation claire
Configuration
- Nettoyage complet du config.json : Suppression des éléments obsolètes
- Suppression de la section agents (maintenant géré via SignalR)
- Suppression de la section centres (fournis par le serveur)
- Suppression de la section CTI (ancien système de simulation)
- Suppression de la section preferences (non utilisée)
- Conservation uniquement de la configuration SignalR essentielle
- Fichier réduit de 118 lignes à 8 lignes
[1.2.14] - 2025-09-04
Ajouté
- Système de persistance des notes amélioré : Sauvegarde et restauration automatiques
- Auto-save après 2 secondes d'inactivité
- Restauration automatique des notes au démarrage
- Synchronisation localStorage + fichier serveur
- Notification visuelle lors de la restauration
- Historique local des 20 dernières notes dans localStorage
Modifié
- Gestion des fichiers de notes : Un seul fichier par agent au lieu de multiples
- Format
notes_{agentId}.jsonunique par agent - Mise à jour du même fichier à chaque sauvegarde
- Historique des 50 dernières versions intégré dans le fichier
- Plus d'accumulation de fichiers datés
- Format
Amélioré
- Expérience utilisateur des notes : Persistance transparente
- Chargement prioritaire depuis le fichier serveur
- Fallback sur localStorage si fichier absent
- Bouton "Effacer" vide aussi localStorage
- Messages de confirmation et notifications
Technique
- Nouvelle fonction
loadSavedNotes()asynchrone - Handler IPC
get-notespour récupérer depuis le serveur - Auto-save avec debouncing de 2 secondes
- Structure JSON avec note courante + historique
[1.2.13] - 2025-09-04
Corrigé
- Panneau de notes partiellement visible : Correction du bug d'affichage au démarrage
- Le panneau était partiellement visible même fermé
- Position cachée ajustée à -620px pour garantir l'invisibilité complète
- Gestion dynamique du décalage selon la largeur actuelle
- Réinitialisation explicite de la position à l'ouverture
Amélioré
- Indicateur de redimensionnement plus visible : Meilleure visibilité des barres
- Zone de clic élargie à 16px pour faciliter la saisie
- 3 barres verticales créées avec gradient CSS au lieu de caractères
- Hauteur de 30px pour une meilleure visibilité
- Changement de couleur gris vers violet au survol
[1.2.12] - 2025-09-04
Ajouté
- Redimensionnement du panneau de notes : Possibilité d'ajuster la largeur
- Poignée de redimensionnement sur le bord gauche du panneau
- Indicateur visuel permanent (3 points verticaux)
- Largeur minimale : 280px, maximale : 600px
- Sauvegarde automatique de la largeur préférée dans localStorage
- Restauration de la largeur à la réouverture
Amélioré
- Fluidité du redimensionnement : Optimisations pour une meilleure performance
- Utilisation de requestAnimationFrame pour 60 FPS
- Overlay invisible pendant le drag pour capturer tous les mouvements
- Désactivation des transitions CSS pendant le redimensionnement
- Indicateur visuel toujours visible (pas seulement au survol)
- Changement de couleur de l'indicateur au survol (gris → violet)
Technique
- Variable CSS
--notes-widthpour synchroniser panneau et webview - Classes
.resizingpour désactiver les transitions pendant le drag - Gestion des événements mouse avec requestAnimationFrame
- Limites de taille avec Math.min/max pour contraindre la largeur
[1.2.11] - 2025-09-04
Ajouté
- Panneau de notes latéral moderne : Refonte complète de l'interface des notes
- Panneau qui glisse depuis la droite de l'écran (au lieu du bas)
- Header avec gradient violet et icône intégrée
- Placeholder avec suggestions d'utilisation
- Nouveau bouton "Effacer" pour réinitialiser les notes
- Footer dédié pour les actions
- Animation fluide cubic-bezier pour l'ouverture/fermeture
Modifié
- Design du panneau de notes : Interface plus moderne et cohérente
- Hauteur complète (100vh - 60px) au lieu d'une fenêtre popup
- Position proche du bouton d'activation pour meilleure cohérence
- Bouton de fermeture circulaire avec effet hover
- Textarea avec fond grisé qui devient blanc au focus
- Notifications modernes remplaçant les alert() natifs
- Webview qui se redimensionne automatiquement quand les notes sont ouvertes
Supprimé
- Badge de notification rouge : Suppression de l'indicateur de contenu
- Plus de point rouge sur le bouton des notes
- Suppression du code JavaScript de surveillance du contenu
- Interface plus épurée sans distractions visuelles
- Code du bouton flottant : Nettoyage du CSS non utilisé
Technique
- Nouvelle classe
.notes-openpour ajuster la webview - Animation
slideInRightpour l'apparition du panneau - Fonction
clearNotes()avec confirmation avant effacement - Tooltips modernes sur les boutons avec pseudo-éléments CSS
[1.2.10] - 2025-09-04
Modifié
- Animation de connexion unifiée : Messages identiques pour tous les types de connexion
- Suppression de la différenciation entre connexion normale et avec déblocage
- Même expérience visuelle que la case "Débloquer" soit cochée ou non
- Messages simplifiés : "Connexion en cours..." / "Authentification auprès du serveur"
- Interface plus cohérente et moins confuse pour l'utilisateur
Technique
- Suppression de la condition sur
isForceDisconnectdansshowLoginProgress() - Uniformisation des textes d'animation pour tous les cas de connexion
[1.2.9] - 2025-09-04
Ajouté
- Autofocus sur le champ code d'accès : Amélioration de l'ergonomie de connexion
- Focus automatique au lancement de l'application
- Focus automatique après déconnexion
- Sélection automatique du contenu existant pour remplacement rapide
- Plus besoin de cliquer avant de taper
Modifié
- Expérience utilisateur de connexion : Accès direct au clavier
- Attribut HTML
autofocussur le champ code d'accès - Focus forcé après fermeture de la modal de déconnexion
- Délais optimisés pour garantir le focus malgré les animations
- Attribut HTML
Technique
- Focus appliqué à 3 endroits : attribut HTML, chargement initial, après déconnexion
- Utilisation de
select()pour sélectionner le contenu existant - Délais de 100-200ms pour contourner les interférences des animations
[1.2.8] - 2025-09-04
Ajouté
- Animation de connexion : Feedback visuel pendant le processus d'authentification
- Modal avec spinner animé identique à celui de déconnexion
- Messages dynamiques adaptés au contexte (connexion normale ou forcée)
- Progression en plusieurs étapes : authentification → chargement des centres
- Design cohérent avec la modal de déconnexion
Modifié
- Expérience de connexion : Interface plus professionnelle
- Plus d'attente sans feedback visuel
- Messages clairs sur l'état du processus
- Transitions fluides entre les étapes
- Modal automatiquement fermée en cas d'erreur ou de succès
Technique
- Nouvelles fonctions : showLoginProgress(), updateLoginProgress(), hideLoginProgress()
- Styles CSS pour .login-progress-modal avec animation scaleIn
- Gestion asynchrone avec délais pour transitions fluides
- Messages adaptés selon le mode de connexion (normal/forcé)
[1.2.7] - 2025-09-04
Ajouté
- Animation de déconnexion : Feedback visuel pendant le processus
- Spinner circulaire animé avec rotation fluide (1 tour/seconde)
- Design cohérent avec le thème violet de l'application
- Ombre subtile pour un effet de profondeur
- Transition en fondu entre l'icône et le spinner
Modifié
- Modal de déconnexion : États visuels dynamiques
- Textes mis à jour pendant la déconnexion ("Déconnexion en cours...", "Veuillez patienter")
- Boutons masqués pendant le processus pour éviter les doubles clics
- Délais optimisés : 300ms avant + 500ms après pour une transition fluide
- Restauration automatique de l'état initial après déconnexion
Technique
- Nouvelles fonctions showLogoutProgress() et hideLogoutProgress()
- Animation CSS @keyframes spin pour la rotation du spinner
- Gestion asynchrone avec Promise pour les délais d'animation
- Structure HTML modifiée avec IDs pour contrôle dynamique
[1.2.6] - 2025-09-04
Ajouté
- Tri alphabétique des onglets : Organisation logique des centres
- Les onglets sont maintenant triés par ordre alphabétique du code centre
- Utilisation de
localeCompare()avec locale français - Option
numeric: truepour gérer correctement les codes avec nombres (ACR2 avant ACR10)
Modifié
- Ordre d'affichage des centres : Prévisible et cohérent
- Indépendant de l'ordre retourné par SignalR
- Premier onglet sélectionné = premier alphabétiquement
- Plus facile de retrouver un centre spécifique
Technique
- Création d'une copie triée avec
[...currentCentres].sort() - Tri appliqué dans
initializeCenters()etshowMainPage() - Préservation du tableau original pour les autres fonctionnalités
[1.2.5] - 2025-09-04
Corrigé
- Écran blanc à la connexion : Sélection automatique du premier onglet
- Plus d'écran vide après connexion
- Le premier planning s'affiche automatiquement
- L'onglet correspondant est marqué comme actif
Modifié
- Expérience de connexion : Accès direct au premier planning
- Ajout de
selectCenter(currentCentres[0].id)dans showMainPage() - Suppression du message "Sélectionnez un centre ou attendez un appel entrant"
- Transition immédiate vers le contenu utile
- Ajout de
Technique
- Appel automatique de selectCenter() après initializeCenters()
- Suppression du div .no-center-selected du HTML
- Amélioration du flux utilisateur post-connexion
[1.2.4] - 2025-09-04
Corrigé
- Bug du formulaire de connexion après déconnexion : Réinitialisation complète
- Le bouton "Se connecter" restait grisé avec le texte "Reconnexion..." après déconnexion
- Les champs restaient pré-remplis avec les anciennes valeurs
- La checkbox "Débloquer" restait cochée
Ajouté
- Fonction resetLoginForm() : Nettoyage du formulaire de connexion
- Vide automatiquement les champs code d'accès et mot de passe
- Décoche la checkbox "Débloquer"
- Efface les messages d'erreur
- Réactive le bouton et restaure le texte "Se connecter"
- Préserve la sélection du terminal pour la commodité
Modifié
- Comportement de déconnexion : Expérience utilisateur améliorée
- Retour sur un formulaire de connexion propre et fonctionnel
- Plus d'état "bloqué" avec le bouton désactivé
- Réinitialisation également appliquée au démarrage si personne n'est connecté
[1.2.3] - 2025-09-04
Ajouté
- Modal de déconnexion personnalisée : Interface moderne pour la confirmation
- Design élégant avec icône emoji 👋 dans un cercle gradient
- Animation pulse sur l'icône et effet scaleIn à l'ouverture
- Textes en français avec titre et sous-titre descriptif
- Fond flou avec overlay sombre (backdrop-filter)
- Boutons stylisés avec gradient violet et effets hover
Modifié
- Expérience utilisateur de déconnexion : Remplacement du confirm() natif
- Plus de popup système Electron avec logo générique
- Interface cohérente avec le design de l'application
- Trois méthodes de fermeture : bouton Annuler, clic externe, touche Escape
- Gestion propre des event listeners avec nettoyage automatique
Technique
- Nouvelle fonction showLogoutModal() remplaçant le confirm() natif
- HTML de la modal ajouté avec structure sémantique
- Styles CSS avec animations @keyframes scaleIn
- Z-index 3000 pour s'assurer que la modal est au-dessus de tout
[1.2.2] - 2025-09-04
Supprimé
- Barre d'outils des webviews : Suppression complète de la toolbar
- Plus de boutons de navigation (Précédent/Suivant)
- Plus d'affichage de l'URL courante
- Plus de bouton Rafraîchir dans la toolbar
- Gain d'espace vertical supplémentaire (~40px)
- Code nettoyé : suppression de navigateWebview() et des event listeners associés
Ajouté
- Bouton Rafraîchir dans le header : Nouvelle position pour le rafraîchissement
- Icône 🔄 ajoutée dans la zone droite du header
- Placé entre le statut de connexion et le bouton Notes
- Animation de rotation d'1 seconde lors du clic
- Fonction refreshCurrentWebview() pour rafraîchir uniquement la webview active
Technique
- Suppression du code HTML de création de la toolbar
- Suppression de l'event listener 'did-navigate' pour l'URL
- Nouvelle animation CSS @keyframes rotate pour le bouton
- Classe .rotating pour l'animation visuelle du rafraîchissement
[1.2.1] - 2025-09-04
Modifié
- Header et onglets fusionnés : Optimisation de l'espace vertical
- Fusion du header et de la barre d'onglets sur une seule ligne
- Logo SimpleConnect et nom de l'agent à gauche
- Onglets des centres au milieu (espace flexible)
- Statut de connexion et boutons d'action à droite
- Gain de 10px en hauteur (60px au lieu de 70px)
Amélioré
- Interface plus compacte : Meilleure utilisation de l'espace écran
- Plus d'espace vertical pour l'affichage des webviews
- Tous les contrôles accessibles sur une seule ligne
- Tailles des éléments légèrement réduites (boutons 36x36px, textes 13-14px)
- Padding optimisé sur tous les éléments
Technique
- Nouvelle classe CSS
.header-with-tabsremplaçant l'ancien header séparé - Onglets avec
flex: 1pour occuper l'espace disponible - Hauteur du conteneur principal ajustée à
calc(100vh - 60px) - Webview container à 100% de hauteur (plus de déduction pour les onglets)
[1.2.0] - 2025-09-04
Supprimé
- Sidebar latérale gauche : Interface simplifiée avec suppression complète du panneau latéral
- Plus de liste des centres dans la sidebar (navigation uniquement par onglets)
- Suppression des statistiques du jour (appels traités et RDV pris)
- Gain d'espace significatif pour l'affichage des webviews
- Bouton "Simuler un appel" : Fonctionnalité de simulation retirée
- Suppression du bouton dans le header
- Modal de simulation complètement retirée
- Code JavaScript associé nettoyé (fonctions showCallSimulation, loadSimulatedCalls, etc.)
- Référence au script cti-simulator.js supprimée
- Scrollbars visibles : Masquage complet des barres de défilement
- Scrollbar verticale supprimée via overflow: hidden
- Scrollbar horizontale des onglets masquée (reste fonctionnelle au scroll)
Ajouté
- Zone de notes dynamique : Panneau de notes rapides affichable/masquable
- Nouveau bouton 📝 dans le header pour toggle les notes
- Animation fluide de glissement depuis le bas de l'écran
- Bouton × pour fermer rapidement le panneau
- Sauvegarde automatique des préférences dans localStorage
- Panneau masqué par défaut pour maximiser l'espace de travail
Modifié
- Interface modernisée : Refonte complète du design
- Nouveau fichier styles-modern.css remplaçant l'ancien styles.css
- Header épuré avec ombres subtiles et animations
- Onglets style Material Design avec indicateur actif coloré
- Boutons avec effets hover et transitions fluides
- Palette de couleurs plus moderne et contrastée
- Animations et transitions ajoutées partout
- Optimisation de l'espace : Meilleure utilisation de l'écran
- Les webviews occupent maintenant toute la largeur disponible
- Hauteurs calculées précisément avec calc() CSS
- Interface responsive et adaptative
- Structure HTML simplifiée : Code plus propre et maintenable
- Suppression des éléments DOM liés à la sidebar
- Suppression de la modal de simulation
- Organisation plus claire des sections
Technique
- Gestion des préférences utilisateur via localStorage
- Fonctions JavaScript ajoutées : toggleNotes(), showNotes(), hideNotes(), loadUserPreferences()
- CSS moderne avec animations @keyframes et transitions
- Masquage des scrollbars compatible tous navigateurs (webkit, Firefox, IE/Edge)
- Hauteurs calculées dynamiquement pour éviter les débordements
[1.1.3] - 2025-09-04
Modifié
- Onglets des plannings : Affichage du code client au lieu du nom de la file d'attente
- Les titres des onglets affichent maintenant
centre.id(code client) au lieu decentre.nom(queueName) - Permet une identification plus directe et claire du client concerné
- Modification dans renderer.js ligne 227
- Les titres des onglets affichent maintenant
[1.1.2] - 2025-09-04
Modifié
- Checkbox de déconnexion : Renommage du libellé "Déconnexion" en "Débloquer"
- Terme plus clair et explicite pour l'utilisateur
- Meilleure compréhension de l'action (débloquer une session)
- Titre de l'application : Simplification en "SimpleConnect"
- Suppression du sous-titre "Gestion Centralisée des Plannings"
- Titre plus concis dans la barre de titre et l'onglet du navigateur
[1.1.1] - 2025-09-04
Ajouté
- Option de déconnexion forcée sur l'écran de connexion
- Nouvelle checkbox permettant de forcer la fermeture d'une session précédente
- Utile en cas de déconnexion anormale, crash ou changement de poste
- Appel à
AgentLogoffavant la nouvelle connexion si l'option est cochée - Message adaptatif sur le bouton ("Reconnexion..." au lieu de "Connexion en cours...")
Modifié
- Interface de connexion : Ajout d'un conteneur stylisé pour l'option de déconnexion
- Design moderne avec checkbox personnalisée
- Fond gris clair avec bordures arrondies
- Texte d'aide explicatif sous l'option
- Effet hover sur le conteneur pour améliorer l'UX
- main.js : Logique de déconnexion forcée dans le handler
login-agent- Vérification du paramètre
forceDisconnectdans les credentials - Tentative de déconnexion avec gestion d'erreur silencieuse
- Continuation du processus même si la déconnexion échoue
- Vérification du paramètre
- renderer.js : Récupération et transmission de l'état de la checkbox
- Lecture de l'état
forceDisconnectdepuis le formulaire - Ajout du paramètre dans l'objet credentials
- Adaptation du texte du bouton selon l'option choisie
- Lecture de l'état
Style
- CSS personnalisé pour la checkbox de déconnexion forcée
- Checkbox native HTML avec design moderne
- Indicateur visuel coché/non coché avec transitions fluides
- Alignement parfait avec le texte "Déconnexion"
- Responsive et accessible
Technique
- Implémentation non-bloquante : la connexion continue même si
AgentLogofféchoue - Gestion des sessions fantômes après crash ou perte réseau
- Message informatif dans les logs pour tracer les déconnexions forcées
[1.1.0] - 2025-09-04
Ajouté
- Authentification SignalR réelle : Remplacement de l'authentification locale simulée par l'authentification SignalR
- Connexion via
AgentLoginavec email, password et terminal - Déconnexion propre via
AgentLogoff - Gestion automatique des sessions agents côté serveur
- Connexion via
- Traitement dynamique des centres : Génération automatique depuis les données SignalR
- Remplacement des placeholders (#CA#, #MP#) dans les URLs
- Attribution automatique de couleurs aux centres
- Mapping avec les files téléphoniques pour le routage
- Gestion des événements IPBX en temps réel
- Basculement automatique vers le bon centre lors d'un appel entrant
- Libération automatique de la file après raccrochage
- Filtrage par terminal pour ne recevoir que les événements pertinents
- Notifications visuelles avec animations CSS
- Notifications temporaires pour les événements d'appels
- Animations slideIn/slideOut pour une meilleure UX
- Son de notification pour les appels entrants
Modifié
- main.js : Refonte complète de l'authentification
- Suppression de la vérification locale dans config.json
- Ajout des handlers SignalR pour AgentLogin et AgentLogoff
- Implémentation des événements IpbxEvent (codes 1 et 2)
- Mise à jour dynamique du titre avec nom agent et terminal
- renderer.js : Adaptation pour SignalR
- Connexion directe via SignalR au lieu de config.json
- Écoute des événements switch-to-center et release-center
- Ajout des fonctions updateAgentStatus, showNotification, updateCallStats
- Déconnexion améliorée : Nettoyage propre des sessions
- Appel à AgentLogoff avant fermeture de l'application
- Réinitialisation complète des variables d'état
Technique
- Stockage global de
agentConnectionInfopour les données SignalR - Traitement des URLs avec fonction
processApplicationUrls() - Gestion des états de connexion SignalR avec reconnexion automatique
- Validation côté client du terminal avant envoi au serveur
Supprimé
- Authentification locale basée sur config.json
- Dépendance aux données statiques pour les centres
- Configuration manuelle des centres dans config.json
[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-developmentpour 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é
- Intégration de Choices.js pour améliorer l'expérience utilisateur sur le champ de sélection des postes téléphoniques
- Liste déroulante moderne avec recherche instantanée
- Support de plus de 100 postes téléphoniques
- Interface utilisateur améliorée avec scrollbar personnalisée
- Recherche en temps réel pour trouver rapidement un poste
Modifié
- Page de connexion : Remplacement du select HTML natif par Choices.js
- Amélioration visuelle avec thème personnalisé (violet #667eea)
- Ajout d'animations fluides à l'ouverture/fermeture
- Indicateurs visuels pour les éléments sélectionnés
- Chargement des ressources : Migration des CDN vers des fichiers locaux pour éviter les problèmes CSP
- Gestion des erreurs : Amélioration du fallback en cas d'échec de chargement de Choices.js
Technique
- Installation locale de Choices.js via npm
- Copie des fichiers CSS/JS dans le répertoire racine
- Adaptation du code pour gérer window.Choices dans le contexte Electron
- Suppression du groupement par centaine pour simplifier la navigation
Corrigé
- Résolution des erreurs Content Security Policy (CSP) avec les ressources CDN
- Correction de l'initialisation de Choices.js dans l'environnement Electron
- Fix des classes CSS pour éviter les erreurs DOMTokenList
[1.0.0] - 2024-09-01
Fonctionnalités initiales
- Connexion agent avec authentification locale
- Intégration SignalR pour la communication avec le serveur CTI
- Récupération dynamique des postes téléphoniques depuis le serveur
- Multi-centres : Gestion de plusieurs centres médicaux
- Webviews intégrées pour afficher les plannings médicaux
- Simulation d'appels pour les tests et démos
- Interface moderne avec design violet/blanc
- Statistiques journalières : Compteurs d'appels et de RDV
- Notes rapides : Prise de notes pendant les appels
- Indicateurs visuels : États de connexion SignalR et disponibilité agent