docs(ideai): met à jour les tickets #65/#67 après le partage client, ajoute le ticket #71
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -1,6 +1,9 @@
|
||||
---
|
||||
issueRef: "#65"
|
||||
version: 1
|
||||
updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
||||
updatedAt: 1784488343589
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
updatedAt: 1784490128397
|
||||
---
|
||||
SyncUseCases.synchronize() implémenté avec push/pull LWW réel, changement silencieux d'état (success/failure) sans jamais laisser remonter d'exception, réutilise la table change_log déjà présente (écrite mais jamais lue jusqu'ici). 119/119 tests verts, flutter analyze clean, APK debug buildé.
|
||||
|
||||
Point de nettoyage identifié, non bloquant : `AppDependencies` expose toujours l'ancien port `SyncGateway`/`NoOpSyncGateway` (vestige du ticket #12) EN PLUS du nouveau `SyncUseCases` réel — les deux coexistent, rien n'appelle plus `syncGateway.synchronize()` de façon utile puisque #68 branchera l'UI sur `syncUseCases.synchronize()` directement. À évaluer en QA (#70) si `SyncGateway`/`NoOpSyncGateway` doivent être supprimés pour éviter la confusion entre deux abstractions de sync.
|
||||
@ -2,15 +2,15 @@
|
||||
id: "f0c554b7-e388-49b3-aa74-0a47886961ad"
|
||||
number: 65
|
||||
title: "[DevBackend] Sync client incrémentale LWW vers API serveur"
|
||||
status: "open"
|
||||
status: "qa"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: [{"target":"#63","kind":"relatesTo"},{"target":"#64","kind":"dependsOn"}]
|
||||
agentRefs: [{"agentId":"10ee045b-1c41-479e-ba03-dceed9edd495","role":"assigned"}]
|
||||
createdBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
||||
updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
createdAt: 1784488343589
|
||||
updatedAt: 1784488343589
|
||||
version: 1
|
||||
updatedAt: 1784490128397
|
||||
version: 3
|
||||
---
|
||||
Remplacer le `NoOpSyncGateway` par une orchestration réelle offline-first. Mapper Exercise, Program, WorkoutTemplate, WorkoutHistory et MediaAsset metadata vers `resourceType/clientId/schemaVersion/clientUpdatedAt/deletedAt/payload`. Utiliser `change_log`, `syncState`, `updatedAt` et `localRevision` pour pousser les mutations, stocker localement `serverCursor`, appliquer `/sync/pull` LWW sans résolution interactive, puis marquer les ressources acceptées comme synced. Les erreurs réseau restent silencieuses et déclenchent retry différé.
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
issueRef: "#67"
|
||||
version: 1
|
||||
updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
||||
updatedAt: 1784488354627
|
||||
version: 2
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
updatedAt: 1784490111791
|
||||
---
|
||||
|
||||
@ -2,15 +2,15 @@
|
||||
id: "961d38c4-a124-47da-8118-be8b559fc617"
|
||||
number: 67
|
||||
title: "[DevFrontend] Profil et écrans auth optionnels"
|
||||
status: "open"
|
||||
status: "qa"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: [{"target":"#63","kind":"relatesTo"},{"target":"#64","kind":"dependsOn"}]
|
||||
agentRefs: [{"agentId":"9933c93a-b8a1-4164-a3bb-7063fdad747d","role":"assigned"}]
|
||||
createdBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
||||
updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
createdAt: 1784488354627
|
||||
updatedAt: 1784488354627
|
||||
version: 1
|
||||
updatedAt: 1784490111791
|
||||
version: 2
|
||||
---
|
||||
Ajouter l'entrée `Profil` sur l'accueil et les surfaces UX connecté/déconnecté. Créer les écrans `Créer un compte`, `Se connecter`, confirmation logout. La connexion reste optionnelle, jamais affichée au démarrage. Erreurs serveur/réseau uniquement inline dans les formulaires, jamais popup globale. Profil affiché depuis cache local même hors ligne.
|
||||
6
.ideai/tickets/71/carnet.md
Normal file
6
.ideai/tickets/71/carnet.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
issueRef: "#71"
|
||||
version: 3
|
||||
updatedBy: {"kind":"user"}
|
||||
updatedAt: 1784490850142
|
||||
---
|
||||
16
.ideai/tickets/71/issue.md
Normal file
16
.ideai/tickets/71/issue.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
id: "b7216520-cf5b-4e65-aeed-1839980d1fe6"
|
||||
number: 71
|
||||
title: "[Bug] selection de score par défaut à 0"
|
||||
status: "open"
|
||||
priority: "critical"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: [{"agentId":"57695b92-24d0-4876-837c-76116e70a6ae","role":"assigned"}]
|
||||
createdBy: {"kind":"user"}
|
||||
updatedBy: {"kind":"user"}
|
||||
createdAt: 1784490730564
|
||||
updatedAt: 1784490850142
|
||||
version: 3
|
||||
---
|
||||
Je dois pouvoir mettre un score par défaut à 0 lors de la création d'un exercice. Actuellement quand je met un score à 0, l'application me retourne une StateException car il y avisiblement un check qui se fait un le score > 0
|
||||
@ -1,3 +1,3 @@
|
||||
{
|
||||
"nextNumber": 71
|
||||
"nextNumber": 72
|
||||
}
|
||||
@ -727,13 +727,13 @@
|
||||
"issueRef": "#65",
|
||||
"path": "65",
|
||||
"title": "[DevBackend] Sync client incrémentale LWW vers API serveur",
|
||||
"status": "open",
|
||||
"status": "qa",
|
||||
"priority": "medium",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
"10ee045b-1c41-479e-ba03-dceed9edd495"
|
||||
],
|
||||
"updatedAt": 1784488343589
|
||||
"updatedAt": 1784490128397
|
||||
},
|
||||
{
|
||||
"issueRef": "#66",
|
||||
@ -751,13 +751,13 @@
|
||||
"issueRef": "#67",
|
||||
"path": "67",
|
||||
"title": "[DevFrontend] Profil et écrans auth optionnels",
|
||||
"status": "open",
|
||||
"status": "qa",
|
||||
"priority": "medium",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
"9933c93a-b8a1-4164-a3bb-7063fdad747d"
|
||||
],
|
||||
"updatedAt": 1784488354627
|
||||
"updatedAt": 1784490111791
|
||||
},
|
||||
{
|
||||
"issueRef": "#68",
|
||||
@ -794,6 +794,18 @@
|
||||
"7efa512f-3b3a-47b5-ade0-a2dd13073055"
|
||||
],
|
||||
"updatedAt": 1784488373778
|
||||
},
|
||||
{
|
||||
"issueRef": "#71",
|
||||
"path": "71",
|
||||
"title": "[Bug] selection de score par défaut à 0",
|
||||
"status": "open",
|
||||
"priority": "critical",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [
|
||||
"57695b92-24d0-4876-837c-76116e70a6ae"
|
||||
],
|
||||
"updatedAt": 1784490850142
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user