fix(discord): bound delivery retry delays · openclaw/openclaw@3d7df2b
steipete
·
2026-05-29
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
|
1 | 1 | import { describe, expect, it, vi } from "vitest"; |
2 | | -import { isRetryableDiscordDeliveryError } from "./delivery-retry.js"; |
| 2 | +import { |
| 3 | +getDiscordDeliveryRetryAfterMs, |
| 4 | +isRetryableDiscordDeliveryError, |
| 5 | +} from "./delivery-retry.js"; |
3 | 6 | import { DiscordError, RateLimitError } from "./internal/discord.js"; |
4 | 7 | import { createDiscordRetryRunner, isRetryableDiscordTransientError } from "./retry.js"; |
5 | 8 | |
@@ -86,3 +89,17 @@ describe("isRetryableDiscordDeliveryError", () => {
|
86 | 89 | expect(isRetryableDiscordDeliveryError(err)).toBe(false); |
87 | 90 | }); |
88 | 91 | }); |
| 92 | + |
| 93 | +describe("getDiscordDeliveryRetryAfterMs", () => { |
| 94 | +it("reads finite retry delays from delivery errors", () => { |
| 95 | +expect(getDiscordDeliveryRetryAfterMs({ retryAfter: 0.25 })).toBe(250); |
| 96 | +expect(getDiscordDeliveryRetryAfterMs({ headers: { "retry-after": "0.25" } })).toBe(250); |
| 97 | +}); |
| 98 | + |
| 99 | +it("rejects unsafe retry delay magnitudes", () => { |
| 100 | +expect(getDiscordDeliveryRetryAfterMs({ retryAfter: 9_007_199_254_741 })).toBeUndefined(); |
| 101 | +expect( |
| 102 | +getDiscordDeliveryRetryAfterMs({ headers: { "retry-after": "9007199254741" } }), |
| 103 | +).toBeUndefined(); |
| 104 | +}); |
| 105 | +}); |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。