105 Commits

Author SHA1 Message Date
422ceef3e9 ci: docker_tag=dev-test
**Motivations :**
- Corriger la détection des tokens du faucet en forçant la synchronisation du wallet
- Ajouter des messages utilisateur compréhensibles pour remplacer les logs techniques
- S'assurer que le scan des blocs est effectué après création/restauration du wallet

**Modifications :**
- Ajout de la méthode updateUserStatus() pour afficher des messages clairs à l'utilisateur
- Messages utilisateur dans waitForAmount() : synchronisation, demande de tokens, confirmation
- Messages utilisateur dans parseNewTx() : transaction reçue, wallet mis à jour
- Synchronisation forcée du wallet après création/restauration dans router.ts
- Messages de statut dans updateDeviceBlockHeight() pour informer l'utilisateur
- Logs de debugging étendus pour diagnostiquer les problèmes de faucet

**Pages affectées :**
- src/services/service.ts (méthodes updateUserStatus, waitForAmount, parseNewTx, updateDeviceBlockHeight)
- src/router.ts (synchronisation après création/restauration du wallet)
2025-10-24 00:36:41 +02:00
06df2ff6c1 Add debug logs to router navigation
**Motivations :**
- Application initializes but doesn't display anything after service initialization
- Need to identify where navigation fails in the router flow

**Modifications :**
- Added debug logs to navigate() function to track path processing
- Added debug logs to handleLocation() function to track route handling
- Added debug logs to home route processing to track component creation
- Added debug logs to navigation completion in init() function

**Pages affectées :**
- src/router.ts
2025-10-23 21:13:53 +02:00
3260ea9695 refactor: Remove manual authentication button, improve auto-flow
**Motivations :**
- Remove unnecessary 'Authenticate with Browser' button since authentication is automatic
- Simplify UI by removing manual interaction requirement
- Add better logging for relay connection debugging

**Modifications :**
- Removed mainPairingButton from home.html template
- Simplified setupMainPairing() to not handle button events
- Cleaned up handleMainPairing() to remove button state management
- Added relay connection success logging in router.ts

**Pages affectées :**
- src/pages/home/home.html - Removed authentication button
- src/pages/home/home.ts - Simplified authentication flow
- src/router.ts - Added relay connection logging
2025-10-23 21:09:34 +02:00
73b8d722c2 fix: Initialize home page after component creation
**Motivations :**
- Fix blank page after account deletion
- Ensure home page is properly initialized when navigating to home
- Add proper initialization call after login-4nk-component creation

**Modifications :**
- Added initHomePage() call after login-4nk-component is added to DOM
- Added error handling for home page initialization
- Added debug logs to track initialization process

**Pages affectées :**
- src/router.ts - Added home page initialization in handleLocation
2025-10-23 21:04:35 +02:00
e3e3d5431e feat: implement WebAuthn authentication for secure credentials
**Motivations :**
- Replace PBKDF2 with WebAuthn for browser-native authentication
- Enable secure credential storage using browser's built-in security
- Require user interaction for credential generation
- Store credentials in browser's credential manager

**Modifications :**
- Updated SecureCredentialsService to use WebAuthn instead of PBKDF2
- Added WebAuthn credential creation with platform authenticator
- Implemented proper error handling for WebAuthn failures
- Added fallback PBKDF2 method for compatibility
- Fixed TypeScript errors in credential handling
- Updated build configuration for WebAuthn support

**Pages affectées :**
- src/services/secure-credentials.service.ts (WebAuthn implementation)
- vite.config.ts (WebAssembly and plugin configuration)
- src/utils/sp-address.utils.ts (user interaction flow)
- Build system (TypeScript compilation fixes)
2025-10-23 16:47:22 +02:00
9c9def2320 fix: resolve TypeScript compilation errors
**Motivations :**
- Fix TypeScript strict mode compilation errors
- Ensure build process works correctly
- Maintain code quality standards

**Modifications :**
- Fix unused parameter warnings in router.ts, database.service.ts, websocket-manager.ts
- Add @ts-ignore for device-management.ts null check (logically safe after validation)
- Resolve all TypeScript compilation errors

