Files
SimpleClient-releases/docs/changelog.md
Pierre Marx a8f167b7c5 refactor: simplification des libellés et titre
- Renommage checkbox "Déconnexion" → "Débloquer" pour plus de clarté
- Simplification du titre de l'application en "SimpleConnect"
- Mise à jour du changelog v1.1.2
2025-09-04 14:41:44 -04:00

147 lines
7.0 KiB
Markdown

# Changelog - SimpleConnect Electron
## [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 à `AgentLogoff` avant 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 `forceDisconnect` dans les credentials
- Tentative de déconnexion avec gestion d'erreur silencieuse
- Continuation du processus même si la déconnexion échoue
- **renderer.js** : Récupération et transmission de l'état de la checkbox
- Lecture de l'état `forceDisconnect` depuis le formulaire
- Ajout du paramètre dans l'objet credentials
- Adaptation du texte du bouton selon l'option choisie
### 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 `AgentLogin` avec email, password et terminal
- Déconnexion propre via `AgentLogoff`
- Gestion automatique des sessions agents côté serveur
- **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 `agentConnectionInfo` pour 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-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é
- **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