From a4ea387c9800edbda9671320cdbb15556fb5b336 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 10 May 2026 16:11:14 +0200 Subject: [PATCH] fix(bridge): "chat final ohne Text" wird sichtbar an App gemeldet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wenn Claude-Vision das Bild silent ablehnt (z.B. zu gross), kommt phase=end ohne Crash, aber chat:final ohne text. Bridge ignorierte das nur mit Warning — App wartete ewig auf Antwort. Jetzt kommt eine Hinweis-Bubble damit der User weiss dass was schief lief. Co-Authored-By: Claude Opus 4.7 (1M context) --- bridge/aria_bridge.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bridge/aria_bridge.py b/bridge/aria_bridge.py index 48b9335..0a5999f 100644 --- a/bridge/aria_bridge.py +++ b/bridge/aria_bridge.py @@ -786,6 +786,18 @@ class ARIABridge: await self._emit_activity("idle", "") if not text: logger.warning("[core] chat final ohne Text: %s", json.dumps(payload)[:200]) + # App+Diagnostic informieren statt stumm — sonst wartet die + # UI ewig auf eine Antwort die nicht kommt. Passiert z.B. + # wenn Claude-Vision das Bild ablehnt (leere Antwort) + # oder die Antwort nur aus Tool-Calls ohne Final-Text bestand. + await self._send_to_rvs({ + "type": "chat", + "payload": { + "text": "[Hinweis] Antwort ohne Text — moeglicherweise Bild zu gross fuer Vision-API oder reine Tool-Ausfuehrung.", + "sender": "aria", + }, + "timestamp": int(asyncio.get_event_loop().time() * 1000), + }) return logger.info("[core] Antwort: '%s'", text[:80]) await self._process_core_response(text, payload)