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

12 KiB
Raw Blame History

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