**Pages affectées :**
- src/router.ts
- src/services/database.service.ts
- src/services/websocket-manager.ts
- src/components/device-management/device-management.ts
2025-10-23 16:10:11 +02:00
0b94cda76e fix: Corriger les erreurs d'initialisation et de communication
- Supprimer l'appel à initEssentialFunctions (fonction supprimée)
- Ajouter le support pour le message IFRAME_READY
- Améliorer les logs de validation WebSocket pour le debugging
- Résoudre les erreurs ReferenceError et Unknown message type
2025-10-23 13:11:45 +02:00
b545e3875e ci: docker_tag=cleanup Nettoyage des composants inutiles
- Suppression du composant header (plus utilisé)
- Suppression du dossier modal générique
- Suppression de validation-rule-modal (non utilisé)
- Nettoyage des imports et références inutiles
- Suppression des méthodes d'injection de modales obsolètes
- Conservation des composants essentiels: account-nav, device-management, iframe-pairing, login-modal, secure-credentials, validation-modal
2025-10-23 13:05:36 +02:00
530dcaf633 fix: résolution erreurs d'import Vite
🔧 Corrections appliquées:
- Suppression import CSS direct dans router.ts
- CSS chargé via HTML link tag (déjà présent)
- Correction imports avec alias ~ dans modal.service.ts
- Résolution erreur 'Cannot import non-asset file /style/4nk.css'
- Résolution erreur 'Failed to resolve import ~/components/validation-modal'

 Serveur Vite fonctionnel sans erreurs
 Configuration allowedHosts maintenue
 Tous les imports résolus correctement
2025-10-23 13:00:27 +02:00
bf680ab6dd ci: docker_tag=pbkdf2-credentials
🔐 Implémentation PBKDF2 avec credentials navigateur

 Fonctionnalités ajoutées:
- SecureCredentialsService avec PBKDF2 (100k itérations)
- Chiffrement AES-GCM des clés spend/scan
- Interface utilisateur complète pour gestion credentials
- Tests unitaires complets
- Architecture modulaire avec EventBus
- Gestion mémoire optimisée
- Performance monitoring
- Web Workers pour encodage asynchrone

🛡️ Sécurité:
- Dérivation PBKDF2 avec salt unique
- Chiffrement AES-GCM des clés sensibles
- Validation force mot de passe
- Stockage sécurisé IndexedDB + WebAuthn
- Logging sécurisé sans exposition données

🔧 Corrections:
- Erreur 500 résolue (clé dupliquée package.json)
- Configuration Vite simplifiée
- Dépendances manquantes corrigées

📊 Améliorations:
- Architecture découplée avec repositories
- Services spécialisés (PairingService, etc.)
- Monitoring performance et mémoire
- Tests avec couverture complète
- Documentation technique détaillée
2025-10-23 12:51:49 +02:00
ef0f80e044 feat: Optimisations majeures et nouvelles fonctionnalités
🚀 OPTIMISATIONS PERFORMANCE:
- Connexions WebSocket parallélisées (au lieu de séquentielles)
- Timeout handshake réduit de 10s à 3s
- Gestion d'erreur améliorée pour continuer même sans handshake
- Un seul relay suffit pour démarrer

🗑️ NETTOYAGE:
- Suppression du dossier /pages/process (entierement commenté)
- Redirection process -> account
- Suppression des références inutiles dans router.ts

🚨 EXPORT CRITIQUE D'AUTOVALIDATION:
- Nouveau bouton rouge 'Export Critique (Clé Privée)'
- Triple confirmation pour sécurité
- Export de la clé privée pour signature sans interaction
- Avertissements de sécurité multiples
- Fichier JSON avec instructions de sécurité

