From 46583943b67e68640568cac829c5fe08c69088ff Mon Sep 17 00:00:00 2001 From: yetone Date: Thu, 4 Sep 2025 21:31:00 +0800 Subject: [PATCH] fix(sidebar): persist ACP session id in chat history (#2687) --- lua/avante/sidebar.lua | 9 +++++---- lua/avante/types.lua | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lua/avante/sidebar.lua b/lua/avante/sidebar.lua index 1e5049b..f2e4703 100644 --- a/lua/avante/sidebar.lua +++ b/lua/avante/sidebar.lua @@ -78,7 +78,6 @@ Sidebar.__index = Sidebar ---@field old_result_lines avante.ui.Line[] ---@field token_count integer | nil ---@field acp_client avante.acp.ACPClient | nil ----@field acp_session_id string | nil ---@field post_render? fun(sidebar: avante.Sidebar) ---@field permission_handler fun(id: string) | nil ---@field permission_button_options ({ id: string, icon: string|nil, name: string }[]) | nil @@ -2220,7 +2219,6 @@ function Sidebar:new_chat(args, cb) Path.history.save(self.code.bufnr, history) self:reload_chat_history() self.current_state = nil - self.acp_session_id = nil self.expanded_message_uuids = {} self.tool_message_positions = {} self.current_tool_use_extmark_id = nil @@ -2825,8 +2823,11 @@ function Sidebar:create_input_container() on_state_change = on_state_change, acp_client = self.acp_client, on_save_acp_client = function(client) self.acp_client = client end, - acp_session_id = self.acp_session_id, - on_save_acp_session_id = function(session_id) self.acp_session_id = session_id end, + acp_session_id = self.chat_history.acp_session_id, + on_save_acp_session_id = function(session_id) + self.chat_history.acp_session_id = session_id + Path.history.save(self.code.bufnr, self.chat_history) + end, set_tool_use_store = set_tool_use_store, get_history_messages = function(opts) return self:get_history_messages_for_api(opts) end, get_todos = function() diff --git a/lua/avante/types.lua b/lua/avante/types.lua index 0f5d473..1997844 100644 --- a/lua/avante/types.lua +++ b/lua/avante/types.lua @@ -510,6 +510,7 @@ vim.g.avante_login = vim.g.avante_login ---@field filename string ---@field system_prompt string | nil ---@field tokens_usage avante.LLMTokenUsage | nil +---@field acp_session_id string | nil --- ---@class avante.ChatMemory ---@field content string