Merge 43086d32d720a0ca6c999633d5fade2cfaa7574d into 5e417b44e1540f528d2ae63e3e20229a902d1db2

This commit is contained in:
Dongyan Qian 2026-03-20 18:50:48 -07:00 committed by GitHub
commit 9a19832c60
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 1 deletions

View File

@ -81,6 +81,22 @@ describe("createTelegramRetryRunner", () => {
expectedCalls: 1,
expectedError: "permission denied",
},
{
name: "retries misdirected request errors from Telegram edge nodes",
runnerOptions: {
retry: ZERO_DELAY_RETRY,
},
fnSteps: [
{
type: "reject" as const,
value: Object.assign(new Error("421 Misdirected Request"), {
status: 421,
}),
},
],
expectedCalls: 3,
expectedError: "421 Misdirected Request",
},
{
name: "keeps retrying retriable errors until attempts are exhausted",
runnerOptions: {

View File

@ -11,7 +11,8 @@ export const TELEGRAM_RETRY_DEFAULTS = {
jitter: 0.1,
};
const TELEGRAM_RETRY_RE = /429|timeout|connect|reset|closed|unavailable|temporarily/i;
const TELEGRAM_RETRY_RE =
/429|421|timeout|connect|reset|closed|unavailable|temporarily|misdirected request/i;
const log = createSubsystemLogger("retry-policy");
function resolveTelegramShouldRetry(params: {