From d43c11c76d4d8ebaf20841a1c3e8595951eb2e33 Mon Sep 17 00:00:00 2001 From: Ignacio Date: Mon, 16 Feb 2026 14:19:03 -0300 Subject: [PATCH] test: update tests and comments to reflect new autoSelectFamily default - Update test expectation: 'defaults to enable on Node 22' - Update comment in fetch.ts to explain IPv4 fallback rationale - Addresses greptile review feedback --- src/telegram/fetch.ts | 3 ++- src/telegram/network-config.test.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/telegram/fetch.ts b/src/telegram/fetch.ts index c82a1180a27..b38b65adcba 100644 --- a/src/telegram/fetch.ts +++ b/src/telegram/fetch.ts @@ -7,7 +7,8 @@ import { resolveTelegramAutoSelectFamilyDecision } from "./network-config.js"; let appliedAutoSelectFamily: boolean | null = null; const log = createSubsystemLogger("telegram/network"); -// Node 22 workaround: disable autoSelectFamily to avoid Happy Eyeballs timeouts. +// Node 22 workaround: enable autoSelectFamily to allow IPv4 fallback on broken IPv6 networks. +// Many networks have IPv6 configured but not routed, causing "Network is unreachable" errors. // See: https://github.com/nodejs/node/issues/54359 function applyTelegramNetworkWorkarounds(network?: TelegramNetworkConfig): void { const decision = resolveTelegramAutoSelectFamilyDecision({ network }); diff --git a/src/telegram/network-config.test.ts b/src/telegram/network-config.test.ts index 8219467a094..c9ffe30d8c1 100644 --- a/src/telegram/network-config.test.ts +++ b/src/telegram/network-config.test.ts @@ -36,9 +36,9 @@ describe("resolveTelegramAutoSelectFamilyDecision", () => { expect(decision).toEqual({ value: true, source: "config" }); }); - it("defaults to disable on Node 22", () => { + it("defaults to enable on Node 22", () => { const decision = resolveTelegramAutoSelectFamilyDecision({ env: {}, nodeMajor: 22 }); - expect(decision).toEqual({ value: false, source: "default-node22" }); + expect(decision).toEqual({ value: true, source: "default-node22" }); }); it("returns null when no decision applies", () => {