From 18e403bbaae3004a0050b2f7f7f7cc07609cdc53 Mon Sep 17 00:00:00 2001 From: Chris Sherwood Date: Mon, 21 Sep 2026 15:49:52 -0700 Subject: [PATCH] fix(ai): bump the Ollama pin to 0.33.3 to fix the disconnect hang ollama/ollama:0.24.0 never cancels in-flight generation when a client disconnects: the runner process is left spinning at 300%+ CPU with no active requests and never recovers. NOMAD triggers this organically via its own 60s RAG embedding timeouts, so slow CPU-only boxes can wedge themselves after a single slow request. Reported with a standalone container repro in #1321; the cancellation fix landed upstream between 0.24 and 0.33. Regression-tested on 0.33.3 (RTX 5060 box): - model listing via /api/tags (NOMAD backend detection intact) - GPU acceleration (100% GPU placement, 82.8 tok/s on llama3.1:8b) - model pull through the NOMAD download pipeline (NDJSON progress) - embeddings via /api/embed with nomic-embed-text (768-dim) - streaming chat end-to-end through the Command Center UI - the disconnect hang itself: container idles at 0.06% CPU 20s after a mid-generation client drop The AMD path is unaffected: it always overrides to ollama/ollama:rocm. The seeder does not sync container_image on existing rows, so this pin reaches fresh installs; existing installs pick it up via the opt-in app auto-update or a manual update. Fixes #1321 Co-Authored-By: Claude Fable 5 --- admin/database/seeders/service_seeder.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/database/seeders/service_seeder.ts b/admin/database/seeders/service_seeder.ts index de07770d..20b40166 100644 --- a/admin/database/seeders/service_seeder.ts +++ b/admin/database/seeders/service_seeder.ts @@ -98,7 +98,7 @@ export default class ServiceSeeder extends BaseSeeder { display_order: 3, description: 'Local AI chat that runs entirely on your hardware - no internet required', icon: 'IconWand', - container_image: 'ollama/ollama:0.24.0', + container_image: 'ollama/ollama:0.33.3', source_repo: 'https://github.com/ollama/ollama', container_command: 'serve', container_config: JSON.stringify({