Deploy: 2026-06-24 15:16:49

This commit is contained in:
Hamza-Ayed
2026-06-24 15:16:49 +03:00
parent 376bb0f61c
commit 2562652e68
2 changed files with 64 additions and 12 deletions

View File

@@ -62,6 +62,19 @@ function cleanChromeLocks(sessionKey) {
}
}
// Clear Session Folder recursively to prevent corruption on logouts
function clearSessionFolder(sessionKey) {
const sessionPath = path.join(SESSIONS_DIR, `session-${sessionKey}`);
try {
if (fs.existsSync(sessionPath)) {
console.log(`[CLEANUP] Recursively removing session folder for ${sessionKey}: ${sessionPath}`);
fs.rmSync(sessionPath, { recursive: true, force: true });
}
} catch (err) {
console.error(`[CLEANUP ERROR] Failed to delete session folder for ${sessionKey}:`, err.message);
}
}
async function sendWebhook(webhook_url, payload) {
try {
console.log(`[Webhook] Sending to ${webhook_url} | state=${payload.state}`);
@@ -130,6 +143,8 @@ async function startSession(session_key, webhook_url) {
});
sessions.delete(session_key);
try { client.destroy(); } catch (_) {}
// Wipe session folder to prevent corrupted state loading on next boot
clearSessionFolder(session_key);
});
// Handle Incoming Messages to Webhook
@@ -191,10 +206,15 @@ async function startSession(session_key, webhook_url) {
async function disconnectSession(session_key) {
const client = sessions.get(session_key);
if (client) {
await client.logout();
client.destroy();
try {
await client.logout();
} catch (_) {}
try {
client.destroy();
} catch (_) {}
sessions.delete(session_key);
}
clearSessionFolder(session_key);
}
async function checkContact(session_key, phone) {