From 36012a21fd4b272c9d21b3adad1c1e5e92358ae2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 31 Jul 2026 00:00:52 +0000 Subject: [PATCH 1/2] Initial plan From ef1571d810a46dd849b6696e8258183bb65f4276 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 31 Jul 2026 00:10:17 +0000 Subject: [PATCH 2/2] Apply remaining changes Co-authored-by: khosravipasha <2780093+khosravipasha@users.noreply.github.com> --- tools/server/server-context.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 45f668d7c1d9..c5562ee52b00 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -441,7 +441,7 @@ struct server_slot { prompt.tokens.insert(spec_draft); } - void release() { + void release(bool clear_prompt = false) { if (is_processing()) { GGML_ASSERT(task); @@ -453,7 +453,7 @@ struct server_slot { state = SLOT_STATE_IDLE; // do not keep context of the child slots - the parent's context is enough - if (task->is_child()) { + if (clear_prompt || task->is_child()) { prompt_clear(false); } @@ -2274,10 +2274,10 @@ struct server_context_impl { } break; case SERVER_TASK_TYPE_CANCEL: { - // release slot linked with the task id + // release slot linked with the task id; cancelled requests should drop the slot state for (auto & slot : slots) { if (slot.task && slot.task->id == task.id_target) { - slot.release(); + slot.release(true); break; } }