fix(app): ARIA-Datei-Anhang erscheint live an der Nachricht, nicht erst nach Seitenwechsel

Die Live-chat-Payload trug keine files — Anhaenge kamen nur als separates
file_from_aria-Event (eigene, teils unsichtbare Bubble). An der Text-Nachricht
tauchte die Datei erst nach einem Seitenwechsel auf (Reload aus chat_backup,
das die files kennt).

- Bridge: files jetzt direkt in der chat-Payload (selbe Struktur wie Backup).
- App: chat-Handler haengt payload.files an die Text-Bubble (wie der Reload-Pfad)
  und entfernt die redundante Solo-file_from_aria-Bubble mit passendem serverPath.
- App: file_from_aria legt keine Doppel-Bubble an, wenn die Datei schon an einer
  Nachricht haengt (Event-Reihenfolge-unabhaengig).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-12 02:01:37 +02:00
co-authored by Claude Opus 4.8
parent becc83d9e3
commit db96258f7d
2 changed files with 49 additions and 4 deletions
+7
View File
@@ -1560,6 +1560,13 @@ class ARIABridge:
"text": display_text,
"sender": "aria",
"messageId": message_id,
# ARIA-Dateien DIREKT an der Chat-Bubble mitschicken — sonst kommt
# der Anhang live nur als separates file_from_aria-Event (eigene
# Bubble) und taucht an der Nachricht erst nach einem Seiten-
# wechsel auf (Reload aus chat_backup, das die files kennt). Selbe
# Struktur wie im Backup, damit App live == Reload rendert.
"files": [{"serverPath": f["serverPath"], "name": f["name"],
"mimeType": f["mimeType"], "size": f["size"]} for f in aria_files],
# backupTs = der ts in chat_backup.jsonl. Wird von Clients als
# Bubble-ID fuer das Mülltonne-Loeschen verwendet (delete_message_request).
"backupTs": assistant_backup_ts,