fix(chat-share): Workspace-Änderungen geteilter Chats gelangen nicht auf den anderen Rechner #326
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/Iris#326
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund
Eine Notiz im Workspace eines geteilten Chats (grüner Daumen) wurde auf dem Mac-VM-Server im Seitenpanel dupliziert und bearbeitet. Nach manuellem Sync (erst VM, dann Mac Studio) kam die Kopie auf dem Studio nicht an.
Ursache (im Code belegt)
ChatShareManager.exportIfSharedläuft nur nach Jobende (AgentJob.swift, Status.idle) und beim Umbenennen. Schreiben, Duplizieren, Verschieben, Umbenennen oder Löschen von Workspace-Dateien über/file/*undPOST /vault/filelöst keinen Export aus; die Kopie bleibt auf dem Rechner, der sie angelegt hat.ChatShareFiles.digestbildet die Prüfsumme nur auschat-manifest.jsonundmessages.json;importAllüberspringt bei gleicher Prüfsumme. Eine reine Workspace-Änderung wird beim Import nie erkannt, selbst wenn sie im Vault liegt.Fix
chat_share.py(Gegenstück iris/iris-linux-server, siehe Verweis unten).Hinweis
Einmalig nach dem Update weicht die gespeicherte Prüfsumme von Chats mit Workspace ab; der nächste Import liest diese Chats einmal neu aus dem Vault ein.
PR #327 gemergt: fix(chat-share): Workspace-Änderungen geteilter Chats exportieren und importieren (iris/Iris#326)
http://docker:3000/iris/Iris/pulls/327
Commits:
Stand
Befund: Eine auf der Mac-VM duplizierte Notiz im Workspace eines geteilten Chats kam auf dem Mac Studio nicht an. Zwei Lücken: (1) Export nur nach Jobende und Umbenennen, nicht nach Datei-Routen; (2)
ChatShareFiles.digestkannte den Workspace nicht, der Import übersprang den Chat bei gleichem Verlauf.Geändert:
ChatShareFiles.digestenthält die Workspace-Dateiliste (relativer Pfad, Größe, SHA-1 bei Dateien ≤ 256 KiB, keine Änderungszeiten). Ohne Workspace-Dateien bleibt die Prüfsumme die alte.ChatShareManager.workspaceMayHaveChanged()(entprellt, 5 s) exportiert jeden geteilten Chat, dessen Workspace vom Vault-Stand abweicht und dessen Job nicht läuft. Aufgerufen von/file/{copy,delete,rename,mkdir,move,upload}undPOST /vault/fileim Mac-Server.Geprüft:
scripts/test-vault-sync-core.sh: 300 Prüfungen, 0 Fehler (neu: neue/geänderte/gelöschte Datei ändert die Prüfsumme, Änderungszeit allein nicht,workspaceDiffers).Nicht geprüft: Kein Xcode-Build der App (kein
xcodebuildim Terminal),ChatShareManager/IrisRemoteServeralso nicht übersetzt. Nicht zwischen zwei echten Rechnern ausprobiert (Mac-VM war per SSH nicht erreichbar). Der Befund zur VM stammt aus dem Code und dem Zustand auf dem Studio.Grenzen / offen:
copyWorkspaceItemskopiert nur); nicht Teil dieses Issues.PR #153 gemergt: docs(wire): geteilte Chats — Export bei Workspace-Änderung, Prüfsumme mit Workspace-Dateiliste (iris/Iris#326)
http://docker:3000/alf/2ndbrain/pulls/153
Commits: