From 43b601a1036d339dc1c1bdc3aee6af1bac06b8b8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 01:52:49 +0000 Subject: [PATCH 1/4] Initial plan From d18333cbaa73f28d0124f6ac1157f3788ce35ace Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 01:55:56 +0000 Subject: [PATCH 2/4] Fix chat feature not receiving responses when tool calls fail Co-authored-by: ExtCan <60326708+ExtCan@users.noreply.github.com> --- src/AI/OllamaClient.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/AI/OllamaClient.cs b/src/AI/OllamaClient.cs index acf4edc..8a33786 100644 --- a/src/AI/OllamaClient.cs +++ b/src/AI/OllamaClient.cs @@ -436,7 +436,9 @@ public async Task ChatAsync(string message, CancellationToken cancellati } } } - else if (result?.Message?.Content != null) + + // If we haven't returned yet, check if the original response has content + if (result?.Message?.Content != null) { string cleanedResponse = CleanResponse(result.Message.Content); From ed28a99a9fa0455b513ded5183a5a7fcf48250ba Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 01:57:10 +0000 Subject: [PATCH 3/4] Improve fallback comment clarity based on code review Co-authored-by: ExtCan <60326708+ExtCan@users.noreply.github.com> --- src/AI/OllamaClient.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/AI/OllamaClient.cs b/src/AI/OllamaClient.cs index 8a33786..84047c8 100644 --- a/src/AI/OllamaClient.cs +++ b/src/AI/OllamaClient.cs @@ -437,7 +437,8 @@ public async Task ChatAsync(string message, CancellationToken cancellati } } - // If we haven't returned yet, check if the original response has content + // Fallback: If tool calls failed, returned no content, or follow-up request failed, + // use the original response content if available if (result?.Message?.Content != null) { string cleanedResponse = CleanResponse(result.Message.Content); From 288d4d5e97e50fc1268c99be4415ce87869787b6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 02:07:07 +0000 Subject: [PATCH 4/4] Add null check for deserialized response to prevent NullReferenceException Co-authored-by: ExtCan <60326708+ExtCan@users.noreply.github.com> --- src/AI/OllamaClient.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/AI/OllamaClient.cs b/src/AI/OllamaClient.cs index 84047c8..5d90ef6 100644 --- a/src/AI/OllamaClient.cs +++ b/src/AI/OllamaClient.cs @@ -361,6 +361,13 @@ public async Task ChatAsync(string message, CancellationToken cancellati var responseContent = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject(responseContent); + // Check if deserialization was successful + if (result == null) + { + System.Diagnostics.Debug.WriteLine("Ollama chat error: Failed to deserialize response"); + return null; + } + // Track token usage LastPromptTokens = result.PromptEvalCount; LastCompletionTokens = result.EvalCount; @@ -449,6 +456,9 @@ public async Task ChatAsync(string message, CancellationToken cancellati return cleanedResponse; } + + // No content available in response + System.Diagnostics.Debug.WriteLine("Ollama chat: Response received but no content available"); } else {