diff --git a/bridge/aria_bridge.py b/bridge/aria_bridge.py index 4cb292a..db688a0 100644 --- a/bridge/aria_bridge.py +++ b/bridge/aria_bridge.py @@ -1228,6 +1228,10 @@ class ARIABridge: server_path = f.get("serverPath") if turn_pid and server_path: self._tag_file_to_project(server_path, turn_pid) + # projectId mitschicken, damit App+Diagnostic die Datei-Bubble dem + # richtigen Kontext zuordnen (sonst faellt sie im Diagnostic-Focus- + # Filter durch = wird nur im Hauptchat angezeigt). + f["projectId"] = turn_pid await self._broadcast_aria_file(f) # Bei fehlenden Files: User informieren (sonst sieht er nur stille # Verluste — ARIA hat den Marker hingeschrieben aber das File nicht diff --git a/diagnostic/index.html b/diagnostic/index.html index 93790fe..7ddf498 100644 --- a/diagnostic/index.html +++ b/diagnostic/index.html @@ -1910,7 +1910,7 @@ const m = msg.messages[mi]; try { if (m.type === 'aria_file') { - addAriaFile({ serverPath: m.serverPath, name: m.name, mimeType: m.mimeType, size: m.size, deleted: m.deleted }); + addAriaFile({ serverPath: m.serverPath, name: m.name, mimeType: m.mimeType, size: m.size, deleted: m.deleted, projectId: m.projectId }); continue; } const cleaned = (m.text || '').replace(/\[FILE:\s*\/shared\/uploads\/[^\]]+\]/gi, '').replace(/\n{3,}/g, '\n\n').trim(); @@ -2343,6 +2343,15 @@ const el = document.createElement('div'); el.className = 'chat-msg received'; el.dataset.ariaFilePath = serverPath; + // Kontext-Zuordnung fuer den Focus-Filter — ohne das wurde die + // Datei-Bubble beim Reload ausgeblendet wenn ein Projekt fokussiert war. + const filePid = p.projectId || ''; + el.dataset.projectId = filePid; + // Beim Live-Anhaengen den aktuellen Focus respektieren (wie addChat), + // sonst blitzt eine Projekt-Datei kurz im Hauptchat auf. + if (typeof focusedContextId === 'string' && filePid !== focusedContextId) { + el.style.display = 'none'; + } if (deleted) el.dataset.deleted = '1'; el.innerHTML = html; box.appendChild(el);