Skip to content

Habits — heatmap décalée d'un jour aux changements d'heure (DST) #139

Description

@aliceout

Contexte

packages/web/src/app/flow/Habits/components/Heatmap.tsx:46 calcule la date de début de la grille en millisecondes fixes : new Date(end.getTime() - (days - 1) * 86_400_000). Les 2 jours par an où l'heure change (passage été/hiver), un jour fait 23 h ou 25 h → start peut tomber sur le mauvais jour calendaire et décaler toute la grille d'un jour autour de ces dates.

Le reste du composant utilise déjà setDate() (calendaire, correct) ; seul ce calcul initial est fragile.

Pourquoi reporté

Module Habits en sommeil (masqué de l'UI, to_toggle:false/display:false — cf #98). Personne ne voit cette grille aujourd'hui. À corriger avec la reprise de Habits.

Vérifié au passage (relecture audit)

Les heatmaps visibles sont saines : Mood construit ses dates avec setDate() (DST-safe), Journal travaille sur des dates texte AAAA-MM-JJ (pas d'heure → immunisé). Seul Habits est concerné.

Correctif

Remplacer la ligne 46 par un calcul calendaire (setDate(getDate() - (days-1)) après setHours(0,0,0,0)).

Réf : #138, #98.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmodule:habitsHabits module

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions