diff --git a/src/pages/wallet-setup/wallet-setup.ts b/src/pages/wallet-setup/wallet-setup.ts index d417d0a..dd6f625 100644 --- a/src/pages/wallet-setup/wallet-setup.ts +++ b/src/pages/wallet-setup/wallet-setup.ts @@ -48,10 +48,32 @@ document.addEventListener('DOMContentLoaded', async () => { } try { - // Étape 1: Initialisation des services - updateStatus('🔄 Initialisation des services...', 'loading'); + // Étape 1: VĂ©rifier les prĂ©requis AVANT d'initialiser Services + updateStatus('🔍 VĂ©rification des prĂ©requis...', 'loading'); updateProgress(10); + // CRITICAL: wallet-setup ne doit PAS gĂ©nĂ©rer de credentials + // Les credentials et clĂ© PBKDF2 doivent ĂȘtre créés dans security-setup + // On vĂ©rifie que la clĂ© PBKDF2 existe dans le store pbkdf2keys + console.log('🔐 Checking for existing PBKDF2 key in pbkdf2keys store...'); + + const pbkdf2KeyResult = await checkPBKDF2Key(); + if (!pbkdf2KeyResult) { + console.log('⚠ No PBKDF2 key found in pbkdf2keys store, redirecting to security-setup...'); + updateStatus('⚠ Redirection vers la configuration de sĂ©curitĂ©...', 'loading'); + setTimeout(() => { + window.location.href = '/src/pages/security-setup/security-setup.html'; + }, 1000); + return; + } + + const currentMode = pbkdf2KeyResult.mode; + console.log('✅ Prerequisites verified: PBKDF2 key found in pbkdf2keys store for mode:', currentMode); + + // Étape 2: Initialisation des services (uniquement si les prĂ©requis sont OK) + updateStatus('🔄 Initialisation des services...', 'loading'); + updateProgress(20); + let services: any; // DĂ©clarer services au niveau supĂ©rieur try { @@ -110,32 +132,6 @@ document.addEventListener('DOMContentLoaded', async () => { throw error; } - // Étape 2: GĂ©nĂ©ration des credentials sĂ©curisĂ©s - updateStatus('🔐 GĂ©nĂ©ration des clĂ©s de sĂ©curitĂ©...', 'loading'); - updateProgress(30); - - // VĂ©rifier les prĂ©requis en base de donnĂ©es - updateStatus('🔍 VĂ©rification des prĂ©requis...', 'loading'); - updateProgress(20); - - // CRITICAL: wallet-setup ne doit PAS gĂ©nĂ©rer de credentials - // Les credentials et clĂ© PBKDF2 doivent ĂȘtre créés dans security-setup - // On vĂ©rifie que la clĂ© PBKDF2 existe dans le store pbkdf2keys - console.log('🔐 Checking for existing PBKDF2 key in pbkdf2keys store...'); - - const pbkdf2KeyResult = await checkPBKDF2Key(); - if (!pbkdf2KeyResult) { - console.log('⚠ No PBKDF2 key found in pbkdf2keys store, redirecting to security-setup...'); - updateStatus('⚠ Redirection vers la configuration de sĂ©curitĂ©...', 'loading'); - setTimeout(() => { - window.location.href = '/src/pages/security-setup/security-setup.html'; - }, 1000); - return; - } - - const currentMode = pbkdf2KeyResult.mode; - console.log('✅ Prerequisites verified: PBKDF2 key found in pbkdf2keys store for mode:', currentMode); - // Étape 3: Sauvegarde du wallet avec Ă©tat birthday_waiting updateStatus('💰 Sauvegarde du portefeuille...', 'loading'); updateProgress(60); diff --git a/src/router.ts b/src/router.ts index 90e9ef8..49a8e33 100755 --- a/src/router.ts +++ b/src/router.ts @@ -62,27 +62,11 @@ export async function checkStorageStateAndNavigate(): Promise { // VĂ©rifier si la date anniversaire est configurĂ©e (wallet avec birthday > 0) if (device.sp_wallet.birthday && device.sp_wallet.birthday > 0) { - console.log('🎂 Birthday is configured, checking pairing status...'); - - // VĂ©rifier l'Ă©tat du pairing (nĂ©cessite Services mais seulement si tout est prĂȘt) - try { - const services = await Services.getInstance(); - const isPaired = services.isPaired(); - - if (isPaired) { - console.log('✅ Device is paired, navigating to account page'); - await navigate('account'); - return; - } - - console.log('🔗 Not paired yet, navigating to pairing'); - await navigate('home'); - return; - } catch (error) { - console.log('⚠ Could not check pairing status, navigating to home'); - await navigate('home'); - return; - } + console.log('🎂 Birthday is configured, navigating to pairing'); + // Ne pas vĂ©rifier le pairing ici pour Ă©viter d'initialiser WebAssembly + // La page home.ts vĂ©rifiera le pairing si nĂ©cessaire + await navigate('home'); + return; } // Wallet existe mais birthday pas configurĂ©