Deploy: 2026-06-24 15:16:49
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user