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: `
+
+
Liaison avec ${event.origin}
+
Vous êtes sur le point de lier l'identité numérique de la clé securisée propre à votre appareil avec ${event.origin}.
+
Cette action permettra à ${event.origin} d'intéragir avec votre appareil.
+
Voulez-vous continuer ?
+
+ `,
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,