fix: Server-Ansicht aktualisiert Lock-Status sofort via SSE

Die Server-Dateiliste im Client wartete bisher auf einen abgeschlossenen
Sync-Durchlauf, bevor Lock-Aenderungen anderer Nutzer sichtbar wurden.
Ausloeser von Events ohne Datei-Download (reine Lock/Unlock-Events)
landeten teils gar nicht in der UI.

Frontend hoert jetzt direkt auf das sse-event vom Backend und ruft
loadFileTree + loadLocalFiles auf - damit Lock-Icons im Server-Tree
in Echtzeit erscheinen/verschwinden.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stefan Hacker 2026-04-12 11:18:34 +02:00
parent 6c9daa5783
commit 8c7a14c38f
1 changed files with 6 additions and 0 deletions

View File

@ -321,6 +321,12 @@ onMounted(async () => {
fileChanges.value = [`[${ts()}] ${e.payload}`, ...fileChanges.value].slice(0, 50);
});
unlistenTrigger = await listen("trigger-sync", () => syncNow());
// Server-Push: bei jedem File-Event Server-Tree + Lokale Liste neu laden,
// damit Lock-Status, neue/geloeschte Dateien sofort angezeigt werden.
await listen("sse-event", () => {
loadFileTree();
loadLocalFiles(null);
});
unlistenCloudOpen = await listen("open-cloud-file", async (e) => {
const cloudPath = e.payload;
syncLog.value = [`[${ts()}] Oeffne: ${cloudPath}`, ...syncLog.value].slice(0, 200);