From ba272bbf111237def28e5725d79996bec222b333 Mon Sep 17 00:00:00 2001 From: Peter Cardenas <16930781+PeterCardenas@users.noreply.github.com> Date: Thu, 8 May 2025 19:19:43 -0700 Subject: [PATCH] fix: always retry on 429 error (#2019) --- lua/avante/llm.lua | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/lua/avante/llm.lua b/lua/avante/llm.lua index 0f08b29..5de1ffe 100644 --- a/lua/avante/llm.lua +++ b/lua/avante/llm.lua @@ -671,19 +671,11 @@ function M.curl(opts) else Utils.error("API request failed with status " .. result.status, { once = true, title = "Avante" }) end + local retry_after = 10 + if headers_map["retry-after"] then retry_after = tonumber(headers_map["retry-after"]) or 10 end if result.status == 429 then Utils.debug("result", result) - if result.body then - local ok, jsn = pcall(vim.json.decode, result.body) - if ok then - if jsn.error and jsn.error.message then - handler_opts.on_stop({ reason = "error", error = jsn.error.message }) - return - end - end - end - local retry_after = 10 - if headers_map["retry-after"] then retry_after = tonumber(headers_map["retry-after"]) or 10 end + handler_opts.on_stop({ reason = "rate_limit", retry_after = retry_after }) return end