635944299e
Symptom: Suche zeigt Treffer, springt aber permanent zwischen Bubbles hin und her in Endlosschleife. Zwei Ursachen, beide angeschlossen: 1) agent_activity-Handler rief setMessages mit prev.map() — auch wenn keine sending-Bubble da war. Das erzeugte trotzdem ein neues Array bei jedem Tool-Event (5-10x pro Brain-Call). invertedMessages neu → FlatList-Layouts invalidiert mitten in einer aktiven Scroll-Sequenz. Fix: prev.some() vor map() — wenn nichts zu aendern ist, prev unveraendert returnen (reference-stable, kein Re-Render). 2) onScrollToIndexFailed retried unbegrenzt. Jeder failed Retry rief den Handler erneut auf → neuer setTimeout → neuer Versuch → fail → loop. Vorher waren cascading 3 Retries, dann auf 1 reduziert um den 3-9-27-Cascade zu fixen, aber EIN ungebremster Retry-Schluss pro fail bleibt eine Endlos-Schleife wenn Layouts nie stabil werden. Fix: harter Counter (MAX_SCROLL_RETRIES = 3). Counter wird bei jedem neuen Search-Hit via clearPendingScrollRetry resettet. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>