fix(r6): recette Gestionnaire — Menu non scrollable, BC sans confirmation

Deux bugs réels trouvés sur iPhone physique par le référent :

1. app/(tabs)/menu.tsx n'était pas scrollable (View, pas ScrollView) —
   avec les 4 groupes désormais pleinement câblés (12 liens + 4 en-têtes),
   le contenu dépasse la hauteur de l'écran et le dernier groupe
   (Pilotage, dont Personnes & équipes) était strictement inaccessible.
   Présent depuis R6.1, seulement révélé maintenant. Fix : ScrollView
   autour de la liste des groupes, en-tête fixe au-dessus.

2. app/stock/[id]/commander.tsx naviguait silencieusement en arrière
   après succès — le référent a créé deux BC (vérifiés corrects côté
   serveur) sans aucun retour dans l'app. Fix : écran de confirmation
   explicite (référence, fournisseur, total, statut) avant de revenir.

Amélioration sur retour direct : Tiers gagne une fiche détail
(app/tiers/[id].tsx — identité, contact, BC en cours, sites rattachés,
aucune nouvelle requête) — le lecture seule sans réaction au tap se
lisait comme un écran cassé plutôt que délibérément simple.

Typecheck propre, 17 tests Jest, lint 5/5 paquets.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
pr-daaif
2026-08-02 12:59:40 +01:00
parent ac8b92e9c5
commit be5dfb6bc7
6 changed files with 164 additions and 31 deletions

View File

@@ -4,6 +4,52 @@ Trace chronologique des sessions (la plus récente en premier). Le **playbook**
---
## 2026-08-02 — Pr. Daaif (+ Claude) — Recette R6 (Gestionnaire, partie 1) — 2 bugs corrigés
**Actions**
- Début de la recette complète promise en fin de R6.5 : parcours du référent en Gestionnaire
(Nadia Berrada) sur iPhone physique, verrouillé côté serveur après chaque étape utile.
- **Bug réel 1 — Menu inaccessible en bas** : `app/(tabs)/menu.tsx` n'était PAS scrollable (un
simple `View`, pas de `ScrollView`) — avec les 4 groupes maintenant pleinement câblés (12 liens
et 4 en-têtes), le contenu dépasse la hauteur de l'écran et « Personnes & équipes » (dernier
groupe) était strictement hors d'atteinte, sans aucun moyen d'y accéder. Présent depuis R6.1,
seulement révélé une fois tous les groupes remplis. **Corrigé** : `ScrollView` autour de la
liste des groupes, en-tête (EnteteTabs + titre) fixe au-dessus.
- **Bug réel 2 — BC créé sans confirmation visible** : `app/stock/[id]/commander.tsx` naviguait
silencieusement en arrière après succès — le référent a créé DEUX bons de commande
(BC-2026-1009, BC-2026-1010, vérifiés côté serveur, tous deux corrects) sans aucun retour dans
l'app, doute légitime sur ce qui s'était vraiment passé. **Corrigé** : écran de confirmation
explicite (référence, fournisseur, total, statut) avant de revenir, même patron que
`personnes/lien.tsx`.
- **Amélioration Tiers** : le référent a signalé qu'on ne pouvait « ni ajouter ni consulter » —
l'absence de fiche détail (délibérée, D4 — lecture seule) se lisait comme un écran cassé plutôt
que simple. Arbitrage : fiche détail ajoutée (`app/tiers/[id].tsx` — identité, contact, BC en
cours pour un fournisseur, sites rattachés pour un client, aucune nouvelle requête, tout déjà
dans `usePartners()`), création/édition restent au web.
- **Faux positifs écartés, vérifiés côté serveur** :
- Approbation de DEM-2026-0110 (« Voyant étage éteint ») : a fonctionné (statut `APPROVED`,
OT-2026-1200 créé) — le message du référent citait juste le libellé de la demande.
- Fichiers « Aucun document accessible » : confirmé — `GET /documents` renvoie `[]` sur cette
instance. Pas un bug mobile : aucun document n'existe sur cette base locale (README/seed à
vérifier séparément si un jeu de documents de démo est attendu).
- Statistiques « les chiffres ne changent pas » entre 3/6/12 mois : confirmé côté serveur que la
période EST bien transmise et traitée (`costsByMonth` varie en nombre de points), mais les
indicateurs affichés (coût du mois, taux préventif, OT clôturés, pannes) ne varient pas parce
que l'activité codée sur ce jeu de données est concentrée sur une fenêtre récente — réalité
des données de démo, pas un bug du sélecteur.
- Vérifié après correctifs : typecheck propre, 17 tests Jest, lint 5/5 paquets.
**Décisions**
- Tiers gagne une fiche détail en lecture seule (voir ci-dessus) — seul écart au périmètre D4
initial de R6.3, sur retour direct de recette.
**Prochaine étape** : suite de la recette Gestionnaire (Sites/Ascenseurs/Fichiers/Assistant+dictée
restent à confirmer), puis passage Demandeur (permissions les plus étroites).
---
## 2026-08-02 — Pr. Daaif (+ Claude) — R6.5 : Assistant mobile (chat sourcé + dictée)
**Actions**