fix(whatsapp): reconnect on crypto unhandled rejection

This commit is contained in:
Peter Steinberger
2026-01-05 13:55:37 +00:00
parent 7619534bc0
commit f24fe4e9cd
4 changed files with 114 additions and 23 deletions

View File

@@ -0,0 +1,26 @@
type UnhandledRejectionHandler = (reason: unknown) => boolean;
const handlers = new Set<UnhandledRejectionHandler>();
export function registerUnhandledRejectionHandler(
handler: UnhandledRejectionHandler,
): () => void {
handlers.add(handler);
return () => {
handlers.delete(handler);
};
}
export function isUnhandledRejectionHandled(reason: unknown): boolean {
for (const handler of handlers) {
try {
if (handler(reason)) return true;
} catch (err) {
console.error(
"[clawdbot] Unhandled rejection handler failed:",
err instanceof Error ? (err.stack ?? err.message) : err,
);
}
}
return false;
}