fix: ignore mDNS socket errors to prevent gateway crashes
Extended ignoreCiaoCancellationRejection to also handle announcement socket errors which are non-fatal and caused by network interface issues. Previously, these unhandled promise rejections would crash the gateway every ~2 minutes when mDNS announcements failed due to EAFNOSUPPORT socket errors. The fix allows the gateway to continue running normally even when mDNS discovery is unavailable, since mDNS is only used for local network discovery and not required for core gateway functionality. Testing: Gateway remained stable for 150+ seconds after fix, compared to crashing every ~120 seconds before (macOS 15.2 with HTTP_PROXY).
This commit is contained in:
parent
718bc3f9c8
commit
b806783e09
@ -4,9 +4,15 @@ import { formatBonjourError } from "./bonjour-errors.js";
|
||||
|
||||
export function ignoreCiaoCancellationRejection(reason: unknown): boolean {
|
||||
const message = formatBonjourError(reason).toUpperCase();
|
||||
if (!message.includes("CIAO ANNOUNCEMENT CANCELLED")) {
|
||||
return false;
|
||||
// Ignore ciao cancellation rejections (normal cleanup)
|
||||
if (message.includes("CIAO ANNOUNCEMENT CANCELLED")) {
|
||||
logDebug(`bonjour: ignoring unhandled ciao rejection: ${formatBonjourError(reason)}`);
|
||||
return true;
|
||||
}
|
||||
logDebug(`bonjour: ignoring unhandled ciao rejection: ${formatBonjourError(reason)}`);
|
||||
return true;
|
||||
// Ignore socket errors from mDNS announcements (non-fatal, can happen due to network issues)
|
||||
if (message.includes("ANNOUNCEMENT FAILED") && message.includes("SOCKET ERRORS")) {
|
||||
logDebug(`bonjour: ignoring mDNS socket error: ${formatBonjourError(reason)}`);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user