fix: wait for block height before updating birthday

**Motivations :**
- L'erreur 'Current block height not set' se produit car updateDeviceBlockHeight est appelé avant que le handshake soit complètement traité
- Il faut attendre que this.currentBlockHeight soit défini avant de mettre à jour la date anniversaire

**Modifications :**
- Ajout de la méthode publique getCurrentBlockHeight() dans Services
- Modification de birthday-setup.ts pour attendre que la hauteur de bloc soit définie
- Ajout d'une boucle d'attente avec timeout pour s'assurer que le handshake est traité

**Pages affectées :**
- src/services/service.ts (getCurrentBlockHeight)
- src/pages/birthday-setup/birthday-setup.ts (attente de la hauteur de bloc)
This commit is contained in:
NicolasCantu 2025-10-28 13:37:26 +01:00
parent c2bd615e88
commit 2fad2d507f
4 changed files with 47 additions and 24 deletions

View File

@ -65,6 +65,25 @@ document.addEventListener('DOMContentLoaded', async () => {
// Les relais sont déjà prêts après connectAllRelays // Les relais sont déjà prêts après connectAllRelays
console.log('✅ Communication handshake completed'); console.log('✅ Communication handshake completed');
// 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 attempts = 0;
const maxAttempts = 30;
while (attempts < maxAttempts) {
const blockHeight = services.getCurrentBlockHeight();
if (blockHeight !== -1) {
console.log(`✅ Block height set: ${blockHeight}`);
break;
}
console.log(`⏳ Waiting for block height (attempt ${attempts + 1}/${maxAttempts})...`);
await new Promise(resolve => setTimeout(resolve, 100));
attempts++;
}
if (services.getCurrentBlockHeight() === -1) {
throw new Error('Failed to get block height from relay');
}
// Mettre à jour la date anniversaire du wallet // Mettre à jour la date anniversaire du wallet
await services.updateDeviceBlockHeight(); await services.updateDeviceBlockHeight();
console.log('✅ Birthday updated successfully'); console.log('✅ Birthday updated successfully');

View File

@ -1785,6 +1785,10 @@ export default class Services {
} }
} }
getCurrentBlockHeight(): number {
return this.currentBlockHeight;
}
public dumpDeviceFromMemory(): Device { public dumpDeviceFromMemory(): Device {
try { try {
return this.sdkClient.dump_device(); return this.sdkClient.dump_device();