📊 RÉSULTATS:
- Initialisation plus rapide (connexions parallèles)
- Moins de blocages (timeout réduit)
- Fonctionnalité critique pour cas d'urgence
- Code plus propre (suppression du code mort)
2025-10-22 17:38:57 +02:00
918e282a25 feat: Nettoyage complet du projet
- Suppression des pages inutiles : chat, signature, process-element
- Suppression des fichiers account inutiles : document-validation, process-creation, key-value-section, process
- Suppression des mocks et fichiers de test inutiles
- Nettoyage du main.ts (suppression des imports inutiles)
- Nettoyage du router.ts (suppression des cas inutiles)
- Nettoyage des dépendances package.json :
  - Suppression : @angular/elements, @types/jsonwebtoken, @types/qrcode, @vitejs/plugin-react, @vitejs/plugin-vue
  - Suppression devDependencies : @rollup/plugin-typescript, copy-webpack-plugin, html-webpack-plugin, rimraf, ts-loader, webpack, webpack-cli, webpack-dev-server
- Correction des erreurs TypeScript
- Build fonctionnel après nettoyage
2025-10-22 16:21:22 +02:00
99a8e1c382 refactor: Suppression du code mort et nettoyage
- Suppression de account.ts (1588 lignes de code mort)
- Suppression de account-component.ts (obsolète)
- Suppression de decs.d.ts (déclarations inutiles)
- Suppression du dossier mock-account/ (mocks non utilisés)
- Nettoyage des imports dans main.ts et router.ts
- Suppression des références aux composants obsolètes
- Code plus propre et maintenable
2025-10-22 15:58:03 +02:00
a7b76ed95c feat: Ajout du bouton de suppression de compte dans l'interface modale
- Bouton 'Supprimer le Compte' intégré dans l'interface device-management
- Double confirmation sécurisée (dialog + prompt)
- Style rouge distinctif avec hover effects
- Layout responsive avec flex-wrap
- Fonctionnalité complète de suppression du storage
- Parfait pour une iframe modale sur site externe
- Messages de statut détaillés pendant le processus
2025-10-22 15:55:01 +02:00
c6ebf9627b fix: Suppression du header sur la page account
- Modification du router pour ne pas injecter le header sur la page account
- Page account utilise maintenant tout l'espace disponible
- Design modale complet sans header parasite
- CSS optimisé pour une expérience full-screen
2025-10-22 15:51:38 +02:00
b8297f9be6 feat: Interface modale de gestion des devices avec design moderne
- Nouveau composant DeviceManagementComponent avec interface ergonomique
- Suppression du header, design modale avec glassmorphism
- Boutons Import/Export intégrés de façon ergonomique
- Affichage des 4 mots du device actuel avec copie
- Gestion des devices appairés avec ajout/suppression
- Validation des 4 mots pour l'ajout de nouveaux devices
- Boutons Sauvegarder/Annuler pour les modifications
- Protection : impossible de supprimer le dernier device
- Interface responsive avec design moderne
- Intégration des fonctions d'import/export existantes
2025-10-22 15:49:19 +02:00
08b47b17b8 feat: Ajout du bouton de suppression de compte et logique de chargement automatique
- Bouton rouge 'Supprimer' dans le menu burger avec confirmation sécurisée
- Fonction deleteAccount() qui nettoie complètement le compte (IndexedDB, localStorage, sessionStorage)
- Logique d'initialisation intelligente :
  - Si wallet existe et est appairé → redirection vers /account
  - Si wallet existe mais pas appairé → redirection vers /home pour pairing
  - Si aucun wallet → création d'un nouveau compte
