page bilan - anomalies diverses #174

Closed
opened 2026-05-01 00:55:10 +00:00 by maximus · 1 comment
Owner

Anomalies relevees lors des premiers tests de la page Bilan

5 anomalies decomposees en issues enfants sous le milestone bilan-anomalies-174.

Rapport original

quelques anomalies lors des premiers tests effectues:

  • le parcours utilisateurs n'est pas claire. il faudrait rendre la creation des comptes plus intuitifs. peut-etre proposer des comptes de departs. il faudrait penser a 2 niveaux de comptes : le vehicule de placement (comptes de banques, REER, CELI, non-enregistres, etc) et de quoi il se compose (actions, obligations, bitcoin).
  • la creation des comptes versus d'un snapshot doit etre plus facile a distinguer et a comprendre l'objectifs
  • lorsque j'ai voulu changer la date du snapshot, le calendrier servant a choisir la journee restait present. j'ai du faire Esc pour qu'il disparaisse.
  • lorsque j'ai voulu sauvegarder un snapshot, ca me bloque avec un nouveau message qui parle de changer la date.
  • lorsque j'ouvre la page Bilan la premiere fois, j'ai le message suivant "error returned from database: (code: 1) misuse of aggregate function MIN()"

Decomposition

# Anomalie Issue enfant Type Priorite
5 Bug DB MIN() au load /balance #175 bug P0
4 Snapshot bloque "changer la date" (snapshots orphelins) #176 bug P0
3 Date picker reste affiche apres selection #177 bug (investigation) P2
2 Confusion accounts vs snapshot a l onboarding #178 feature (UX) P1
1 Pas de comptes de depart + modele a revoir (2 niveaux) #179 feature + ADR P1

Causes racines identifiees

  • #175 (P0) : src/services/balance.service.ts:1006 utilise MIN(s.snapshot_date) dans le WHERE d une sous-requete scalaire - SQLite refuse l aggregate hors GROUP BY/HAVING. Reecriture en window function ou CTE.
  • #176 (P0) : src/hooks/useSnapshotEditor.ts:434 insere le snapshot row AVANT de valider les lignes. Si la validation des lignes throw, on a un snapshot orphelin (zero ligne) qui bloque tous les saves suivants a cette date via le check snapshot_date_taken. Explique le rapport "je ne voyais pas de snapshot avec cette date". Fix : validate-first + cleanup orphelins au load.
  • #177 : <input type="date"> natif HTML5 sur src/pages/SnapshotEditPage.tsx:143-160. Comportement WebView-dependent. Investigation d abord.
  • #178 : src/pages/BalancePage.tsx n a pas de carte d onboarding pilote pour le flow accounts -> snapshot. Empty state actuel pas guidant.
  • #179 : src-tauri/src/database/balance_schema.sql:146-153 ne seede que des categories, jamais de comptes. Suggestion 2-niveaux (vehicule x composition) = changement de schema majeur, deferre en ADR.

Ordre recommande

#175 -> #176 -> #178 -> #179 -> #177

#175 et #176 sont des bugs P0 a livrer en premier (impact utilisateur direct). #178 et #179 sont des ameliorations UX qui s appuient sur un Bilan fonctionnel. #177 est une investigation P2 qui peut etre traitee en parallele de #178/#179.

