82004a30b0
Bug: user2 crée un événement, user1 s'inscrit et voit "1", mais user2 (créateur) reste à 0. Recadrage (spec existante): l'exigence est "le propriétaire traite son inbox à sa PROCHAINE CONNEXION", pas une notif live temps-réel. Cause: le owner-materializer lisait l'inbox AVANT sa synchronisation → active=0 → écrit 0 → mémoïse 0 → ne retraite plus. Fix: - Lecture inbox gated sur barrière: inbox.readSynced (ensureRepoOpen attend le 1er State, puis read — comme discovery.readIndex) au lieu de inbox.read. Un dépôt déjà synchronisé EST vu à la connexion. Pas de polling. - Materializer déclenché directement à la connexion ([ready, ownedKey]). - materializedCountRef ne verrouille plus un 0 prématuré (rôle = anti-boucle seul). - Source UNIQUE du nombre = event.participantCount: le littéral participantCount:1 de CreateEventScreen retiré (démarre à 0), l'affichage ne calcule plus de nombre local (ParticipantsListScreen). Le statut "Je participe" optimiste est intact. - Logs [Attendance] sur tout le chemin dépôt→matérialisation→écriture. Test: e2e-multibrowser "converge à la prochaine connexion" reframé + dé-@wip, ROUGE avant / VERT après sur profil frais. Non-régression @multibrowser 4/4, @data 7/7. Doctrine: knowledge_context-internals (caveat BUG ACTIF → CORRIGÉ), brief_2026-07-06 (cadrage "sans reload" = sur-cadrage; exigence = fiable à la connexion). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>