fix(sync): "ARIA denkt" bleibt haengen obwohl Turn fertig
Zwei Ursachen, beide adressiert: - App raeumte den (kontext-scoped) Thinking-Indikator nur ueber das agent_activity 'idle' der Bridge. Kam das nicht an (dedup/mismatch), blieb "ARIA denkt" + Abbrechen stehen. Jetzt raeumt die App den Indikator beim Eintreffen der Antwort selbst (definitiver Turn-Ende-Beweis). - Bridge sendete 'thinking' mit der REQUEST-projectId, 'idle' aber mit der TURN-projectId (Brain kann umrouten, z.B. Voice-Sticky). Bei Abweichung bekam der Request-Kontext nie sein idle → zusaetzliches idle fuer die Request-projectId am Turn-Ende. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1786,6 +1786,14 @@ class ARIABridge:
|
||||
"timestamp": int(asyncio.get_event_loop().time() * 1000),
|
||||
})
|
||||
|
||||
# Das 'thinking' oben ging mit der REQUEST-projectId raus, das 'idle' in
|
||||
# _process_core_response aber mit der TURN-projectId (Brain kann den Turn
|
||||
# umgeroutet haben, z.B. Voice-Sticky). Weichen sie ab, bekaeme der
|
||||
# Request-Kontext nie sein idle → "ARIA denkt" bliebe dort haengen.
|
||||
# Darum hier zusaetzlich fuer die Request-projectId ein idle.
|
||||
if (project_id or "") != (turn_project_id or ""):
|
||||
await self._emit_activity("idle", "", project_id=project_id)
|
||||
|
||||
if data.get("distilling"):
|
||||
logger.info("[brain] Destillat laeuft im Hintergrund")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user