ncantu 13898d1012 UserWallet: useRelayNotifications, CNIL validation, ServiceSync polling, SyncScreen link
**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
2026-01-28 01:42:26 +01:00
..

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 postMessage pour 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 parent
  • auth-response : Réponse avec signature
  • service-toggle : Activation/désactivation d'un service
  • service-status : Envoi du statut des services