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,16 +64,29 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vérifier que le wallet existe en base
|
// Vérifier que le wallet existe en base (avec plusieurs tentatives pour gérer les problèmes de synchronisation)
|
||||||
const wallet = await services.getDeviceFromDatabase();
|
let wallet = await services.getDeviceFromDatabase();
|
||||||
if (!wallet) {
|
if (!wallet) {
|
||||||
console.log('⚠️ Wallet not found, redirecting to wallet-setup...');
|
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');
|
updateStatus('⚠️ Redirection vers la configuration du wallet...', 'loading');
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
window.location.href = '/src/pages/wallet-setup/wallet-setup.html';
|
window.location.href = '/src/pages/wallet-setup/wallet-setup.html';
|
||||||
}, 1000);
|
}, 1000);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
console.log('✅ Wallet found in database');
|
console.log('✅ Wallet found in database');
|
||||||
console.log('✅ All prerequisites verified');
|
console.log('✅ All prerequisites verified');
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user