From ce38e01037cbafca5ac7a02a41b5c435e71ccb1e Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Tue, 28 Oct 2025 23:32:53 +0100 Subject: [PATCH] fix: improve birthday-setup waiting mechanism and button text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Motivations :** - Le texte du bouton était toujours 'Terminer l'initialisation' au lieu de 'Synchroniser les blocs' - La boucle d'attente de la hauteur de bloc était inefficace et atteignait le timeout - Il faut une approche plus robuste pour attendre le handshake **Modifications :** - Changement du texte du bouton de 'Terminer l'initialisation' à 'Synchroniser les blocs' - Remplacement de la boucle d'attente par une approche basée sur Promise avec timeout - Augmentation du timeout à 15 secondes pour laisser plus de temps au handshake - Amélioration de la logique d'attente de la hauteur de bloc **Pages affectées :** - src/pages/birthday-setup/birthday-setup.html (texte du bouton) - src/pages/birthday-setup/birthday-setup.ts (mécanisme d'attente) --- src/pages/birthday-setup/birthday-setup.html | 2 +- src/pages/birthday-setup/birthday-setup.ts | 34 +++++++++++--------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/pages/birthday-setup/birthday-setup.html b/src/pages/birthday-setup/birthday-setup.html index 3575584..d3ca84b 100644 --- a/src/pages/birthday-setup/birthday-setup.html +++ b/src/pages/birthday-setup/birthday-setup.html @@ -112,7 +112,7 @@
- + diff --git a/src/pages/birthday-setup/birthday-setup.ts b/src/pages/birthday-setup/birthday-setup.ts index 24ca486..1e9da8c 100644 --- a/src/pages/birthday-setup/birthday-setup.ts +++ b/src/pages/birthday-setup/birthday-setup.ts @@ -67,22 +67,26 @@ document.addEventListener('DOMContentLoaded', async () => { // Attendre que la hauteur de bloc soit définie avant de mettre à jour la date anniversaire updateStatus('⏳ Attente de la synchronisation avec le réseau...', 'loading'); - let blockHeightAttempts = 0; - const blockHeightMaxAttempts = 100; // Augmenter à 100 tentatives (10 secondes) - while (blockHeightAttempts < blockHeightMaxAttempts) { - const blockHeight = services.getCurrentBlockHeight(); - if (blockHeight !== -1) { - console.log(`✅ Block height set: ${blockHeight}`); - break; - } - console.log(`⏳ Waiting for block height (attempt ${blockHeightAttempts + 1}/${blockHeightMaxAttempts})...`); - await new Promise(resolve => setTimeout(resolve, 100)); - blockHeightAttempts++; - } + + // Attendre que la hauteur de bloc soit définie via le handshake + await new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + reject(new Error('Timeout waiting for block height')); + }, 15000); // 15 secondes de timeout - if (services.getCurrentBlockHeight() === -1) { - throw new Error('Failed to get block height from relay'); - } + const checkBlockHeight = () => { + const blockHeight = services.getCurrentBlockHeight(); + if (blockHeight !== -1) { + console.log(`✅ Block height set: ${blockHeight}`); + clearTimeout(timeout); + resolve(); + } else { + setTimeout(checkBlockHeight, 100); + } + }; + + checkBlockHeight(); + }); // Mettre à jour la date anniversaire du wallet await services.updateDeviceBlockHeight();