Files
SimpleClient-releases/docs/changelog.md
Pierre Marx 2bf8c3605a feat: Affichage du code client dans les onglets des plannings
Les titres des onglets affichent maintenant le code client (centre.id)
au lieu du nom de la file d'attente (centre.nom) pour une identification
plus directe et claire du client concerné.
2025-09-04 14:53:19 -04:00

7.4 KiB

Changelog - SimpleConnect Electron

[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