chore(wip): consolidation intermédiaire multi-tickets (sprints Statistiques, UI, Bug resolution, Serveur-client)

Regroupe l'état de travail en cours réalisé dans un même worktree sur
plusieurs tickets/sprints (#85, #136, #145, #155-160, #162-164),
mélangeant des tickets QA et inProgress. Ne constitue pas une feature
terminée : commit de sauvegarde avant triage/split par ticket en
branches feature/* dédiées. Exclut les dossiers d'environnement de
build locaux et le heap dump parasite (.gitignore mis à jour).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-28 16:48:54 +02:00
parent 58272e354a
commit 917777e18b
279 changed files with 13546 additions and 674 deletions

View File

@ -0,0 +1,36 @@
---
issueRef: "#121"
version: 1
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedAt: 1785093288487
---
## Implémentation DevFrontend — 2026-07-26
- Contrôles score manuel `` / `+` ajoutés sur l'écran séance active montre uniquement quand la projection expose `hasManualScore`.
- Feedback optimiste immédiat côté montre : valeur locale atténuée pendant pending, indicateur discret après délai, recalage sur projection téléphone confirmée.
- Commandes envoyées via les types backend #120 `incrementScore` / `decrementScore`; la montre ne persiste ni ne décide la valeur source.
- Les commandes score ont un pending dédié et ne bloquent pas les actions de transition existantes; la sync/reconnexion montre existante reste inchangée.
- L'écran téléphone relit l'état vivant `ActiveManualScoreState` et met à jour le champ score manuel si l'utilisateur n'est pas en train de l'éditer.
Vérifications exécutées :
- `dart format` ciblé OK.
- `git diff --check` OK.
- `dart analyze watch_app/lib` OK.
- `dart analyze lib test/application/session_notification_use_cases_test.dart` OK avec infos préexistantes uniquement.
- `dart test` dans `packages/watch_bridge_contract` OK.
Non fait / à valider :
- `flutter test` / build Wear OS via wrapper Flutter bloqués par cache Flutter en lecture seule.
- Test réel montre+téléphone requis : taps rapides +/-, pending visuel, recalage après ack/projection, décrément à 0, perte/reprise connexion.
## Complément symétrie téléphone ↔ montre — 2026-07-27
- Symétrie téléphone ↔ montre confirmée dans le worktree : le téléphone persiste le champ score manuel via `setManualScore` à la perte de focus et avant `Terminer la série`.
- La montre consomme la projection confirmée `currentManualScoreValue` et continue à envoyer uniquement des commandes au téléphone.
- Aucun message utilisateur ajouté sur latence watch ; le feedback reste visuel et discret.
## Correctif QA DevFrontend — 2026-07-27
- Reproduction QA 192x192 traitée sur la colonne score manuel : `_ManualScoreContent` passe par `_ScaledContent` et une colonne `mainAxisSize.min`, avec boutons score conservés.
- Validation locale : test widget compact OK, analyse Dart ciblée OK, build APK debug montre OK.