Release Notes
v1.82.517v1.82.488 2026-05-23
Fixed
- Planning mobile: centre correctement les libellés Annuler et Créer dans la barre de validation de multisélection.
v1.82.487 2026-05-23
Fixed
- Planning mobile: masque tous les FAB, badges et bulles pendant la multisélection de demi-journées jusqu'au choix explicite Annuler ou Créer.
v1.82.486 2026-05-23
Fixed
- Planning mobile: la sélection par appui long conserve désormais le scroll natif du planning au lieu de le remplacer par un autoscroll artificiel, pour retrouver le même ressenti qu'en navigation normale.
v1.82.485 2026-05-23
Changed
- Planning mobile: accélère nettement l'autoscroll de la sélection par appui long avec une zone de bord plus large et une courbe de vitesse progressive.
v1.82.484 2026-05-23
Fixed
- Planning mobile: la sélection par appui long peut désormais autoscroller horizontalement et verticalement pour atteindre les demi-journées hors écran, sans bloquer les boutons Annuler/Créer.
v1.82.483 2026-05-23
Added
- Planning mobile: ajoute une sélection par appui long sur les demi-journées. Un appui court conserve l'ajout rapide existant, tandis qu'un appui long permet de sélectionner une plage AM/PM puis de valider ou annuler avant création.
v1.82.482 2026-05-23
Fixed
- Agenda mobile: rend swipeable toute la zone vide/grise de l'agenda individuel, tout en conservant les exclusions sur les contrôles interactifs, modales, FAB et sélecteurs d'équipe.
v1.82.481 2026-05-23
Fixed
- Mobile UX: masque explicitement les bulles agenda/sorties quand leur FAB associé est masqué pendant scroll, drag, panier ou modale, afin d'éviter une infobulle orpheline.
v1.82.480 2026-05-23
Fixed
- Mobile planning: conserve les ombres/finitions des cartes pendant les scrolls rapides pour éviter l'impression de CSS perdu, tout en gardant les animations/transforms neutralisées contre les recouvrements sticky.
- Mobile UX: aligne la bulle “sorties d'astreinte à compléter” sur le même format visuel que “Nouveau : agenda mobile”.
v1.82.479 2026-05-23
Fixed
- Mobile planning: stabilise l'ordre de peinture du bandeau mois/semaine/jour/date pour éviter qu'un libellé semaine masque ponctuellement une colonne (ex. mercredi 27) lors des scrolls diagonaux rapides.
- Mobile planning: sécurise les initiales jour/date du header mobile avec une découpe UTF-8.
v1.82.478 2026-05-23
Fixed
- Mobile planning: stabilise l'affichage des lettres de jours et dates sous le bandeau sticky via un libellé de cellule dédié, afin qu'un jour ne disparaisse plus visuellement après scroll rapide/zoom.
v1.82.477 2026-05-23
Fixed
thead lui-même sticky, tout en conservant les offsets sticky mesurés par cellule. Cela évite que le corps du planning soit peint par-dessus les jours/dates lors des scrolls diagonaux rapides.v1.82.476 2026-05-23
Fixed
- Mobile planning: remplace l'hypothèse fixe de top sticky par un calibrage géométrique réel de la ligne équipe/astreinte, afin de rester aligné sous les jours/dates même selon le zoom et le moteur Chrome mobile.
v1.82.475 2026-05-23
Fixed
- Mobile planning: corrige le calcul sticky sous zoom/dezoom en écrivant les offsets équipe/rail en pixels visuels de scrollport, ce qui supprime le trou où la grille AM/PM réapparaissait entre les jours/dates et le bandeau équipe/astreinte.
v1.82.474 2026-05-23
Fixed
- Mobile planning: removed the external sticky chrome mask that could blank the month/week/day header on Chrome mobile and kept activity cards in the low body paint layer instead.
v1.82.473 2026-05-23
Fixed
- Mobile planning: correction de l'empilement de la couche anti-bleed pour ne plus masquer le bandeau mois/jours/dates.
v1.82.472 2026-05-23
Changed
- Mobile planning: remplacement du masquage carte-par-carte par une couche structurelle unique sous les barres sticky jours/équipe/astreinte, pour stabiliser le rendu Chrome mobile pendant les scrolls diagonaux rapides.
v1.82.471 2026-05-23
Fixed
- Mobile planning: le garde anti-chevauchement couvre maintenant aussi la bande sticky équipe/astreinte, pas seulement les jours/dates, afin de bloquer les cartes pendant les scrolls diagonaux rapides.
v1.82.470 2026-05-23
Fixed
- Mobile planning: le garde du bandeau jours/dates masque temporairement les cartes entièrement sous le header pour supprimer les fantômes visuels pendant les scrolls très rapides.
v1.82.469 2026-05-23
Fixed
- Mobile planning: clipping temps réel des cartes qui passent sous le bandeau mois/semaine/jours pendant les scrolls diagonaux rapides, pour éviter les bleed-through Chrome mobile sans masquer le header.
v1.82.468 2026-05-23
Changed
- Diagnostic mobile ChronoDev renforcé sur le bandeau jours/dates : sondes denses aux bordures de cellules et cartes proches du header pour capturer les glitchs de scroll diagonal.
v1.82.467 2026-05-23
Changed
MobileHeaderPaint sur ChronoDev: snapshots pendant scroll/moving et sondes de frontiere dans le bandeau sticky jours/dates/vacances pour capturer les recouvrements intermittents.v1.82.466 2026-05-23
Added
MobileHeaderPaint pour tracer les glitches du bandeau mobile mois/semaine/jour/date/vacances lorsque des activites ou lignes sticky passent au-dessus pendant les scrolls rapides.v1.82.465 2026-05-23
Changed
- Mobile: met a jour en temps reel le garde-haut du rail utilisateurs pendant le scroll actif, sans recalage/centrage complet par frame, pour garder l'affichage coherent sans micro-saccades.
- Affine le diagnostic rail pour distinguer un debordement visuellement clippe d'une vraie anomalie visible.
v1.82.464 2026-05-23
Fixed
- Mobile: clippe le rail utilisateurs a la cellule courante pour eviter qu'une pastille/identite sorte de sa ligne et semble disparaitre sous le header pendant les scrolls diagonaux rapides.
v1.82.463 2026-05-23
Changed
- Active automatiquement le diagnostic rail mobile sur ChronoDev afin de capturer les glitches depuis l'app mobile sans devoir modifier l'URL.
v1.82.462 2026-05-23
Added
railDebug pour tracer sur ChronoDev les glitches rares du rail utilisateurs mobile pendant les scrolls rapides: positions, couleurs, z-index, elementFromPoint, dimensions sticky et anomalies detectees.v1.82.461 2026-05-23
Fixed
- Renforce le rail utilisateurs mobile avec un calque couleur plein-hauteur afin que la cellule complète conserve sa couleur pendant les scrolls rapides/diagonaux.
v1.82.460 2026-05-23
Fixed
- Stabilise le rail utilisateurs mobile pendant les scrolls diagonaux rapides : le fond couleur suit maintenant le même calque que l'identité compacte pour éviter qu'un utilisateur perde ponctuellement sa couleur.
Changelog Chrono
Toutes les modifications notables de ce projet sont documentees dans ce fichier.
Le format est base sur Keep a Changelog.
v1.82.459 2026-05-23
Corrige
- Mobile: suppression des traits/hachures parasites dans le bandeau astreinte du planning.
v1.82.458 2026-05-23
Corrige
- Mobile: le nom d'equipe du rail gauche reste au-dessus du bandeau astreinte pendant le scroll horizontal, sans barre flottante ni doublon permanent.
v1.82.457 2026-05-22
Corrige
- Mobile: stabilisation post-scroll limitee aux en-tetes sticky pour eviter la creation d'un titre ou libelle permanent equipe/astreinte.
v1.82.456 2026-05-22
Corrige
- Mobile: reconciliation finale des couches sticky apres scroll tres rapide pour eviter les restes d'empilement incorrects entre jours, equipes, astreintes et rail gauche.
v1.82.455 2026-05-22
Corrige
- Mobile: axes planning X/Y renforces pour eviter que les activites passent au-dessus lors des scrolls diagonaux rapides.
- Mobile: pastilles du rail gauche recentrees uniquement apres stabilisation du scroll pour eviter les micro-sauts.
v1.82.454 2026-05-22
Corrige
- Agenda mobile: notice de sortie d'astreinte alignee sur le FAB sortie, sans reprendre l'empilement du mode planning.
- Mobile: suppression des micro-sauts sur les pastilles utilisateurs du rail gauche pendant le scroll rapide.
v1.82.453 2026-05-22
Corrige
- Mobile: notice de sortie d'astreinte alignee verticalement avec son FAB, y compris quand le panier est disponible.
- Mobile: rail gauche utilisateurs plus stable pendant les scrolls tres rapides, avec empilement renforce au-dessus du corps planning.
v1.82.452 2026-05-22
Corrige
- Mobile: masquage des FABs panier, sorties et agenda pendant le choix de drag/drop deplacer/copier/annuler.
- Mobile: centrage plus stable des pastilles utilisateurs dans le rail gauche pendant le scroll.
v1.82.451 2026-05-22
Corrige
- Planning: recalcul sticky immediat apres zoom, refresh, morphdom et changement de viewport pour eviter les chevauchements visuels.
- QA mobile: ajout de controles geometriques anti-chevauchement entre activites, entetes, equipes et astreintes.
v1.82.450 2026-05-22
Corrige
- Agenda mobile: libelle du mois lisible sur petits ecrans sans decoupe.
- Panier mobile: masquage fiable des FABs, badges et notifications flottantes lorsque le panier est ouvert.
- Panier mobile: les gestes sur filtres, cartes et controles ne ferment plus accidentellement le panneau.
v1.82.449 2026-05-22
Corrige
- Fiabilisation du basculement direct planning/agenda mobile sans état agenda obsolète.
- Réduction des frictions tactiles sur l'agenda mobile: zones de clic renforcées, swipe plus tolérant près des bords, nudges et bannière PWA moins intrusifs.
- Renforcement des tests mobiles Playwright sur iPhone, Pixel et tablette.
v1.82.448 2026-05-22
Modifications
- Preserve mobile basket usability before UX pass
- Keep the mobile basket usable while opening tasks
- Fix agenda swipe previous-day label encoding
- Keep action choice visible after mobile drops
- Let mobile planning drops reach half-day confirmation
- Auto-confirm mobile planning drops
- Trace ChronoDev mobile drag failures by default
- Stabilize mobile basket drops with server visibility parity
- Let mobile basket overlay pass drag hit tests
- Keep basket sheet stable during mobile drag
v1.82.428 2026-05-21
Modifications
- Keep release cache aligned after merge
v1.82.427 2026-05-21
Base de donnees
planning_mysql.sqlupdate-1-82-402.sqlv1.82.401 2026-05-19
Modifications
- Keep PWA cache aligned with release version
v1.82.400 2026-05-19
Ajoute
- Absence continue + moulinette migration + fixes affichage feries travailles
- Jours feries travailles (journee de solidarite)
Corrige
- Affichage flag traverse_jours_non_travailles dans liste Types activite
- Affichage activites sur weekend + jours partiels lisibles
Performance
- Eliminer longtask 474ms au dragstart (v1.82.205/206)
- Overlay GPU compositor pour drop highlight (v1.82.203/204)
- Virtualisation rows planning via content-visibility (v1.82.202)
- Drag-and-drop fluide + SSE optim + délégation handlers (v1.82.182→201)
Documentation
- Brief complet pour investigation freezes drag-and-drop
Base de donnees
update-1-82-171-feries-travaille.sqlupdate-1-82-176-absence-continue.sqlupdate-1-82-390.sqlv1.82.170 2026-03-09
Corrige
- Dockerfile COPY source + try/catch migration runner PHP 8.1
v1.82.169 2026-03-09
Ajoute
- Chrono Tour guide + zone feries par equipe
- Script migration automatique feries vers gestion native
- Jours feries traites comme jours non ouvres + amelioration visuelle
- Auto-sync jours feries via API gouvernementale + support Alsace-Moselle
Corrige
- Execution automatique du fix affectation sorties au demarrage
- Affectation sorties email: resolution par plage horaire au lieu du titulaire
- Purge des activites FERIE manuelles, desormais gerees nativement
- Afficher la lettre D pour les dimanches dans le header du planning
- Header fériés: garder le même style que les jours normaux
- Header fériés: forcer opacity:1 pour éviter le texte blanc invisible
- Remettre le badge orange du nom de férié dans chaque cellule du planning
- Fériés header: remplacer le label texte par une petite étoile à côté du numéro
Interface
- Amélioration visuelle des jours fériés dans le planning
- Ameliorations interface jours feries : filtre annee, stats, tooltips
Experience utilisateur
- Badge férié responsive: s'adapte à la largeur de la cellule
- Fériés: nom dans le header, suppression du badge répétitif dans les cellules
Base de donnees
update-1-82-169.sqlv1.82.168 2026-03-06
Corrige
- Merge fix drag-drop PC tactile: -webkit-user-drag bloquait le D&D souris sur ecrans tactiles
- Drag-drop PC tactile: -webkit-user-drag:none bloquait le D&D natif avec la souris
v1.82.167 2026-03-05
Corrige
- Auto-scroll: utiliser scroll-margin-top au lieu de calcul JS fragile
v1.82.166 2026-03-05
Corrige
- Auto-scroll: compenser header sticky pour positionner la ligne cible correctement
v1.82.165 2026-03-05
Corrige
- Auto-scroll: utiliser equipe primary managee (planning_team_manager) au lieu de user_groupe_id
v1.82.164 2026-03-05
Corrige
- Migration 158: retrocompatibilite visibilite others pour regles existantes
Base de donnees
update-1-82-158.sqlv1.82.163 2026-03-05
Corrige
- loadMesSorties: table planning_user_groupe_membre n'existe pas, utiliser planning_user
v1.82.162 2026-03-05
Corrige
- Migration 158: check IF NOT EXISTS avant ALTER TABLE pour eviter erreur duplicate column
Base de donnees
update-1-82-158.sqlv1.82.161 2026-03-05
Corrige
- Auto-scroll: desactiver pour admin (users_manage_all) qui voit toutes les equipes
v1.82.160 2026-03-05
Corrige
- Auto-scroll: supprimer guard sessionStorage pour fonctionner a chaque chargement
v1.82.159 2026-03-05
Ajoute
- Auto-scroll: manager equipe amene vers sa ligne d'equipe au lieu de sa propre ligne
v1.82.158 2026-03-05
Ajoute
- Double horizon visibilite: migration SQL colonnes others
Base de donnees
update-1-82-158.sqlv1.82.157 2026-03-05
Ajoute
- Merge profil Technicien: securite, double horizon visibilite, auto-scroll mobile
- Audit profil Technicien: securite canOnlyAssignSelf + double horizon visibilite + auto-scroll
- Profil Technicien - gestion autonome du planning personnel
Corrige
- Sidepanel: verrouiller selecteur utilisateur pour Technicien
- Formulaire tache: autoriser creation pour tasks_modify_own_task
- Technicien: bloquer clic creation sur les lignes des collegues
- Technicien: forcer pre-selection self quand clic sur ligne collegue
- Profil Technicien: visibilite equipe, modification self-only
Base de donnees
update-1-82-157.sqlv1.82.156 2026-03-04
Corrige
- PDF email attachment: align data with export PDF (all fields)
v1.82.155 2026-03-04
Corrige
- Email sorties: encodage UTF-8 corps + preview xajax
v1.82.154 2026-03-04
Corrige
- Email sorties: UTF-8 accents, banner renvoi, PDF annexes
v1.82.153 2026-03-04
Ajoute
- Rattrapage auto des sorties orphelines (sites sans site_id)
v1.82.152 2026-03-04
Ajoute
- Matching intelligent des sites via LLM avant auto-creation
v1.82.151 2026-03-04
Corrige
- PDF annexes: barres de progression debordent sur colonne droite
v1.82.150 2026-03-04
Ajoute
- Sorties astreinte: temps distance + cloture auto + ticket ID
Base de donnees
update-1-82-149.sqlupdate-1-82-150.sqlv1.82.149 2026-03-04
Corrige
- PDF sorties: templates Html2Pdf compatibles + dropdowns position fixed
v1.82.148 2026-03-03
Corrige
- Carnet email: bouton Enregistrer visible + envoi groupe unique
v1.82.147 2026-03-03
Corrige
- Modale envoi email astreinte: affichait 'Confirmer la suppression'
v1.82.146 2026-03-03
Corrige
- Carnet email astreinte: migration SQL manquante + error handling
Base de donnees
update-1-82-146.sqlv1.82.145 2026-03-02
Corrige
- SQL migrations idempotentes: evite echec auto-upgrade sur colonnes existantes
Base de donnees
update-1-82-144.sqlupdate-1-82-145.sqlv1.82.144 2026-03-02
Ajoute
- Mode validation configurable sorties: manager vs technicien par equipe
- Traitement recap ALEOCENTER: reconciliation LLM-first avec ticket_id
- Circuit 5 etapes sortie-review: SQL migration + cleanup skip-release
- Mes Sorties - technician self-service view + submission workflow
- Sortie Review UX - nudge modal, quick-fill, doublon handling
Corrige
- Mode management-direct: gardes serveur, CSS badge, onglet Soumis conditionnel
- loadSortieReviewModal: stepper validationMode + filtre management direct
- Mode validation sorties: management direct au lieu d'auto-validation tech
- validerToutesSorties: scope manage_own aux propres sorties du tech skip-release
- Filtrage emails non-incident: 3 couches de protection anti-faux-brouillons
- Audit MINOR: 5 correctifs qualite code et CSS skip-release
- Audit branche sortie-review: 17 correctifs securite, robustesse, CSS skip-release
- Escape single quotes in astreinte_notify() string arguments
- Phase 1 - Critical: delete duplicate CSS, replace 116 addAlert by SoNotify
- P1-10 - Eliminate setTimeout cascades in xajax responses
- P0 modales - ARIA, prompt, fermeture delegation, z-index transition
- Smarty syntax error - remove invalid |intval modifier in sorties list
- Mobile filters + icons - nowrap on quick buttons, FA6 native icon names
- Branch audit - 28 fixes: state machine guards, XSS, validation, UX
- Sortie review FAB - json_encode encoding fix + cleanup debug
- Revert basket sidebar width to var(--sidebar-width) - was too wide on mobile
- Basket FAB opens sidebar at 56px instead of full width on mobile
- Basket FAB not opening - duplicate ID + z-index conflict
- Sortie Review badge - icon button in collapsed sidebar, matching basket style
- Sortie Review badge - move to standalone sidebar row below header
- Sortie Review badge moved from basket filters to sidebar header
- Sortie Review - UTF-8 mojibake, hide confidence %, mobile UX
- Sortie Review FAB not rendered - was in unused basket_panel.tpl
- Sortie Review - contextual access for technicians without formal astreinte rights
- Sortie Review - 3 fatal errors + 8 bugs from multi-agent code review
Interface
- Phase 4 - Tokenize shadows and border-radius in sortie-review
- Phase 2 - Badges, labels, namespace JS, inline styles, focus-visible
- Baseline V2 - Design tokens, SoAstreinte namespace, oncall-badge, XSS hardening
- P2/P3/P4 modales - Visual consistency, reduced-motion, inline styles cleanup
- Audit P2 - Design tokens standardization in oncall.css
- Audit P2 - Accessibility fixes: aria-labels and role=alert
- Audit P1 - Inline styles cleanup + FA6 migration in all astreinte templates
- Audit P1 - Migrate 61 FA4 legacy icons to FA6 native in xajax PHP
- Audit P0-P1 - CSS classes + inline style cleanup + FA6 icons in templates
- Sortie Review - unify quick-fill form styling
- Sortie Review badge - unify style with task-review badge
Experience utilisateur
- P1-9 - Migrate notification detail modal to sidepanel
- P1-7/P1-8 - Button loading states + alert-to-toast migration
- P1 modales - Fermer buttons, sticky actions, confirm modals
- Sortie Review - add Type field to quick-fill modal
- Sortie Review - unify duration fields to h/min format
- Sortie Review v2 - quick-fill redesign + dynamic FAB positioning
Mobile
- Responsive audit fixes - WCAG 44px touch targets + missing CSS classes
- Feature parity - sorties/email/PDF accessible on mobile + touch UX
- Astreintes management pages - full responsive mobile overhaul
- Basket sidebar filter badges - fix truncation on mobile
- Mes Sorties - entry point routing, touch targets, safe area
Documentation
- Analyse Mes Sorties UX Mobile - all 8 steps DONE
Base de donnees
update-1-82-144.sqlupdate-1-82-145.sqlv1.82.143 2026-02-15
Corrige
- Fatal error in saveAiGlobalConfig: db_load needs array argument
v1.82.142 2026-02-15
Corrige
- UTF-8 corruption: stop replacing raw \xA0 byte in email content
v1.82.141 2026-02-15
Corrige
- Handle Cloudflare 409 Duplicated Zone rule on email activation
v1.82.140 2026-02-15
Interface
- Move AI config from Task Review to Options > Configuration IA
v1.82.139 2026-02-15
Corrige
- Email webhook: conversion UTF-8 vers latin1 pour DB
v1.82.138 2026-02-15
Securite
- Corrections mineures pre-deploiement
v1.82.137 2026-02-15
Ajoute
- Entrypoint: auto-generation webhook secret + export env cron
v1.82.136 2026-02-15
Ajoute
- Centraliser config IA dans planning_config (globale)
Base de donnees
update-1-82-136.sqlv1.82.135 2026-02-15
Corrige
- PDF sorties: afficher nom complet du technicien au lieu de M.NOM
v1.82.134 2026-02-15
Interface
- Retrait badge IA du formulaire sortie, nature technique dynamique
v1.82.133 2026-02-15
Corrige
- Webhook: utilise la date de l'email pour trouver la periode active
v1.82.132 2026-02-15
Interface
- Retrait du tag IA/Auto dans la liste des sorties
v1.82.131 2026-02-15
Ajoute
- Tag IA dans liste sorties + regles d'exclusion email par equipe
Base de donnees
update-1-82-131.sqlv1.82.130 2026-02-15
Corrige
- Email processor: fix AI config loading and UTF-8 encoding
v1.82.129 2026-02-15
Corrige
- Email regex: clean nbsp, smart site names, accent-safe incident detection
v1.82.128 2026-02-15
Ajoute
- Email processing: LLM-first extraction with regex fallback
Base de donnees
update-1-82-128.sqlv1.82.127 2026-02-15
Corrige
- Email config: address change handling, smart prefix, webhook URL
v1.82.126 2026-02-15
Experience utilisateur
- Prefixe email editable + auto-calcul depuis equipes selectionnees
v1.82.125 2026-02-15
Ajoute
- Mutualisation adresse email entre equipes
v1.82.124 2026-02-15
Ajoute
- Email routing astreinte via Cloudflare Email Workers
Base de donnees
update-1-82-124.sqlv1.82.123 2026-02-15
Corrige
- Entrypoint: create task_review.lock with www-data ownership
v1.82.122 2026-02-15
Corrige
- Entrypoint: PHP migration detection uses initial DB version instead of post-SQL version
v1.82.121 2026-02-15
Corrige
- Task review: LLM-detected anomalies (memo_personnel, etc.) now trigger review regardless of staleness score
v1.82.120 2026-02-15
Corrige
- PHP migrations: Cannot redeclare runMigration() when multiple PHP migrations run sequentially
v1.82.119 2026-02-15
Corrige
- Scoring LLM: staleness base sur age + merge max() pour taches normales
v1.82.118 2026-02-15
Corrige
- LLM batch: fallback cle plaintext, timeout 90s, prompt BTP ameliore
v1.82.117 2026-02-15
Ajoute
- Architecture LLM-First pour detection anomalies panier
Corrige
- Corrections revue code architecture LLM-First anomalies panier
Base de donnees
update-1-82-117.sqlv1.82.116 2026-02-15
Corrige
- Ajout task_review_view_team dans formulaires utilisateur et bulk rights
v1.82.115 2026-02-15
Ajoute
- Auto-popup modale review au premier affichage pour nouveaux utilisateurs
v1.82.114 2026-02-15
Corrige
- Decoupler droits panier des droits task review + ajout task_review_view_team
v1.82.113 2026-02-14
Corrige
- Protection db_query() dans checkPendingReviews + logging erreur SQL
v1.82.112 2026-02-14
Ajoute
- Pagination modale review + retrait basket_manage_all du bouton Vue detaillee
v1.82.111 2026-02-14
Corrige
- Decoupler droits panier des droits task review + visibilite par equipe
v1.82.110 2026-02-14
Ajoute
- Filtres queue task review + enrichissement cartes
v1.82.109 2026-02-14
Ajoute
- Suivi task review par utilisateur et par equipe dans stats
v1.82.108 2026-02-14
Ajoute
- Auto-hygiene panier: 3 regles de nettoyage transparent
v1.82.107 2026-02-14
Ajoute
- Rationalisation droits + uniformisation Notion formulaires modaux
- Rationalisation gestion des droits sur les 3 formulaires
Interface
- Uniformise layout droits activites sur user_form et bulk_form
- Uniformisation Notion des formulaires modaux
v1.82.106 2026-02-14
Ajoute
- Droits task review assignables dans les profils
v1.82.105 2026-02-14
Ajoute
- Classifieur 3 niveaux pour detection anomalies panier
v1.82.104 2026-02-14
Corrige
- Smarty charset ISO-8859-1: corrige titres affiches "Sans titre"
v1.82.103 2026-02-14
Corrige
- Task review: logging manquant pour auto-archive absences et sans-titre
v1.82.102 2026-02-14
Ajoute
- Task review: onglet Historique des actions admin
v1.82.101 2026-02-14
Corrige
- Task review: 7 anomalies corrigees par analyse multi-agents
v1.82.100 2026-02-14
Experience utilisateur
- Task review: classification tags + auto-archive absences
v1.82.99 2026-02-14
Experience utilisateur
- Task review: AI key warning, model suggestions, pagination, untitled cleanup
v1.82.98 2026-02-14
Corrige
- Migration: prevent duplicate rows in staleness_model and review_config
Base de donnees
update-1-82-97.sqlv1.82.97 2026-02-14
Ajoute
- Task review cron: AI enrichment activation
- v1.82.97 Task review/charifage AI module
Corrige
- Task review: pre-merge fixes from final multi-agent analysis
- Task review: ADM fallback also in manual scoring
- Task review: orphan tasks fallback to admin ADM
- Task review: 15 MEDIUM fixes from multi-agent analysis
- Task review: 6 remaining HIGH fixes
- Task review: 9 HIGH fixes from multi-agent analysis
- Task review: 10 critical fixes from multi-agent analysis + manual scoring button
Experience utilisateur
- Move task review admin from modal to dedicated page
- Use non-technical labels in task review config
- Simplify task review config with presets and advanced mode
Securite
[Security][Fix] Task review: fix XSS, data loss, N+1 queries, duplicate IDs, Docker env leakBase de donnees
update-1-82-97.sqlv1.82.96 2026-02-13
Corrige
- Bandeau mise a jour: robustesse reconnexion, i18n et recovery
- Bandeau mise a jour: eliminer les faux positifs hors-ligne/erreurs reseau
v1.82.95 2026-02-13
Ajoute
- Amelioration gestion sessions et connexions
Securite
- Corrections critiques gestion sessions avant merge
v1.82.94 2026-02-13
Corrige
- Correction filtre calendriers: Surete/Securite exclus a tort par 1.82.91
v1.82.93 2026-02-13
Corrige
- Suppression activites astreinte + desactivation type ASTR
Base de donnees
update-1-82-93.sqlv1.82.92 2026-02-13
Corrige
- Nettoyage calendriers orphelins et renommage propre
Base de donnees
update-1-82-92.sqlv1.82.91 2026-02-13
Corrige
- Neutralise migration destructrice 1.82.89 + corrective 1.82.91
Base de donnees
update-1-82-89.sqlv1.82.90 2026-02-13
Corrige
- db_fetch() inexistant remplace par db_fetch_array()
v1.82.89 2026-02-13
Corrige
- GObject __isset manquant + nettoyage calendriers orphelins
Base de donnees
update-1-82-89.sqlv1.82.88 2026-02-13
Corrige
- Affichage horaires calendrier pour activites multi-jours et journee complete
v1.82.87 2026-02-13
Corrige
- Migration: exclure Sedentaire de la duplication calendriers
v1.82.86 2026-02-13
Corrige
- Migration securisee: complete duplication incomplete calendriers
v1.82.85 2026-02-13
Corrige
- Renommage migration vers v1.82.84 pour execution sur ChronoDev
v1.82.84 2026-02-13
Corrige
- Migration auto-assignation calendriers equipes orphelines
v1.82.83 2026-02-13
Corrige
- Migration recalcul durees couvre aussi les activites passees
v1.82.82 2026-02-13
Corrige
- Renommage migration recalcul durees vers v1.82.82
v1.82.81 2026-02-12
Ajoute
- Propagation calendrier etendue aux activites
- Propagation durees taches apres modification calendrier
Corrige
- Migration auto recalcul durees + correction colonne login_actif
v1.82.80 2026-02-12
Corrige
- Contrainte calendrier: boucle infinie sur ajustement tache multi-jours
v1.82.79 2026-02-12
Corrige
- Ajout Content-Type header sur reponse CSRF invalide xajax
v1.82.78 2026-02-12
Interface
- Uniformisation boutons sidepanels astreinte vers design system sp-btn
v1.82.77 2026-02-12
Experience utilisateur
- Phase 3: modale confirmation, focus trap, validation inline, breadcrumbs, console gate
v1.82.76 2026-02-12
Corrige
- CSRF: generation lazy du token (session pas encore active au require)
v1.82.75 2026-02-12
Corrige
- CSRF: require_once pour eviter double-declaration fatale
- Phase 2 - Correction regressions detectees par verification
- Phase 2 - Ameliorations importantes: securite, accessibilite, performance
v1.82.74 2026-02-12
Corrige
- Regression N+1: ajouter champ calcule is_delegation au row brut
- Phase 1 - 7 corrections critiques performances et securite
Base de donnees
update-1-82-74.sqlv1.82.73 2026-02-12
Corrige
- Ne pas envoyer de notifications pour les periodes passees
v1.82.72 2026-02-12
Experience utilisateur
- Filtres rapides periodes - vue annee en cours par defaut
v1.82.71 2026-02-12
Corrige
- Afficher les periodes d'astreinte passees dans le tableau
v1.82.70 2026-02-12
Ajoute
- Sorties d'astreinte - gestion complete + exports PDF multi-equipe/multi-mois
Base de donnees
update-1-82-70.sqlv1.82.69 2026-02-11
Corrige
- CSRF token mismatch behind reverse proxy + self-healing token refresh
v1.82.68 2026-02-11
Securite
- Replace addslashes→val2sql_raw in SQL, validate PDF params, sanitize options tab
- Upload SQL injection, MD5→random_bytes, tabnabbing, upload dir hardening
- Remove X-Powered-By header, add session strict mode, deduplicate X-Frame-Options
- CSRF protection for xajax, security headers, stronger token
[Security][Perf] Audit fixes - SQL injection, eval() RCE, missing indexes, N+1 queries
Base de donnees
update-1-82-68.sqlv1.82.67 2026-02-10
Corrige
- Re-enable Pointer Events API for drag-and-drop on hybrid PCs with touchscreens
v1.82.66 2026-02-10
Corrige
- Inject Docker env vars into cron entries for Brevo SMS config
v1.82.65 2026-02-10
Corrige
- Fix cron lock file ownership blocking notification sends
v1.82.64 2026-02-10
Corrige
- Fix cron notifications not sending: permissions, PHP path, timezone
v1.82.63 2026-02-09
Interface
- Add astreintes module toggle in Options page
v1.82.62 2026-02-09
Corrige
- Hide astreinte rights from self-profile edit form
v1.82.61 2026-02-09
Corrige
- Move trigger DEFINER fix before SQL migrations in entrypoint
v1.82.60 2026-02-09
Experience utilisateur
- Astreintes: hide UI elements based on permission level
v1.82.59 2026-02-09
Corrige
- Admin panel button visible for all users with panel-relevant rights
v1.82.58 2026-02-09
Corrige
- Astreintes: fix rights hierarchy - configure implies all levels
v1.82.57 2026-02-09
Ajoute
- Astreintes: email recap, notifications UI, SQL migrations, security fixes
- Astreintes: refactor notifications per-segment with titulaire fallback
- Astreintes: add per-user rights in user form
- Astreintes: SQL migration, cron config and syntax fix
- Astreintes: notification hooks, cron job and translations
- Astreintes: notification system infrastructure
- Astreintes: add granular roles and permissions
- Astreintes: toggle activation dans le formulaire equipe
- Astreintes: flag participation utilisateur + filtrage equipes actives
- Bandeau astreinte: blocs par jour avec delegations partielles
- Tooltip astreintes: couverture detaillee par personne et plages
- Module Astreintes - Refactoring audit complet + suppression contraintes
- Module Astreintes - Gestion complete des astreintes
Corrige
- Astreintes: cleanup dead CSS class, dead table, charset consistency
- Astreintes: robust retry, cron flock, rate limiting and admin alerting
- Astreintes: config equipe utilise listeEquipes (actives seulement)
- Astreintes: config equipe utilise listeGroupes (toutes), fix iterateur GCollection
- Astreintes: GCollection iteration avec fetch() au lieu de ->data
- Astreintes: supprimer tous les 13:00 hardcodes, config multi-equipes au submit
- Astreintes: heures config multi-equipes + suppression scroll horizontal
- Astreintes: db_save auto-increment, refresh direct, suppression scroll horizontal
- Bandeau astreinte: overnight UNION, titulaire visible, UX ameliorations
- Bandeau astreinte: horaires plages reelles au lieu des bornes periode
- Bandeau astreinte: avatar seul pour les delegations partielles
- Tooltip astreintes illisible + filtre titulaire par equipe + nouvelle periode sans arg
Performance
- Astreintes: optimize SMS volume -25% (36 -> 27 SMS)
Interface
- Astreintes: align notification SMS/email with app branding (Chrono)
- Astreintes: fix responsive horizontal scrollbar in periods table
- Planning: masquer tag/banniere astreinte sur equipes non activees
- Bandeau astreinte: suppression icone tel, labels plages delegues
- Planning astreintes: avatars colores, badges DELEG/EN COURS, visibilite amelioree
Experience utilisateur
- Bandeau astreinte: afficher titulaire barre + delegataire directement
Securite
- Astreintes: team-scoped auth, idempotent SQL, prod cron, version bump
Base de donnees
update-1-82-55.sqlupdate-1-82-56.sqlv1.82.54 2026-01-21
Corrige
- Multi-jour avec heures personnalisees: verifier heures AVANT demi-journees
v1.82.53 2026-01-21
Corrige
- Correction detection champ duree vide avec type=time
v1.82.52 2026-01-21
Corrige
- Ne pas vider date_fin lors de la saisie des heures personnalisees
v1.82.51 2026-01-21
Corrige
- Creneaux horaires personnalises: sauvegarde, rechargement et affichage multi-jour
v1.82.50 2026-01-20
Experience utilisateur
- Uniformisation contraintes calendrier: tout via modal serveur
v1.82.49 2026-01-20
Corrige
- Affichage plage horaire AM/PM dans tooltip et cellules
v1.82.48 2026-01-20
Corrige
- Taches hors_calendrier: affichage, modification et blocage drag
v1.82.47 2026-01-20
Corrige
- Calendrier: prise en compte matin/apres-midi pour periodes multi-jours
v1.82.46 2026-01-19
Corrige
- Prevent Apache redirect loop for static assets (AH00124)
Securite
- Harden .htaccess against open redirect and path traversal
v1.82.45 2026-01-19
Corrige
- Sidepanel respects calendar constraint toggle for half-day options
- Calendar constraint toggle now works for all operations
- Multi-team selection now saves correctly in basket task sidepanel
- Allow team task assignment for users with basket_manage_team right
- Correct team task management bugs (touch detection, basket auto-close, team addition)
Documentation
- Update analysis document with Bug 4 (multi-team selection in sidepanel)
v1.82.44 2026-01-18
Corrige
- Correct status labels encoding (UTF-8 -> latin1)
Base de donnees
update-1-82-44.sqlv1.82.43 2026-01-18
Corrige
- Correct column name in migration (commentaire, not label)
Base de donnees
update-1-82-41.sqlv1.82.42 2026-01-18
Corrige
- Use INSERT IGNORE for MariaDB compatibility in migration
Base de donnees
update-1-82-41.sqlv1.82.41 2026-01-18
Corrige
- Force calendar constraint mode to 'strict' by default
Base de donnees
update-1-82-41.sqlv1.82.40 2026-01-18
Corrige
- Calendar constraint not detecting activities ending on non-working PM
v1.82.39 2026-01-18
Experience utilisateur
- Phase 3 improvements for team filter system
v1.82.38 2026-01-18
Experience utilisateur
- Re-render team section after server response
v1.82.37 2026-01-18
Corrige
- Phase 2 high-priority fixes for team filter system
v1.82.36 2026-01-18
Securite
- Phase 1 critical fixes for team filter system
v1.82.35 2026-01-18
Ajoute
- Add migration version validation automation
v1.82.34 2026-01-18
Corrige
- Correct migration file versioning for v1.82.33 compatibility
Base de donnees
update-1-82-21.sqlupdate-1-82-32.sqlv1.82.33 2026-01-18
Ajoute
- Add advanced task duplication functionality
Experience utilisateur
- Improve task duplication to create copy only on validation
v1.82.32 2026-01-18
Ajoute
- Unified Access & Sharing panel (v1.86.00)
- Team manager backend - filter basket by managed teams
- Add team filter dropdown in basket panel
Corrige
- Use document.body for Select2 dropdownParent in xajax responses
- Basket panel UI sync and color-coded drop zones
Interface
- Add select2bs4 class to repetition select (merge fix)
- Uniform custom dropdowns for team and type filters in basket panel
Securite
- Complete rights system fixes and standardization
Base de donnees
update-1-83-01.sqlupdate-1-86-00.sqlv1.83.00_basket_team_filter.sqlv1.82.31 2026-01-17
Corrige
- Add position relative to assignment section for user dropdown
- Use document.body for Select2 dropdownParent in notion-layout.js
- Select2 dropdown positioning in sidepanel
- Close dropdowns on scroll in sidepanel
- Resolve xajax script parsing error in sidepanel
Interface
- Standardize repetition select with select2bs4 class
- Remove activity-based title coloring - consistent neutral style
- Unify label colors in sidepanel
- Fix sidepanel layout overflow issues
- Complete CSS design system standardization
Experience utilisateur
- Sprint 2 improvements - user assignment, schedule labels, validation
Securite
- Phase 6 - XSS prevention and error handling
Documentation
- Add UI standardization audit - typography, spacing, colors
- Update analysis - Global functions migration complete
- Update sidepanel analysis - Phase 10 complete, refactoring finished
- Update sidepanel analysis - Phases 6-9 complete
- Update sidepanel analysis with post-refactoring audit
v1.82.30 2026-01-16
Ajoute
- Calendar adjustment proposal on drag-and-drop constraint violation
Corrige
- Security and stability fixes from multi-agent review
- Silent UI rollback for calendar adjustment modal
- Fix half-day toggle display for multi-day activities in sidepanel
- Auto-refresh side panel after task move operations
- Prevent duplicate creation when confirming calendar adjustment
- Pass calendar adjustment as JSON string for xajax compatibility
- Calendar validation for multi-day tasks drag-and-drop
Interface
- Replace native confirm() with custom Bootstrap modal for delete button
v1.82.29 2026-01-16
Ajoute
- Add automatic migration to fix tasks violating calendar constraints
- Add tool to fix existing tasks violating calendar constraints
Corrige
- Handle NULL duree_details in calendar migration for multi-day tasks
- Fix migration for multi-day tasks starting on Friday PM
- Fix PHP migration dependencies and db_free_result
- Remove manual calendar violation tools - auto migration only
- Add calendar constraint validation to drag-and-drop move operations
v1.82.27 2026-01-16
Corrige
- Make SQL migrations idempotent for v1.84/v1.85
Base de donnees
update-1-84-00.sqlupdate-1-85-00.sqlv1.82.26 2026-01-16
Ajoute
- Multi-conditions pour statuts + fix notification loading
Corrige
- Remove debug console.log statements from date value storage
Base de donnees
update-1-84-00.sqlupdate-1-85-00.sqlv1.82.25 2026-01-16
Corrige
- Mobile drag-and-drop: clone visibility & toolbar display
v1.82.24 2026-01-16
Ajoute
- Migrate notification calls to SoNotify
- SoNotify - Unified notification system (Notion-style)
Corrige
- Complete SoNotify integration - critical fixes
v1.82.23 2026-01-16
Corrige
- Smart morph rendering bug - Use tbody.innerHTML for reliable DOM updates
- Visual sync of multi-user task clones during drag & drop
- Drag & drop multi-user tasks now updates all assigned users
Performance
- Delta updates for SSE planning events - avoid unnecessary refreshes
Interface
- Task badges refactoring and cleanup
v1.82.22 2026-01-15
Ajoute
- Configurable status icons via admin page
- SVG inline icons + preventive status management
Corrige
- Hide status icons on absence-type activities
- Code quality issues from multi-agent analysis
- Add row IDs to planning table for proper morphdom matching
Base de donnees
planning_mysql.sqlupdate-1-82-22.sqlupdate-1-83-00.sqlv1.82.11_performance_indexes.sqlv1.82.21 2026-01-15
Corrige
- Mobile month buttons not limited - wrong CSS selector
Documentation
- WIP - Clean up CHANGELOG from incorrect SQL migrations
v1.82.20 2026-01-15
Corrige
- Changelog only includes actually modified SQL files
v1.82.19 2026-01-15
Corrige
- Mobile - User column hidden behind task cells
v1.82.18 2026-01-15
Interface
- Simplify task sidepanel - remove link, file, email notification, custom
v1.82.17 2026-01-15
Corrige
- Remove hardcoded version numbers from comments
- Presence dropdown shows only overflow users (not already visible as avatars)
Documentation
- Add post-commit hook for auto versioning
v1.82.16 2026-01-14
Ajoute
- Integrate optimisticUI with PlanningEventState for concurrent drags
- Optimistic Drag & Drop - Phase 1 Infrastructure
Corrige
- Consecutive drag & drop popup interaction
Documentation
- Update progress and add workflow diagram
- Update progress tracking for Optimistic UI implementation
- Add Optimistic Drag & Drop analysis and implementation plan
v1.82.11 2026-01-14
Corrige
- Prevent drag & drop from getting stuck
Performance
- Add composite indexes for query optimization
- Debounce/throttle scroll handlers
- Add LRU cache to GObject::db_load()
- Async notifications + deferred budget updates
- Factorize 3rd conflict check block
- Optimize task operations - Phase 2
- Optimize task move operations - Phase 1
Base de donnees
update-1-82-10.sqlv1.82.09 2026-01-14
Ajoute
- Multi-month selection : Selection de plusieurs mois consecutifs dans la toolbar
- Shift+Click : Selectionner une plage de mois d'un coup
- Maximum 6 mois selectionnables
- Feedback visuel vert sur les mois selectionnes
- Indicateur avec compteur "X mois" et boutons Afficher/Annuler
- Tous les mois de la periode affichee sont surlignes apres validation
v1.82.08 2026-01-14
Corrige
- Presence dropdown z-index : Correction du probleme d'affichage du dropdown de presence
- Le dropdown s'affiche maintenant correctement au-dessus des autres elements
- Resolution du conflit z-index avec les overlays et modales
Technique
- Pattern Portal applique au composant PresenceDropdown
- Meilleure gestion du positionnement absolu dans le DOM
v1.82.07 2026-01-13
Corrige
- Date Range Picker : Bug date "AU" prenant la date du jour au lieu de la date "DU"
initDateRangeSync() pour synchronisation automatique- Quand date_debut change en mode custom, date_fin est mise a jour si vide ou invalide
- Si date_fin < date_debut, correction automatique avec feedback visuel
- Support mobile (input type="date") et desktop (Bootstrap Datepicker)
- Ajout
onFocus="remplirDateFinPeriode();" dans template comme fallbackAmeliore
- UX Date Range : Feedback visuel lors de la synchronisation automatique
- Message warning quand date_fin est corrigee (etait avant date_debut)
- Auto-disparition apres 4 secondes
Technique
- Nouvelles fonctions dans sidepanel-form.js:
parseUserDate() : Parse dates FR (DD/MM/YYYY) et ISO (YYYY-MM-DD)-
showDateRangeFeedback() : Affiche feedback visuel dans le panel custom-
initDateRangeSync() : Gere la synchronisation date_debut → date_fin- Bonnes pratiques UX basees sur Google Calendar, Expedia, Material Design
v1.82.06 2026-01-12
Corrige
- SSE/Polling : Silent fallback + Network detection
- SSE/Polling : Memory leak fix in SSE retry test
v1.82.05 2026-01-12
Ajoute
- SSE/Presence System v1.82.04 - Corporate Proxy Support + Stability
Corrige
- SSE/Cloudflare Phase 1 - Headers chunked/identity + streams par defaut
- SSE/Presence v1.81.05 - Cloudflare 16KB padding + subscribe loop fix
v1.82.04 2026-01-12
Corrige
- SSE/Deploiement : Affichage du bandeau de mise a jour apres 5 erreurs de connexion consecutives (404 pendant deploiement)
- SSE/UX : Au lieu d'erreurs silencieuses, l'utilisateur voit maintenant un bandeau bleu l'invitant a rafraichir
- Presence/UI : Correction du clignotement des avatars utilisateurs en ligne
- Skip render dans updateUserStatus() si le statut est inchange
- Skip render dans addUser() si l'utilisateur existe deja avec les memes donnees
- Skip render dans updateUsers() si la liste n'a pas change
- Presence/Away : Le statut "Absent" (away) est maintenant correctement affiche
- Pastille jaune/orange visible apres 5 min d'inactivite
Base de donnees
update-1-82-04.sqlv1.82.03 2026-01-12
Corrige
- SSE/Presence : Bug suppression ZSET multi-onglets (fermer un onglet supprimait l'utilisateur meme si d'autres onglets ouverts)
- SSE/Presence : heartbeatTimeout augmente a 20s (4x heartbeat serveur) pour eviter faux positifs
- SSE/Presence : maxHeartbeatTimeouts revenu a 2 (1 etait trop agressif)
- SSE/Presence : Nettoyage _pendingRemovals dans destroy() (fuite memoire)
- SSE/Presence : Utilisation constante CONFIG_PRESENCE_TTL partout
- SSE/Securite : Details des exceptions masques dans erreurs SSE
- SSE/Presence : Guard _switchingTransport dans initRealtime() (race condition)
- Long Polling : Queue drain compte les events et non les iterations (max 11 events)
Base de donnees
update-1-82-03.sqlv1.82.02 2026-01-12
Performance
- SSE/Presence : SSE_POLL_INTERVAL reduit de 5s a 1s (80% plus rapide)
- SSE/Presence : Rafraichissement liste presence de 60s a 15s (75% plus rapide)
- SSE/Presence : sleep() legacy SSE de 1s a 100ms (90% plus rapide)
- SSE/Presence : SSE_HEARTBEAT_INTERVAL de 15s a 5s (67% plus rapide)
- SSE/Presence : heartbeatTimeout client de 45s a 15s (67% plus rapide)
- SSE/Presence : heartbeatCheckInterval de 10s a 3s (70% plus rapide)
- Long Polling : LONGPOLL_TIMEOUT de 25s a 10s (60% plus rapide)
- SSE/Presence : GRACE_PERIOD de 15s a 5s (67% plus rapide)
- SSE/Presence : statusSyncInterval de 60s a 20s (67% plus rapide)
Base de donnees
update-1-82-02.sqlv1.82.01 2026-01-12
Corrige
- SSE/Presence : Flickering corrige - active_users retire des events delta (presence_join)
- SSE/Presence : TTL augmente de 90s a 180s (ratio 3:1 avec heartbeat)
- SSE/Presence : Heartbeat HTTP envoie toujours (ne skip plus si status inchange)
- SSE/Presence : Grace period 15s avant marquage offline
- SSE/Presence : Nettoyage ZSET deterministe (100% au lieu de 10%)
- SSE/Presence : publishPresenceLeave atomique avec transaction
Base de donnees
update-1-82-01.sqlv1.82.00 2026-01-12
Securite
- Rate limiting SSE (max 10 connexions simultanees par utilisateur)
- Rate limiting heartbeat (max 10 requetes/5s)
- Validation tab_id contre injection
Corrige
- SSE/Presence : Deduplication events cote client (evite doublons pendant switch transport)
- SSE/Presence : Transactions Redis pour presence atomique
- Long Polling : Cleanup a la deconnexion (sendBeacon)
- Long Polling : Structure events coherente avec SSE
- Accessibilite : Region ARIA live pour lecteurs d'ecran
Base de donnees
update-1-82-00.sqlv1.81.12 2026-01-12
Corrige
- Rate limiting atomique avec script Lua (evite cles orphelines sur crash)
- BLPOP draine les DEUX queues (evite perte events broadcast)
- TTL queue ne reset plus a chaque push (corrige fuite memoire)
- Connexion Redis fermee proprement avant null (corrige fuite socket)
- Guard contre ajustements interval concurrents (race condition)
- Debounce render avec max wait time (evite report infini)
- padStart() remplace par code compatible IE11
Base de donnees
update-1-81-12.sqlv1.81.11 2026-01-12
Corrige
- Fuite memoire PresenceDetector/UI - destroy() cleanup dans cleanupRealtime()
- Boucle SCAN infinie dans presence_heartbeat.php:230
- Race condition switch SSE/Long Polling - guard _switchingTransport
- markUserActive() manquant dans long_poll.php
Base de donnees
update-1-81-11.sqlv1.81.10 2026-01-12
Corrige
- Boucle infinie dans sse_planning.php SCAN fallback (CRITIQUE)
- Long Polling recoit maintenant les events heartbeat presence
- Check EventSource redondant supprime dans JS client
Ajoute
- Classe EncodingHelper centralisee pour conversion UTF-8
- Endpoint SSE health check (/process/sse_healthcheck.php)
- Rate limiting endpoint Long Polling (60 req/min)
Base de donnees
update-1-81-10.sqlv1.81.09 2026-01-12
Ajoute
- Long Polling : Support fallback pour proxies corporate bloquant SSE
- Nouvelle classe class_longpoll_queue.inc (queue Redis)
- Integration dans RealtimeNotifier pour publish vers queue
- Nouvel endpoint long_poll.php pour clients
- Fallback automatique quand SSE echoue
Base de donnees
update-1-81-09.sqlv1.81.08 2026-01-12
Corrige
- SSE/Proxy : Compatibilite proxies corporate amelioree
- Header Pragma: no-cache
- Header Expires: 0
- charset=utf-8 dans Content-Type
- X-Content-Type-Options: nosniff
- Access-Control-Allow-Origin: *
Base de donnees
update-1-81-08.sqlv1.81.07 2026-01-12
Corrige
- SSE/Cloudflare : Header Transfer-Encoding: chunked supprime (conflit Apache)
- SSE : Ordre output buffering corrige dans sse_planning.php ET sse_streams.php
- SSE : Padding 16KB envoye apres desactivation buffering
Base de donnees
update-1-81-07.sqlv1.81.06 2026-01-12
Corrige
- SSE/Cloudflare : Headers Transfer-Encoding: chunked et Content-Encoding: identity pour forcer streaming
- SSE/Presence : Activation de sse_streams.php (Redis XREAD) par defaut - meilleur blocage que subscribe()
Technique
- sse_planning.php et sse_streams.php: ajout headers chunked/identity
- notion-layout.js: _useStreamsEndpoint = true par defaut
v1.81.05 2026-01-12
Corrige
- SSE/Cloudflare : Ajout padding 2KB initial pour forcer flush buffer Cloudflare
- SSE/Presence : Correction de l'encodage UTF-8 pour JSON (ISO-8859-1 vers UTF-8)
- SSE/Presence : Support des Event ID pour la reconnexion SSE (Last-Event-ID)
- SSE/Presence : Gestion des messages vides (evite JSON errors)
- SSE/Presence : Headers Cache-Control renforces (no-transform)
Performance
- Reduction du timeout SSE de 120s a 90s pour compatibilite Cloudflare
- Reduction de l'intervalle heartbeat de 30s a 15s pour meilleure detection
Base de donnees
update-1-81-05.sqlv1.80.14 2026-01-12
Corrige
- SSE/Presence - Corrections critiques Phase 1 (v1.81.01)
- SSE/Presence - Fiabilité système utilisateurs en ligne (v1.81.00)
Base de donnees
update-1-80-02.sqlupdate-1-80-06.sqlv1.80.13 2026-01-12
Ajoute
- SMS inscription pour Chrono (v1.81.00)
Corrige
- SMS inscription - correction bug empty() sur GObject
Base de donnees
update-1-80-02.sqlupdate-1-80-06.sqlv1.80.12 2026-01-11
Ajoute
- Auto-generate changelog on merge to master
Corrige
- Add missing SQL migration files to update folder
- Correct version to 1.80.10 (resolve version timeline divergence)
Base de donnees
update-1-80-02.sqlupdate-1-80-06.sqlv1.80.11 2026-01-11
Corrige
- Correction de la version (resolution de la divergence de timeline de version)
- Ajout des fichiers de migration SQL manquants dans le dossier update
v1.80.10 2026-01-11
Corrige
- Correction de la version pour resoudre la divergence de timeline
v1.80.06 2026-01-10
Ajoute
- Boutons zoom +/- dans la toolbar PC
Performance
- Optimisations v2.7 finales pour l'animation de zoom
- Animation frame-split v2.6 pour eliminer les reflows synchrones
- Animation zoom v2.5 avec application CSS differee en idle
- Pause de l'enregistrement rrweb pendant l'animation de zoom
- Retarget de l'animation au lieu de redemarrer pour eviter les reflows
- Classe no-record pendant l'animation zoom pour prevenir le lag rrweb
- Optimisation animation zoom: localStorage differe + dimensions cachees
- Echelle RELATIVE pendant l'animation pour eviter le reflow de reset CSS zoom
- Animation zoom acceleree GPU avec transform
- Debounce de l'invalidation du cache DragStateController pendant l'animation zoom
Corrige
- Gestion correcte de l'interruption de l'animation zoom pour prevenir la desync
- Reset du CSS zoom a 1 avant animation pour prevenir le scaling cumulatif
v1.80.05 2026-01-09
Corrige
- Changement du label du bouton panier de "Ajouter au panier" a "Deplacer vers le panier" pour les taches planifiees
v1.80.04 2026-01-08
Ajoute
- Numero de version dans le footer de la page de login
- Auto-upgrade de la base de donnees et systeme de notification de version ameliore
Corrige
- Gestion gracieuse des incompatibilites de version pour les requetes SSE/API
- Corrections de session et notifications de version
Branding
- Changement du titre Changelog SoPlanning vers Changelog Chrono
v1.80.03 2026-01-08
Ajoute
- Page changelog accessible depuis la page de login sans authentification
Corrige
- Rebranding complet vers Chrono et corrections de bugs critiques
- Variables manquantes pour le template changelog public
- Initialisation Smarty pour la page changelog publique
- Cache bust pour presence-ui.js et zoom-manager.js
- Erreurs console sur la page changelog et pages non-planning
- Scroll de la page changelog - fermeture correcte des tags notion-layout
- Erreur base de donnees API version.php et prevention du double chargement de scripts
Experience utilisateur
- Amelioration du layout changelog public
Branding
- Remplacement du copyright SOPlanning par Chrono
v1.80.02 2026-01-07
Ajoute
- Phase 3: Geste swipe-to-close pour le panneau panier
- Phase 3: Changelog ameliore avec cache et ameliorations markdown
Corrige
- Phase 2: Ameliorations de robustesse de version-check.js
- Correction comprehensive pour le probleme de blocage du bouton FAB
- Utilisation de touchend pour le bouton FAB pour contourner le touch polyfill
- Prevention du ghost click apres swipe-to-close
- Reset des cartes expansees lors de la fermeture du panneau panier
- Nettoyage des CSS dupliques et conversion des console.log en _log()
Securite
- Phase 1: Masquage des informations de version et suppression de l'empreinte systeme
- Corrections de securite et bugs du systeme de notification de mise a jour
Experience utilisateur
- Phase 4: Ameliorations d'accessibilite et i18n
v1.80.01 2026-01-07
Ajoute
- Phase 2: Ameliorations UX du panneau panier avec animation d'ouverture/fermeture
Corrige
- Corrections diverses apres deploiement v1.80.00
v1.80.00 2026-01-07
Ajoute
- Deploiement transparent : Detection automatique des mises a jour
- Sessions Redis persistantes : Les sessions survivent aux redemarrages Docker
- Notification de mise a jour : Banniere informative lors d'une nouvelle version
- Page Changelog : Historique des versions accessible depuis l'interface
/api/version.php pour verification de versionAmeliore
- Messages d'erreur plus explicites lors des mises a jour
- Redirection vers login avec message informatif apres deploiement
- UX utilisateur lors des transitions de version
Technique
- Configuration Redis sessions via variables d'environnement
version-check.js pour detection frontendapp_version en session pour comparaisonv1.79.24 2026-01-07
Corrige
- Alignement indicateur presence avec settings
- Logique restrictive pour droits modification taches
- Correction sauvegarde profils de droits
- Correction erreur JavaScript dans formulaire profil
- Warnings PWA manifest start_url/scope
v1.79.23 2026-01-06
Corrige
- Ameliorations diverses de stabilite
- Corrections de bugs mineurs
v1.79.22 2026-01-06
Ajoute
- Cache statique des droits de profils pour eviter les requetes repetees
Corrige
- Performance amelioree sur le chargement des droits utilisateurs
v1.79.20 2026-01-06
Corrige
- Corrections des bugs B1-B5 identifies dans la gestion des droits
Base de donnees
update-1-79-20.sqlv1.79.19 2026-01-06
Base de donnees
update-1-79-19.sql - Corrections schema profilsv1.79.17 2026-01-06
Base de donnees
update-1-79-17.sqlv1.79.14 2026-01-06
Base de donnees
update-1-79-14.sqlv1.79.00 2026-01-05
Ajoute
- Nouvelle version majeure avec ameliorations de la gestion des droits
Base de donnees
update-1-79-00.sqlupdate-1-79-01.sqlv1.78.04 2025-12-30
Base de donnees
update-1-78-04.sqlVersions anterieures
Pour les versions anterieures, consultez l'historique Git du projet.