Back to login

Release Notes

v1.82.517

v1.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

  • Mobile planning: stabilise le bandeau jours/dates sur WebKit/iOS Chrome et les sessions zoomées en rendant le 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

  • Renforce le diagnostic 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

  • Ajoute un diagnostic ChronoDev automatique 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

  • Ajoute un mode diagnostic opt-in 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

  • Migration: planning_mysql.sql
  • Migration: update-1-82-402.sql




  • v1.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

  • Migration: update-1-82-171-feries-travaille.sql
  • Migration: update-1-82-176-absence-continue.sql
  • Migration: update-1-82-390.sql




  • v1.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

  • Migration: update-1-82-169.sql




  • v1.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

  • Migration: update-1-82-158.sql




  • v1.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

  • Migration: update-1-82-158.sql




  • v1.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

  • Migration: update-1-82-158.sql




  • v1.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

  • Migration: update-1-82-157.sql




  • v1.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

  • Migration: update-1-82-149.sql
  • Migration: update-1-82-150.sql




  • v1.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

  • Migration: update-1-82-146.sql




  • v1.82.145 2026-03-02


    Corrige

    • SQL migrations idempotentes: evite echec auto-upgrade sur colonnes existantes

    Base de donnees

  • Migration: update-1-82-144.sql
  • Migration: update-1-82-145.sql




  • v1.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

  • Migration: update-1-82-144.sql
  • Migration: update-1-82-145.sql




  • v1.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

  • Migration: update-1-82-136.sql




  • v1.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

  • Migration: update-1-82-131.sql




  • v1.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

  • Migration: update-1-82-128.sql




  • v1.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

  • Migration: update-1-82-124.sql




  • v1.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

  • Migration: update-1-82-117.sql




  • v1.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

  • Migration: update-1-82-97.sql




  • v1.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 leak

    Base de donnees

  • Migration: update-1-82-97.sql




  • v1.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

  • Migration: update-1-82-93.sql




  • v1.82.92 2026-02-13


    Corrige

    • Nettoyage calendriers orphelins et renommage propre

    Base de donnees

  • Migration: update-1-82-92.sql




  • v1.82.91 2026-02-13


    Corrige

    • Neutralise migration destructrice 1.82.89 + corrective 1.82.91

    Base de donnees

  • Migration: update-1-82-89.sql




  • v1.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

  • Migration: update-1-82-89.sql




  • v1.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

  • Migration: update-1-82-74.sql




  • v1.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

  • Migration: update-1-82-70.sql




  • v1.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] Cookie hardening, end() loop optimization, getSmartyData cache
    [Security][Perf] Audit fixes - SQL injection, eval() RCE, missing indexes, N+1 queries

    Base de donnees

  • Migration: update-1-82-68.sql




  • v1.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

  • Migration: update-1-82-55.sql
  • Migration: update-1-82-56.sql




  • v1.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

  • Migration: update-1-82-44.sql




  • v1.82.43 2026-01-18


    Corrige

    • Correct column name in migration (commentaire, not label)

    Base de donnees

  • Migration: update-1-82-41.sql




  • v1.82.42 2026-01-18


    Corrige

    • Use INSERT IGNORE for MariaDB compatibility in migration

    Base de donnees

  • Migration: update-1-82-41.sql




  • v1.82.41 2026-01-18


    Corrige

    • Force calendar constraint mode to 'strict' by default

    Base de donnees

  • Migration: update-1-82-41.sql




  • v1.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

  • Migration: update-1-82-21.sql
  • Migration: update-1-82-32.sql




  • v1.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

  • Migration: update-1-83-01.sql
  • Migration: update-1-86-00.sql
  • Migration: v1.83.00_basket_team_filter.sql




  • v1.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

  • Migration: update-1-84-00.sql
  • Migration: update-1-85-00.sql




  • v1.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

  • Migration: update-1-84-00.sql
  • Migration: update-1-85-00.sql




  • v1.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

  • Migration: planning_mysql.sql
  • Migration: update-1-82-22.sql
  • Migration: update-1-83-00.sql
  • Migration: v1.82.11_performance_indexes.sql




  • v1.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

  • Migration: update-1-82-10.sql




  • v1.82.09 2026-01-14


    Ajoute

    • Multi-month selection : Selection de plusieurs mois consecutifs dans la toolbar
    - Ctrl+Click : Ajouter/retirer un mois adjacent a la selection
    - 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
    - Implementation du pattern Portal pour le dropdown
    - 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"
    - Nouvelle fonction 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 fallback

    Ameliore

    • UX Date Range : Feedback visuel lors de la synchronisation automatique
    - Message info quand date_fin est remplie automatiquement
    - 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
    - Rendu diff-based : le DOM n'est plus reconstruit si rien n'a change
    - 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
    - Ajout du champ status dans getActivePresenceList()
    - Pastille jaune/orange visible apres 5 min d'inactivite

    Base de donnees

  • Migration: update-1-82-04.sql



  • v1.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

  • Migration: update-1-82-03.sql



  • v1.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

  • Migration: update-1-82-02.sql



  • v1.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

  • Migration: update-1-82-01.sql



  • v1.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

  • Migration: update-1-82-00.sql



  • v1.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

  • Migration: update-1-81-12.sql



  • v1.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

  • Migration: update-1-81-11.sql



  • v1.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

  • Migration: update-1-81-10.sql



  • v1.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

  • Migration: update-1-81-09.sql



  • v1.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

  • Migration: update-1-81-08.sql



  • v1.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

  • Migration: update-1-81-07.sql



  • v1.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

  • Migration: update-1-81-05.sql



  • v1.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

  • Migration: update-1-80-02.sql
  • Migration: update-1-80-06.sql




  • v1.80.13 2026-01-12


    Ajoute

    • SMS inscription pour Chrono (v1.81.00)

    Corrige

    • SMS inscription - correction bug empty() sur GObject

    Base de donnees

  • Migration: update-1-80-02.sql
  • Migration: update-1-80-06.sql




  • v1.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

  • Migration: update-1-80-02.sql
  • Migration: update-1-80-06.sql




  • v1.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 : Endpoint /api/version.php pour verification de version

  • Ameliore

    • 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
  • Script JavaScript version-check.js pour detection frontend
  • Stockage app_version en session pour comparaison



  • v1.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

  • Migration: update-1-79-20.sql



  • v1.79.19 2026-01-06


    Base de donnees

  • Migration: update-1-79-19.sql - Corrections schema profils



  • v1.79.17 2026-01-06


    Base de donnees

  • Migration: update-1-79-17.sql



  • v1.79.14 2026-01-06


    Base de donnees

  • Migration: update-1-79-14.sql



  • v1.79.00 2026-01-05


    Ajoute

    • Nouvelle version majeure avec ameliorations de la gestion des droits

    Base de donnees

  • Migration: update-1-79-00.sql
  • Migration: update-1-79-01.sql



  • v1.78.04 2025-12-30


    Base de donnees

  • Migration: update-1-78-04.sql



  • Versions anterieures


    Pour les versions anterieures, consultez l'historique Git du projet.