34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
---
|
|
id: "3188c0ce-930e-40b7-82df-fbc0258ef63c"
|
|
number: 185
|
|
title: "[Bug] Suppression d'exercice casse le chargement des programmes"
|
|
status: "qa"
|
|
priority: "high"
|
|
sprint: null
|
|
links: [{"target":"#183","kind":"relatesTo"}]
|
|
agentRefs: []
|
|
attachments: []
|
|
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
|
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
|
createdAt: 1785423526481
|
|
updatedAt: 1785424283733
|
|
version: 2
|
|
---
|
|
Contexte au 30 juillet 2026 : après suppression d'un exercice depuis la bibliothèque, l'utilisateur ne peut plus charger ses programmes et voit le message `Impossible de charger tes programmes`.
|
|
|
|
Attendu produit/UX :
|
|
- la suppression d'un exercice ne doit jamais casser l'ouverture des programmes qui le référencent ;
|
|
- les programmes doivent rester lisibles même si l'exercice source a été supprimé/archivé ;
|
|
- l'entrée peut être conservée comme archive/snapshot dans le programme, ou au minimum gérée défensivement sans faire tomber l'écran entier.
|
|
|
|
Diagnostic architecture en cours :
|
|
- ce n'est probablement pas une simple rupture de clé étrangère ;
|
|
- le chemin snapshot `ProgramExercise` semble déjà dénormalisé et défensif ;
|
|
- l'hypothèse la plus probable est un lookup non défensif sur une map/liste d'exercices actifs lors de l'enrichissement ou de l'affichage des programmes.
|
|
|
|
Objectif du ticket :
|
|
- identifier la stack trace exacte et le point de rupture réel ;
|
|
- corriger le chargement pour qu'un exercice supprimé n'empêche jamais d'ouvrir les programmes ;
|
|
- préserver la cohérence locale/sync si des snapshots ou enrichissements en dépendent.
|
|
|
|
Priorité : correctif urgent post-build. |