Ajout de la documentation pour la nouvelle fonctionnalité de déconnexion forcée: - Option checkbox sur l'écran de connexion - Gestion des sessions bloquées après crash - Design moderne et accessible de l'interface Co-Authored-By: Assistant <noreply@anthropic.com>
6.6 KiB
6.6 KiB
Changelog - SimpleConnect Electron
[1.1.1] - 2025-09-04
Ajouté
- Option de déconnexion forcée sur l'écran de connexion
- Nouvelle checkbox "Déconnexion" 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