fix(diag): zwei Bugs — Memory-Liste nach Delete + Thinking-Indikator im RVS-Chat

Bug 1: Memory loeschen + Liste zeigt geloeschten Eintrag weiter
  deleteMemory rief loadBrainMemoryList — die fiel bei aktiver Such-
  Ansicht in den Cache-Pfad und renderte den geloeschten Eintrag aus
  brainMemoryCache/brainSearchIds wieder. Fix: nach Delete den Cache-
  Eintrag + brainSearchIds bereinigen und bei aktiver Suche re-search
  ausfuehren (single oder advanced), sonst Vollliste vom Server.

Bug 2: "ARIA denkt..."-Indikator erscheint nicht mehr im Chat-Fenster
  Diagnostic-Server hatte fuer RVS-eingehende agent_activity-Events
  keinen Relay an die Browser-Clients. Bridge sendet die Events brav,
  Diagnostic schluckt sie still. Fix: agent_activity vom RVS an
  Browser broadcasten (mit dem gleichen settled-window-Schutz wie
  beim alten Gateway-Pfad — Trailing-Events nach chat:final werden
  weiter ignoriert).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-13 01:55:08 +02:00
parent df60bb6d74
commit 351c58e88e
2 changed files with 27 additions and 1 deletions
+12 -1
View File
@@ -4120,7 +4120,18 @@
try {
const r = await fetch('/api/brain/memory/delete/' + encodeURIComponent(id), { method: 'DELETE' });
if (!r.ok) throw new Error('HTTP ' + r.status);
loadBrainMemoryList();
// Lokalen Cache + Such-State bereinigen damit die Liste nicht den Geist
// des geloeschten Eintrags weiterzeigt.
delete brainMemoryCache[id];
if (Array.isArray(brainSearchIds)) {
brainSearchIds = brainSearchIds.filter(x => x !== id);
}
// Re-Render: bei aktiver Suche neu suchen (Filter respektieren),
// sonst die Vollliste neu vom Server holen.
const which = (typeof brainSearchActive === 'function') ? brainSearchActive() : null;
if (which === 'single') await runBrainSearch();
else if (which === 'advanced') await runAdvancedSearch();
else await loadBrainMemoryList();
loadBrainStatus();
} catch (e) {
alert('Löschen fehlgeschlagen: ' + e.message);