Sync update: 2026-05-18 15:57:09

This commit is contained in:
Hamza-Ayed
2026-05-18 15:57:09 +03:00
parent b9b72247b0
commit 48c897b709

View File

@@ -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 });
}
}