[Majeur] Édition d'un event : l'heure UTC est affichée comme locale et chaque sauvegarde décale la date #149

Closed
opened 2026-10-28 10:32:23 +00:00 by asventi · 0 comments
Owner

Gravité : Majeur
Rapports QA d'origine : EVENTS-18

useEventDraft.ts:263 : à chaque sauvegarde, la date se décale du fuseau horaire (2 h en France l'été).

Détails des rapports

[EVENTS-18] Édition d'un event : l'heure affichée est l'heure UTC et chaque sauvegarde décale la date du fuseau horaire — Gravité : Majeur
  • Où : /calendar/:eventId -> crayon d'édition -> "Save" (navigateur en America/New_York, UTC-5 ; invisible quand le navigateur est en UTC).
  • Étapes : 1. Créer un event le 15/12/2026 à 20:00 (heure locale) -> stocké 2026-12-16T01:00:00Z, la page détail affiche bien "Dec 15, 2026, 08:00 PM". 2. Ouvrir l'édition. 3. Cliquer "Save" sans rien modifier. 4. Recommencer.
  • Attendu : le composer affiche "Dec 15, 2026, 08:00 PM" ; la sauvegarde ne change pas la date.
  • Obtenu : le composer affiche "Dec 16, 2026, 01:00 AM" (l'heure UTC lue comme locale). Le PUT envoie date: 2026-12-16T06:00:00.000Z (+5 h) ; une 2e sauvegarde sans modification -> 11:00Z (+5 h de plus). Chaque édition (même pour changer seulement la description) déplace l'event du décalage horaire de l'utilisateur.
  • Preuve : screenshot screens/events_edit_composer.png ; PUT intercepté date":"2026-12-16T06:00:00.000Z" ; GET /events/{id} -> date: 2026-12-16T06:00:00Z.
  • Cause probable : frontend/src/events/components/composer/useEventDraft.ts:263 (event.date.substring(0, event.date.lastIndexOf(":")) sur une chaîne UTC ...Z au lieu de toInputValue(new Date(event.date))). La création, elle, est correcte (heure locale -> UTC).

Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes.

**Gravité :** Majeur **Rapports QA d'origine :** EVENTS-18 `useEventDraft.ts:263` : à chaque sauvegarde, la date se décale du fuseau horaire (2 h en France l'été). ## Détails des rapports <details><summary>[EVENTS-18] Édition d'un event : l'heure affichée est l'heure UTC et chaque sauvegarde décale la date du fuseau horaire — Gravité : Majeur</summary> - Où : `/calendar/:eventId` -> crayon d'édition -> "Save" (navigateur en `America/New_York`, UTC-5 ; invisible quand le navigateur est en UTC). - Étapes : 1. Créer un event le 15/12/2026 à 20:00 (heure locale) -> stocké `2026-12-16T01:00:00Z`, la page détail affiche bien "Dec 15, 2026, 08:00 PM". 2. Ouvrir l'édition. 3. Cliquer "Save" sans rien modifier. 4. Recommencer. - Attendu : le composer affiche "Dec 15, 2026, 08:00 PM" ; la sauvegarde ne change pas la date. - Obtenu : le composer affiche "Dec 16, 2026, 01:00 AM" (l'heure UTC lue comme locale). Le PUT envoie `date: 2026-12-16T06:00:00.000Z` (+5 h) ; une 2e sauvegarde sans modification -> `11:00Z` (+5 h de plus). Chaque édition (même pour changer seulement la description) déplace l'event du décalage horaire de l'utilisateur. - Preuve : screenshot `screens/events_edit_composer.png` ; PUT intercepté `date":"2026-12-16T06:00:00.000Z"` ; `GET /events/{id}` -> `date: 2026-12-16T06:00:00Z`. - Cause probable : `frontend/src/events/components/composer/useEventDraft.ts:263` (`event.date.substring(0, event.date.lastIndexOf(":"))` sur une chaîne UTC `...Z` au lieu de `toInputValue(new Date(event.date))`). La création, elle, est correcte (heure locale -> UTC). </details> --- _Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes._
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transcendence/frontend#149
No description provided.