Files
SimpleClient-releases/docs/changelog.md
Pierre Marx fb9430936c refactor: Suppression de la toolbar des webviews et ajout du bouton Rafraîchir dans le header (v1.2.2)
- Suppression complète de la barre d'outils des webviews
- Plus de boutons Précédent/Suivant et d'affichage d'URL
- Bouton Rafraîchir déplacé dans le header principal
- Animation de rotation lors du rafraîchissement
- Gain d'espace vertical supplémentaire (~40px)
- Code nettoyé avec suppression des fonctions inutilisées
2025-09-04 15:22:34 -04:00

249 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog - SimpleConnect Electron
## [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-tabs` remplaçant l'ancien header séparé
- Onglets avec `flex: 1` pour 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 de `centre.nom` (queueName)
- Permet une identification plus directe et claire du client concerné
- Modification dans renderer.js ligne 227
## [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