fix: Telegram API requests fail with Network request failed after

Fixes #28835
This commit is contained in:
0xlin2023
2026-03-06 23:43:30 +08:00
committed by Ayaan Zaidi
parent d000316d19
commit e6bf69b366
3 changed files with 43 additions and 1 deletions

View File

@@ -40,7 +40,7 @@ describe("isRecoverableTelegramNetworkError", () => {
});
it("skips broad message matches for send context", () => {
const networkRequestErr = new Error("Network request for 'sendMessage' failed!");
const networkRequestErr = new Error("Network request for 'sendMessage' timed out!");
expect(isRecoverableTelegramNetworkError(networkRequestErr, { context: "send" })).toBe(false);
expect(isRecoverableTelegramNetworkError(networkRequestErr, { context: "polling" })).toBe(true);
@@ -49,6 +49,20 @@ describe("isRecoverableTelegramNetworkError", () => {
expect(isRecoverableTelegramNetworkError(undiciSnippetErr, { context: "polling" })).toBe(true);
});
it("treats grammY network envelope errors as recoverable in send context", () => {
expect(
isRecoverableTelegramNetworkError(new Error("Network request for 'sendMessage' failed!"), {
context: "send",
}),
).toBe(true);
expect(
isRecoverableTelegramNetworkError(
new Error("Network request for 'sendMessage' failed after 2 attempts."),
{ context: "send" },
),
).toBe(true);
});
it("returns false for unrelated errors", () => {
expect(isRecoverableTelegramNetworkError(new Error("invalid token"))).toBe(false);
});