Decisions prises

  • Approche mixed pour anomalie 1 : starter accounts seedes maintenant + ADR pour le modele a 2 niveaux deferre (#179).
  • Anomalie 4 : detection au changement de date avec redirection en mode edition + investigation snapshots orphelins (#176).
  • Anomalie 3 : investigation d abord avant decision fix-in-place vs replacement (#177).
  • 5 issues distinctes (pas de groupage) pour parallelisation et reviews ciblees.

Suivi

Voir milestone bilan-anomalies-174 (id 43).

## Anomalies relevees lors des premiers tests de la page Bilan 5 anomalies decomposees en issues enfants sous le milestone `bilan-anomalies-174`. ### Rapport original > quelques anomalies lors des premiers tests effectues: > - le parcours utilisateurs n'est pas claire. il faudrait rendre la creation des comptes plus intuitifs. peut-etre proposer des comptes de departs. il faudrait penser a 2 niveaux de comptes : le vehicule de placement (comptes de banques, REER, CELI, non-enregistres, etc) et de quoi il se compose (actions, obligations, bitcoin). > - la creation des comptes versus d'un snapshot doit etre plus facile a distinguer et a comprendre l'objectifs > - lorsque j'ai voulu changer la date du snapshot, le calendrier servant a choisir la journee restait present. j'ai du faire Esc pour qu'il disparaisse. > - lorsque j'ai voulu sauvegarder un snapshot, ca me bloque avec un nouveau message qui parle de changer la date. > - lorsque j'ouvre la page Bilan la premiere fois, j'ai le message suivant "error returned from database: (code: 1) misuse of aggregate function MIN()" ### Decomposition | # | Anomalie | Issue enfant | Type | Priorite | |---|----------|--------------|------|----------| | 5 | Bug DB `MIN()` au load /balance | #175 | bug | **P0** | | 4 | Snapshot bloque "changer la date" (snapshots orphelins) | #176 | bug | **P0** | | 3 | Date picker reste affiche apres selection | #177 | bug (investigation) | P2 | | 2 | Confusion accounts vs snapshot a l onboarding | #178 | feature (UX) | P1 | | 1 | Pas de comptes de depart + modele a revoir (2 niveaux) | #179 | feature + ADR | P1 | ### Causes racines identifiees - **#175** (P0) : `src/services/balance.service.ts:1006` utilise `MIN(s.snapshot_date)` dans le WHERE d une sous-requete scalaire - SQLite refuse l aggregate hors GROUP BY/HAVING. Reecriture en window function ou CTE. - **#176** (P0) : `src/hooks/useSnapshotEditor.ts:434` insere le snapshot row AVANT de valider les lignes. Si la validation des lignes throw, on a un snapshot orphelin (zero ligne) qui bloque tous les saves suivants a cette date via le check `snapshot_date_taken`. **Explique le rapport "je ne voyais pas de snapshot avec cette date"**. Fix : validate-first + cleanup orphelins au load. - **#177** : `<input type="date">` natif HTML5 sur `src/pages/SnapshotEditPage.tsx:143-160`. Comportement WebView-dependent. Investigation d abord. - **#178** : `src/pages/BalancePage.tsx` n a pas de carte d onboarding pilote pour le flow `accounts -> snapshot`. Empty state actuel pas guidant. - **#179** : `src-tauri/src/database/balance_schema.sql:146-153` ne seede que des categories, jamais de comptes. Suggestion 2-niveaux (vehicule x composition) = changement de schema majeur, deferre en ADR. ### Ordre recommande `#175 -> #176 -> #178 -> #179 -> #177` #175 et #176 sont des bugs P0 a livrer en premier (impact utilisateur direct). #178 et #179 sont des ameliorations UX qui s appuient sur un Bilan fonctionnel. #177 est une investigation P2 qui peut etre traitee en parallele de #178/#179. ### Decisions prises - Approche **mixed** pour anomalie 1 : starter accounts seedes maintenant + ADR pour le modele a 2 niveaux deferre (#179). - Anomalie 4 : detection au changement de date avec redirection en mode edition + investigation snapshots orphelins (#176). - Anomalie 3 : investigation d abord avant decision fix-in-place vs replacement (#177). - 5 issues distinctes (pas de groupage) pour parallelisation et reviews ciblees. ### Suivi Voir milestone `bilan-anomalies-174` (id 43).
maximus added this to the overnight-2026-05-01-bilan-anomalies-174 milestone 2026-05-01 01:29:22 +00:00
Author
Owner

Bilan — toutes les anomalies sont livrees

Cloture de l'umbrella. Recap des 5 anomalies decomposees :

# Anomalie Issue PR Statut
5 Bug DB MIN() au load /balance #175 #182 merge
4 Snapshot orphelins #176 #183 merge
3 Date picker WebKitGTK reste affiche #177 #189 merge (puis etendu via #188 / PR #194 aux 7 autres inputs date du repo)
2 Confusion accounts vs snapshot #178 #184 merge
1 Starter accounts + ADR 2 niveaux #179 #185 merge (ADR 0012 Proposed)

Follow-ups post-merge (hors decomposition initiale, ajoutes en cours de route) :

  • #187 — cleanup des suggestions des reviews #182-#185 (S1+S2+S3+S4+S5+S7) → PR #195 merge le 2026-05-03
  • #188 — extension WebKitGTK workaround aux 7 autres <input type="date"> du repo → PR #194 merge le 2026-05-03

L'implementation effective du modele a 2 niveaux (vehicule x composition) capture dans l'ADR 0012 reste a tracker dans une issue future quand le travail sera planifie. ADR garde le statut Proposed jusqu'au passage a Accepted.

## Bilan — toutes les anomalies sont livrees Cloture de l'umbrella. Recap des 5 anomalies decomposees : | # | Anomalie | Issue | PR | Statut | |---|----------|-------|-----|--------| | 5 | Bug DB MIN() au load /balance | #175 | #182 | merge | | 4 | Snapshot orphelins | #176 | #183 | merge | | 3 | Date picker WebKitGTK reste affiche | #177 | #189 | merge (puis etendu via #188 / PR #194 aux 7 autres inputs date du repo) | | 2 | Confusion accounts vs snapshot | #178 | #184 | merge | | 1 | Starter accounts + ADR 2 niveaux | #179 | #185 | merge (ADR 0012 Proposed) | Follow-ups post-merge (hors decomposition initiale, ajoutes en cours de route) : - #187 — cleanup des suggestions des reviews #182-#185 (S1+S2+S3+S4+S5+S7) → PR #195 merge le 2026-05-03 - #188 — extension WebKitGTK workaround aux 7 autres `<input type="date">` du repo → PR #194 merge le 2026-05-03 L'implementation effective du modele a 2 niveaux (vehicule x composition) capture dans l'ADR 0012 reste a tracker dans une issue future quand le travail sera planifie. ADR garde le statut Proposed jusqu'au passage a Accepted.
Sign in to join this conversation.
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: maximus/Simpl-Resultat#174
No description provided.