From 48c897b709ae46283d92c82c3278feb3c2627a22 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Mon, 18 May 2026 15:57:09 +0300 Subject: [PATCH] Sync update: 2026-05-18 15:57:09 --- whatsapp_bridge/server.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/whatsapp_bridge/server.js b/whatsapp_bridge/server.js index 51f5b19..42d997d 100644 --- a/whatsapp_bridge/server.js +++ b/whatsapp_bridge/server.js @@ -134,7 +134,10 @@ function initWhatsApp() { '--single-process', '--disable-gpu', '--disable-web-security', - '--disable-features=IsolateOrigins,site-per-process' + '--disable-features=IsolateOrigins,site-per-process', + '--disable-background-timer-throttling', + '--disable-backgrounding-occluded-windows', + '--disable-renderer-backgrounding' ], // Realistic modern desktop user agent to bypass anti-bot detections (detaching frame errors) userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' @@ -290,6 +293,9 @@ async function handleMessage(ws, raw) { return respond({ type: 'error', message: 'WhatsApp is not ready' }); } + const startTime = Date.now(); + console.log(`[WS] get_conversations fetch started...`); + try { const fetchChats = async () => { const chats = await waClient.getChats(); @@ -297,6 +303,10 @@ async function handleMessage(ws, raw) { const offset = parseInt(payload.offset) || 0; const slice = chats.slice(offset, offset + limit); const formatted = await Promise.all(slice.map(formatChat)); + + const duration = Date.now() - startTime; + console.log(`[WS] get_conversations fetched ${formatted.length}/${chats.length} chats in ${duration}ms`); + return { type: 'conversations', data: formatted, @@ -305,13 +315,14 @@ async function handleMessage(ws, raw) { }; const timeoutPromise = new Promise((_, reject) => - setTimeout(() => reject(new Error('Server request to WhatsApp timed out')), 25000) + setTimeout(() => reject(new Error('Server request to WhatsApp timed out')), 45000) ); const result = await Promise.race([fetchChats(), timeoutPromise]); return respond({ ...result, requestId }); } catch (err) { - console.error('[WS] get_conversations failed or timed out:', err.message); + const duration = Date.now() - startTime; + console.error(`[WS] get_conversations failed or timed out after ${duration}ms:`, err.message); return respond({ type: 'error', message: err.message || 'Failed to fetch conversations', requestId }); } }