From d33a89b89fb6698eb7a33da7cba7b397ec9a41c5 Mon Sep 17 00:00:00 2001 From: hkfires <10558748+hkfires@users.noreply.github.com> Date: Mon, 29 Sep 2025 22:35:57 +0800 Subject: [PATCH] fix(gemini-web): Ignore tool messages to fix sticky selection --- internal/provider/gemini-web/conversation/parse.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/provider/gemini-web/conversation/parse.go b/internal/provider/gemini-web/conversation/parse.go index d27cb708..a27e952f 100644 --- a/internal/provider/gemini-web/conversation/parse.go +++ b/internal/provider/gemini-web/conversation/parse.go @@ -35,6 +35,14 @@ func extractOpenAIStyle(raw []byte) []Message { if role == "system" { return true } + // Ignore OpenAI tool messages to keep hashing aligned with + // persistence (which only keeps text/inlineData for Gemini contents). + // This avoids mismatches when a tool response is present: the + // storage path drops tool payloads while the lookup path would + // otherwise include them, causing sticky selection to fail. + if role == "tool" { + return true + } var contentBuilder strings.Builder content := entry.Get("content") if !content.Exists() {