16 lines
1.1 KiB
Markdown
16 lines
1.1 KiB
Markdown
---
|
|
id: "f0c554b7-e388-49b3-aa74-0a47886961ad"
|
|
number: 65
|
|
title: "[DevBackend] Sync client incrémentale LWW vers API serveur"
|
|
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":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
|
createdAt: 1784488343589
|
|
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é. |