July 5, 2026

以 Markdown 格式查看

1.46.4

(fix): 将 SSE 流自动重连与参考 TypeScript 实现对齐: (1) 未配置流终止符时不重连(防止在正常 EOF 时出现重连风暴)。(2) 当服务器未发送 retry: 指令时,重连之间应用默认 1 秒最小退避。(3) 仅在已分发事件(空行边界)时提交 Last-Event-ID,而非在中途断开的未完成事件中解析但未分发的 id 上——修复重连时的静默事件丢失。 (4) 在进度(每个产出的事件)时重置连续重连尝试计数器。(5) 优雅处理失败/nil-body 重连响应,通过消耗一次尝试并重试,而非立即暴露错误。(6) 未分发任何事件 ID 时不重连——使用空 Last-Event-ID 重连会重放整个流(重复事件)。(7) 防止 reconnectFn 返回 nil *http.Response 时的 nil 指针 panic。 (8) 当 reconnectFn 同时返回响应和错误时关闭响应体。