From 66c8491e794ce73c4262bd217987a55ce7413037 Mon Sep 17 00:00:00 2001 From: Blomios Date: Fri, 17 Jul 2026 22:14:10 +0200 Subject: [PATCH] =?UTF-8?q?docs(ideai):=20met=20=C3=A0=20jour=20les=20tick?= =?UTF-8?q?ets=20#13/#14/#15=20apr=C3=A8s=20le=20correctif=20repositories?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- .ideai/tickets/13/carnet.md | 6 ++++++ .ideai/tickets/13/issue.md | 16 ++++++++++++++++ .ideai/tickets/14/carnet.md | 6 ++++++ .ideai/tickets/14/issue.md | 18 ++++++++++++++++++ .ideai/tickets/15/carnet.md | 6 ++++++ .ideai/tickets/15/issue.md | 16 ++++++++++++++++ .ideai/tickets/counter.json | 2 +- .ideai/tickets/index.json | 36 ++++++++++++++++++++++++++++++++++++ 8 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 .ideai/tickets/13/carnet.md create mode 100644 .ideai/tickets/13/issue.md create mode 100644 .ideai/tickets/14/carnet.md create mode 100644 .ideai/tickets/14/issue.md create mode 100644 .ideai/tickets/15/carnet.md create mode 100644 .ideai/tickets/15/issue.md diff --git a/.ideai/tickets/13/carnet.md b/.ideai/tickets/13/carnet.md new file mode 100644 index 0000000..a8bdd4b --- /dev/null +++ b/.ideai/tickets/13/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#13" +version: 3 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1784319234004 +--- diff --git a/.ideai/tickets/13/issue.md b/.ideai/tickets/13/issue.md new file mode 100644 index 0000000..208a5f6 --- /dev/null +++ b/.ideai/tickets/13/issue.md @@ -0,0 +1,16 @@ +--- +id: "da27e09c-79d2-43fa-90e5-3e8ef32e789f" +number: 13 +title: "[DevBackend] Use cases de persistance et reprise du minuteur de repos" +status: "closed" +priority: "high" +sprint: null +links: [{"target":"#9","kind":"relatesTo"}] +agentRefs: [{"agentId":"10ee045b-1c41-479e-ba03-dceed9edd495","role":"assigned"}] +createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +createdAt: 1784318990378 +updatedAt: 1784319234004 +version: 3 +--- +Ajouter les use cases manquants pour que l'ajustement du minuteur de repos (±15s) soit persisté et que l'écran d'exécution puisse retrouver l'état de repos en cours après une fermeture d'app. lib/application/use_cases.dart expose déjà startRestAfterSet, mais aucun moyen de mettre à jour adjustedRestSeconds ou de marquer skippedAt après création. Le repository (lib/application/ports.dart / lib/infrastructure/local/drift_repositories.dart) expose déjà saveRestState et listRestStates — à réutiliser. \ No newline at end of file diff --git a/.ideai/tickets/14/carnet.md b/.ideai/tickets/14/carnet.md new file mode 100644 index 0000000..26c1fb5 --- /dev/null +++ b/.ideai/tickets/14/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#14" +version: 2 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1784319234693 +--- diff --git a/.ideai/tickets/14/issue.md b/.ideai/tickets/14/issue.md new file mode 100644 index 0000000..bd256b5 --- /dev/null +++ b/.ideai/tickets/14/issue.md @@ -0,0 +1,18 @@ +--- +id: "bf12e886-4849-4095-afc9-aa37c61fa257" +number: 14 +title: "[DevFrontend] Repos persistant/reprenable + temps réel par série" +status: "inProgress" +priority: "high" +sprint: null +links: [{"target":"#9","kind":"relatesTo"}] +agentRefs: [{"agentId":"9933c93a-b8a1-4164-a3bb-7063fdad747d","role":"assigned"}] +createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +createdAt: 1784318996196 +updatedAt: 1784319234693 +version: 2 +--- +Deux corrections sur lib/presentation/workout_execution_screen.dart, trouvées par QA (ticket #11) : +1. Les ajustements ±15s du minuteur de repos ne sont modifiés qu'en mémoire (_remainingRestSeconds) et jamais re-persistés — après un kill d'app pendant un repos, l'écran redémarre sur l'exercice actif au lieu de reprendre le décompte de repos exact. À l'ouverture de l'écran, il faut relire l'état de repos actif éventuel (listRestStates / le nouveau use case du ticket dédié) et calculer le temps restant depuis les horodatages persistés, pas repartir de zéro. +2. `actualTimeMs` est toujours enregistré à 0 (ligne ~315) même quand la mesure Temps est active pour la série — il faut chronométrer réellement le temps passé sur la série (depuis son démarrage jusqu'à "Terminer la série") et transmettre cette valeur réelle à recordCurrentSetResult. \ No newline at end of file diff --git a/.ideai/tickets/15/carnet.md b/.ideai/tickets/15/carnet.md new file mode 100644 index 0000000..995c5b1 --- /dev/null +++ b/.ideai/tickets/15/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#15" +version: 1 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1784318999121 +--- diff --git a/.ideai/tickets/15/issue.md b/.ideai/tickets/15/issue.md new file mode 100644 index 0000000..64f8019 --- /dev/null +++ b/.ideai/tickets/15/issue.md @@ -0,0 +1,16 @@ +--- +id: "3463569f-e837-4af9-8156-4968e178d4e1" +number: 15 +title: "[DevFrontend] Sélecteur de fichier pour l'import média (remplace la saisie manuelle de chemin)" +status: "open" +priority: "medium" +sprint: null +links: [{"target":"#6","kind":"relatesTo"}] +agentRefs: [{"agentId":"9933c93a-b8a1-4164-a3bb-7063fdad747d","role":"assigned"}] +createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +createdAt: 1784318999121 +updatedAt: 1784318999121 +version: 1 +--- +L'écran de création/édition d'exercice (lib/presentation/exercise_library_screen.dart) fait actuellement saisir manuellement un chemin de fichier pour importer une image/vidéo. Remplacer par un vrai sélecteur de fichiers via le package `image_picker` (à ajouter en dépendance dans pubspec.yaml — nouvelle dépendance, signalée et acceptée par l'utilisateur). Garder MediaUseCases.importMedia tel quel côté logique métier, seul le déclenchement du chemin source change (sélection graphique au lieu de TextField). \ No newline at end of file diff --git a/.ideai/tickets/counter.json b/.ideai/tickets/counter.json index 26192b3..87512f6 100644 --- a/.ideai/tickets/counter.json +++ b/.ideai/tickets/counter.json @@ -1,3 +1,3 @@ { - "nextNumber": 13 + "nextNumber": 16 } \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index 4395dba..3aec601 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -144,6 +144,42 @@ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784301400489 + }, + { + "issueRef": "#13", + "path": "13", + "title": "[DevBackend] Use cases de persistance et reprise du minuteur de repos", + "status": "closed", + "priority": "high", + "sprint": null, + "assignedAgentIds": [ + "10ee045b-1c41-479e-ba03-dceed9edd495" + ], + "updatedAt": 1784319234004 + }, + { + "issueRef": "#14", + "path": "14", + "title": "[DevFrontend] Repos persistant/reprenable + temps réel par série", + "status": "inProgress", + "priority": "high", + "sprint": null, + "assignedAgentIds": [ + "9933c93a-b8a1-4164-a3bb-7063fdad747d" + ], + "updatedAt": 1784319234693 + }, + { + "issueRef": "#15", + "path": "15", + "title": "[DevFrontend] Sélecteur de fichier pour l'import média (remplace la saisie manuelle de chemin)", + "status": "open", + "priority": "medium", + "sprint": null, + "assignedAgentIds": [ + "9933c93a-b8a1-4164-a3bb-7063fdad747d" + ], + "updatedAt": 1784318999121 } ] } \ No newline at end of file