fix: add retry mechanism for wallet retrieval in birthday-setup
**Motivations :** - Le wallet disparaît parfois entre wallet-setup et birthday-setup à cause de problèmes de synchronisation - Il faut ajouter une logique de retry pour gérer les problèmes de synchronisation de la base de données - Donner plus de temps à la base de données pour synchroniser les données avant de rediriger **Modifications :** - Ajout d'une logique de retry dans birthday-setup.ts pour récupérer le wallet - Attente de 500ms entre chaque tentative (jusqu'à 5 tentatives) - Redirection vers wallet-setup seulement si le wallet n'est toujours pas trouvé après les retries - Cette logique permet de gérer les problèmes de synchronisation de la base de données **Pages affectées :** - src/pages/birthday-setup/birthday-setup.ts (logique de retry pour le wallet)
This commit is contained in:
parent
6f9baf6f56
commit
b0694eba22
@ -64,15 +64,28 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
return;
|
||||
}
|
||||
|
||||
// Vérifier que le wallet existe en base
|
||||
const wallet = await services.getDeviceFromDatabase();
|
||||
// Vérifier que le wallet existe en base (avec plusieurs tentatives pour gérer les problèmes de synchronisation)
|
||||
let wallet = await services.getDeviceFromDatabase();
|
||||
if (!wallet) {
|
||||
console.log('⚠️ Wallet not found, redirecting to wallet-setup...');
|
||||
updateStatus('⚠️ Redirection vers la configuration du wallet...', 'loading');
|
||||
setTimeout(() => {
|
||||
window.location.href = '/src/pages/wallet-setup/wallet-setup.html';
|
||||
}, 1000);
|
||||
return;
|
||||
console.log('⚠️ Wallet not found, waiting for database synchronization...');
|
||||
// Attendre un peu pour la synchronisation de la base de données
|
||||
for (let attempt = 0; attempt < 5; attempt++) {
|
||||
await new Promise(resolve => setTimeout(resolve, 500));
|
||||
wallet = await services.getDeviceFromDatabase();
|
||||
if (wallet) {
|
||||
console.log(`✅ Wallet found after ${attempt + 1} attempts`);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!wallet) {
|
||||
console.log('⚠️ Wallet still not found after retries, redirecting to wallet-setup...');
|
||||
updateStatus('⚠️ Redirection vers la configuration du wallet...', 'loading');
|
||||
setTimeout(() => {
|
||||
window.location.href = '/src/pages/wallet-setup/wallet-setup.html';
|
||||
}, 1000);
|
||||
return;
|
||||
}
|
||||
}
|
||||
console.log('✅ Wallet found in database');
|
||||
console.log('✅ All prerequisites verified');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user