**Motivations:** - Intégrer les notifications relais (polling, auto-process hashes) dans ServiceSyncScreen - Valider conformité CNIL des contrats/champs à l’ajout au graphe - Accéder à la sync par service depuis SyncScreen **Root causes:** - N/A (évolutions + petits correctifs) **Correctifs:** - relayNotificationService: suppression import inutilisé RelayConfig **Evolutions:** - useRelayNotifications: hook (RelayNotificationService, start/stop polling, auto-process hash) - cnilValidation: validateContractCNIL, validateChampCNIL (valid, errors, warnings) - graphResolver: addContrat/addChamp appellent validation CNIL (async, logs warnings/errors, non bloquant) - ServiceSyncScreen: useRelayNotifications, GraphResolver ref, polling selon configs (fréquence min), sync result (hasMessages, « Aucun nouveau message »), useBloom mention - SyncScreen: bouton « Sync par service » vers /service-sync **Pages affectées:** - userwallet: useRelayNotifications, cnilValidation, ServiceSyncScreen, SyncScreen, graphResolver, relayNotificationService
UserWallet Login
Site de login avec authentification secp256k1, conçu pour être utilisé en iframe par Channel Messages.
Fonctionnalités
- Authentification basée sur des clés secp256k1
- Communication avec le parent via
postMessage - Gestion de l'activation/désactivation du login par service
- Interface responsive et accessible
Installation
npm install
Développement
npm run dev
Le site sera accessible sur http://localhost:3018
Build
npm run build
Architecture
- Authentification : Génération de paires de clés secp256k1, signature de challenges
- Communication iframe : Messages
postMessagepour l'intégration - Stockage : LocalStorage pour les clés et la configuration des services
- Interface : React + TypeScript avec accessibilité (ARIA)
Types de messages iframe
auth-request: Demande d'authentification depuis le parentauth-response: Réponse avec signatureservice-toggle: Activation/désactivation d'un serviceservice-status: Envoi du statut des services