Heartbeat defaults and ws guard; format
This commit is contained in:
@@ -119,10 +119,10 @@ const isMain =
|
|||||||
if (isMain) {
|
if (isMain) {
|
||||||
// Global error handlers to prevent silent crashes from unhandled rejections/exceptions.
|
// Global error handlers to prevent silent crashes from unhandled rejections/exceptions.
|
||||||
// These log the error and exit gracefully instead of crashing without trace.
|
// These log the error and exit gracefully instead of crashing without trace.
|
||||||
process.on("unhandledRejection", (reason, promise) => {
|
process.on("unhandledRejection", (reason, _promise) => {
|
||||||
console.error(
|
console.error(
|
||||||
"[warelay] Unhandled promise rejection:",
|
"[warelay] Unhandled promise rejection:",
|
||||||
reason instanceof Error ? reason.stack ?? reason.message : reason,
|
reason instanceof Error ? (reason.stack ?? reason.message) : reason,
|
||||||
);
|
);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ export type WebMonitorTuning = {
|
|||||||
const formatDuration = (ms: number) =>
|
const formatDuration = (ms: number) =>
|
||||||
ms >= 1000 ? `${(ms / 1000).toFixed(2)}s` : `${ms}ms`;
|
ms >= 1000 ? `${(ms / 1000).toFixed(2)}s` : `${ms}ms`;
|
||||||
|
|
||||||
const DEFAULT_REPLY_HEARTBEAT_MINUTES = 10;
|
const DEFAULT_REPLY_HEARTBEAT_MINUTES = 30;
|
||||||
export const HEARTBEAT_TOKEN = "HEARTBEAT_OK";
|
export const HEARTBEAT_TOKEN = "HEARTBEAT_OK";
|
||||||
export const HEARTBEAT_PROMPT = "HEARTBEAT ultrathink";
|
export const HEARTBEAT_PROMPT = "HEARTBEAT ultrathink";
|
||||||
|
|
||||||
|
|||||||
@@ -90,7 +90,10 @@ export async function createWaSocket(printQr: boolean, verbose: boolean) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Handle WebSocket-level errors to prevent unhandled exceptions from crashing the process
|
// Handle WebSocket-level errors to prevent unhandled exceptions from crashing the process
|
||||||
if (sock.ws) {
|
if (
|
||||||
|
sock.ws &&
|
||||||
|
typeof (sock.ws as unknown as { on?: unknown }).on === "function"
|
||||||
|
) {
|
||||||
sock.ws.on("error", (err: Error) => {
|
sock.ws.on("error", (err: Error) => {
|
||||||
sessionLogger.error({ error: String(err) }, "WebSocket error");
|
sessionLogger.error({ error: String(err) }, "WebSocket error");
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user