From de7a55e7bca741617f620c20aa33d4dd05c99770 Mon Sep 17 00:00:00 2001 From: Titouan Date: Wed, 12 Nov 2025 14:25:14 +0000 Subject: [PATCH] revert 3a61ffe7a670e9b7011d41e91b3c3ab864715a93 revert Automated the login with the iframe --- src/router.ts | 58 +++++++++++---------------------------------------- 1 file changed, 12 insertions(+), 46 deletions(-) diff --git a/src/router.ts b/src/router.ts index 51b1e42..e9bbb35 100755 --- a/src/router.ts +++ b/src/router.ts @@ -286,32 +286,28 @@ export async function registerAllListeners() { const handleRequestLink = async (event: MessageEvent) => { console.log(`[Router:API] 📨 Message ${MessageType.REQUEST_LINK} reçu de ${event.origin}`); - - // L'appel à requestLink() depuis l'AuthModal est désormais la confirmation. - // Nous n'avons plus besoin du modal manuel. - console.log(`[Router:API] Liaison auto-confirmée pour ${event.origin}.`); - const result = true; // Simule le clic sur "Ajouter un service" - - /* - // ANCIEN CODE SUPPRIMÉ : const modalService = await ModalService.getInstance(); const result = await modalService.showConfirmationModal( { title: 'Confirmation de liaison', - content: `...`, + content: ` + + `, confirmText: 'Ajouter un service', cancelText: 'Annuler', }, true, ); - + if (!result) { throw new Error('Failed to pair device: User refused to link'); } - */ - // Le reste de votre fonction s'exécute immédiatement : - // Génération des tokens et envoi au parent. const tokens = await tokenService.generateSessionToken(event.origin); window.parent.postMessage( { @@ -503,48 +499,18 @@ export async function registerAllListeners() { const handleGetPairingId = async (event: MessageEvent) => { console.log(`[Router:API] 📨 Message ${MessageType.GET_PAIRING_ID} reçu`); - - const maxRetries = 10; - const retryDelay = 300; - let pairingId: string | null = null; - - for (let i = 0; i < maxRetries; i++) { - // On NE VÉRIFIE PAS services.isPaired() (qui est obsolète) - // On LIT DIRECTEMENT la BDD, comme le fait 'home.ts' - // (Je suppose que la méthode s'appelle 'getDeviceFromDatabase') - const device = await services.getDeviceFromDatabase(); - - // On vérifie si l'ID est maintenant présent dans la BDD - if (device && device.pairing_process_commitment) { - // SUCCÈS ! L'ID est dans la BDD - pairingId = device.pairing_process_commitment; - console.log(`[Router:API] GET_PAIRING_ID: ID trouvé en BDD (tentative ${i + 1}/${maxRetries})`); - break; // On sort de la boucle - } - - // Si non trouvé, on patiente (l'écriture est peut-être en cours) - console.warn(`[Router:API] GET_PAIRING_ID: Non trouvé en BDD, nouvelle tentative... (${i + 1}/${maxRetries})`); - await new Promise((resolve) => setTimeout(resolve, retryDelay)); - } - - // Si la boucle se termine sans succès - if (!pairingId) { - console.error(`[Router:API] GET_PAIRING_ID: Échec final, non trouvé en BDD après ${maxRetries} tentatives.`); - throw new Error('Device not paired'); - } - - // Si on arrive ici, 'pairingId' contient l'ID + if (!services.isPaired()) throw new Error('Device not paired'); const { accessToken } = event.data; if (!accessToken || !(await tokenService.validateToken(accessToken, event.origin))) { throw new Error('Invalid or expired session token'); } - // On renvoie l'ID qu'on vient de trouver + const userPairingId = services.getPairingProcessId(); window.parent.postMessage( { type: MessageType.GET_PAIRING_ID, - userPairingId: pairingId, // Utiliser la variable 'pairingId' + userPairingId, messageId: event.data.messageId, }, event.origin,