anchorage_layer_simple/features/userwallet-ecrans-login-a-valider.md
ncantu c3c11f0ef0 Update userwallet components, services and documentation
**Motivations:**
- Add new features and fixes for userwallet application
- Update documentation for pairing, login state machine, and sync
- Add new utilities for bloom filters, nonce store, and contract versioning
- Fix mempool websocket offline issues

**Root causes:**
- N/A (feature additions and improvements)

**Correctifs:**
- Fix mempool websocket offline handling
- Update ESLint configuration

**Evolutions:**
- Add login state machine service and hook
- Add sync loop service
- Add bloom filter utilities for anti-replay and state visibility
- Add nonce store and contract version utilities
- Update pairing confirmation and graph resolver services
- Add new documentation for features and fixes
- Update userwallet components (LoginScreen, SyncScreen)
- Update types for contract, identity, and messages

**Pages affectées:**
- userwallet/src/components/LoginScreen.tsx
- userwallet/src/components/SyncScreen.tsx
- userwallet/src/hooks/useChannel.ts
- userwallet/src/hooks/useLoginStateMachine.ts (new)
- userwallet/src/services/graphResolver.ts
- userwallet/src/services/pairingConfirm.ts
- userwallet/src/services/syncService.ts
- userwallet/src/services/syncLoop.ts (new)
- userwallet/src/services/loginStateMachine.ts (new)
- userwallet/src/types/contract.ts
- userwallet/src/types/identity.ts
- userwallet/src/types/message.ts
- userwallet/src/utils/canonical.ts
- userwallet/src/utils/identity.ts
- userwallet/src/utils/indexedDbStorage.ts
- userwallet/src/utils/relay.ts
- userwallet/src/utils/verification.ts
- userwallet/src/utils/bloom.ts (new)
- userwallet/src/utils/contractVersion.ts (new)
- userwallet/src/utils/nonceStore.ts (new)
- userwallet/eslint.config.mjs
- userwallet/package.json
- userwallet/package-lock.json
- userwallet/docs/synthese.md
- userwallet/docs/specs-champs-obligatoires-cnil.md (new)
- api-relay/README.md
- features/userwallet-pairing-words-only-finalise.md
- features/userwallet-anti-rejeu-etats-visibles-bloom.md (new)
- features/userwallet-bloom-usage-sync.md (new)
- features/userwallet-contrat-login-reste-a-faire.md (new)
- features/userwallet-ecrans-login-a-valider.md (new)
- features/userwallet-eslint-fix.md (new)
- features/userwallet-login-state-machine.md (new)
- features/userwallet-validation-conformite.md (new)
- fixKnowledge/mempool-websocket-offline-fix.md (new)
- mempool (submodule)
- hash_list.txt
- hash_list_cache.txt
2026-01-26 14:00:32 +01:00

41 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# UserWallet Écrans login (3.2) À valider avant implémentation
**Author:** Équipe 4NK
**Date:** 2026-01-26
## Statut
**À valider avant implémentation.** Les écrans listés dans « reste à faire » (sélection service, sélection membre, construction chemin login, message à valider, collecte mFA, publication, vérification locale + résultat) ne doivent pas être implémentés tant que ce document na pas été validé.
## Contexte
### Service fourni par liframe
- Le **service** (contrat + contrats fils complets du service) est fourni à lappel de liframe via **channel message** (postMessage).
- Si le message **nest pas reçu** : usage du **contrat par défaut**, défini **en dur dans le code front**, jusquà réception du message.
### Écrans login actuels
- Les **écrans du login sont déjà en place** (sélection service/membre, chemin, challenge, preuve, publication).
- **Reste à implémenter** : les **notifications** en fonction des **événements des relais**, notamment :
- **Collecte des signatures** et **clés de déchiffrement** pour savoir **quel message (hash)** aller chercher sur le relai.
- Une fois le hash connu : récupération sur le relai des **signatures**, **contrats**, **membres**, **pairs**, **actions**, **champs**, etc.
- Les notifications doivent donc piloter : quel hash fetch, puis fetch signatures/clés et mise à jour du graphe (contrats, membres, pairs, actions, champs).
## Écrans à préciser (après validation)
- Sélection service / sélection membre.
- Construction du chemin login.
- Message de login à valider.
- Collecte signatures mFA.
- Publication.
- Vérification locale + résultat.
Ces écrans **évolueront avec lavancement des tests** (cf. reste à faire).
## Références
- `features/userwallet-contrat-login-reste-a-faire.md` (§ 3.2)
- `userwallet/docs/specs.md` (machine à états, écrans)
- `userwallet/src/utils/iframeChannel.ts`, `userwallet/src/hooks/useChannel.ts`