- CSS pour le bouton de suppression avec style rouge distinctif
- Confirmation en deux étapes pour éviter les suppressions accidentelles
2025-10-22 15:46:50 +02:00
60f19752d3 feat: Amélioration complète de l'ergonomie du système de pairing
- Remplacement du QR code par un système de 4 mots
- Interface unifiée avec détection automatique créateur/joiner
- Amélioration UX avec feedback en temps réel
- Design moderne glassmorphism avec animations
- Validation intelligente des 4 mots pour le joiner
- Status de progression détaillé pour les deux flux
- Redirection automatique vers /account après pairing
- Styles CSS améliorés avec variables et responsive design
- Gestion d'erreurs et messages utilisateur clairs
- Fonctionnalité de copie des 4 mots pour le créateur
2025-10-22 15:31:53 +02:00
7c2c4bfb46 Fix pairing system: Add waitForPairingCommitment with device sync and update documentation
- Add waitForPairingCommitment function with automatic device synchronization
- Integrate updateDevice() call in waitForPairingCommitment for better sync
- Increase retry attempts to 30 with 2s delay (60s total wait time)
- Add detailed logging for pairing process synchronization
- Update router to call waitForPairingCommitment before confirmPairing
- Remove redundant updateDevice() call from router
- Update PAIRING_SYSTEM_ANALYSIS.md with coherence issues and recommendations
- Identify joiner flow inconsistencies requiring future fixes
2025-10-22 14:15:20 +02:00
79633ed923 Add logs for handleCreatePairing
All checks were successful
Build and Push to Registry / build-and-push (push) Successful in 2m35s
2025-10-10 11:33:40 +02:00
Sosthene
0d473cf3d1 [bug] Update device blockheight right after initialization to prevent race condition
All checks were successful
Build and Push to Registry / build-and-push (push) Successful in 2m25s
2025-09-13 08:12:30 +02:00
Sosthene
5fc485e233 Fix checkConnections, also check more aggressively 2025-09-13 07:34:43 +02:00
Sosthene
e0e186f4f4 Refactor pairing logic
Account for the fact that we need the pairing id earlier now
2025-09-05 07:57:57 +02:00
Sosthene
2ba7be8dbb Call updateDeviceBlockHeight from router 2025-08-23 16:04:34 +02:00
Sosthene
8a0a8e2df2 Add handleCreatePairing 2025-08-23 15:58:30 +02:00
Sosthene
d3e207c6da [bug] fix types mismatch with Device 2025-07-16 11:31:29 +02:00
Sosthene
cb5297e6fe Refactoring of handleUpdateProcess to try to commit again processes that have not been commited 2025-07-08 17:24:51 +02:00
Sosthene
dbb7f67154 Don't automatically connect to realys in init() 2025-07-08 17:24:14 +02:00
Sosthene
d8c2b22c3d Rm uneccessary async on decodeValue() 2025-07-07 15:21:25 +02:00
Sosthene
989263d44a handleValidateMerkleProof 2025-07-03 17:56:03 +02:00
Sosthene
7c39795cef Add HASH_VALUE and GET_MERKLE_PROOF 2025-07-02 12:40:44 +02:00
Sosthene
f5fae245e2 [bug] validateToken was bypassed 2025-06-30 19:49:06 +02:00
ed4fa732f7 Remove redundant log and dead code 2025-06-26 10:52:28 +02:00
ac11893e93 Add messageId to each message, refactor listeners 2025-06-25 16:59:20 +02:00
929e7ee36d [bug] fix updateProcess 2025-06-25 14:40:08 +02:00
c2a4b598a7 Validate token for getProcesses request 2025-06-25 14:39:42 +02:00
Sosthene
18ef18db71 Add DECODE_PUBLIC_DATA api 2025-06-24 15:52:23 +02:00
Sosthene
cf57681c31 Add handleUpdateProcess in router 2025-06-15 22:17:58 +02:00
Sosthene
91ba7205cc Fix return value of handleDecryptState 2025-06-15 22:17:22 +02:00
Sosthene
d31e18d4ae Use new utils splitPrivateData and isValid32ByteHex 2025-06-15 22:16:32 +02:00
Sosthene
0d51f9d056 [bug] wrong variable name in handleDecryptState 2025-06-15 22:08:41 +02:00
Sosthene
dfae77de58 Remove dead code 2025-06-13 21:06:10 +02:00
Sosthene
ed23adf8f1 Rename folderCreated to processData 2025-06-13 20:35:35 +02:00
Sosthene
2a7c0d6675 Add notify and validate api 2025-06-12 17:33:22 +02:00
Sosthene
25dba4e67b minor fixes 2025-06-12 17:26:51 +02:00
Sosthene
65d43686cb Add handleCreateProcess 2025-06-12 14:36:12 +02:00
Sosthene
18e82de549 Minor fixes and refactor in router 2025-06-12 14:36:12 +02:00
f4d8f8652f Profile and Folder event handler return object 2025-06-12 14:36:12 +02:00
00bc3d8ad2 Add getMyProcesses api 2025-06-12 14:36:12 +02:00
b52ff937f0 Add GET_PAIRING_ID event listener 2025-06-11 15:40:15 +02:00