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:
@@ -321,6 +321,12 @@ onMounted(async () => {
|
|||||||
fileChanges.value = [`[${ts()}] ${e.payload}`, ...fileChanges.value].slice(0, 50);
|
fileChanges.value = [`[${ts()}] ${e.payload}`, ...fileChanges.value].slice(0, 50);
|
||||||
});
|
});
|
||||||
unlistenTrigger = await listen("trigger-sync", () => syncNow());
|
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) => {
|
unlistenCloudOpen = await listen("open-cloud-file", async (e) => {
|
||||||
const cloudPath = e.payload;
|
const cloudPath = e.payload;
|
||||||
syncLog.value = [`[${ts()}] Oeffne: ${cloudPath}`, ...syncLog.value].slice(0, 200);
|
syncLog.value = [`[${ts()}] Oeffne: ${cloudPath}`, ...syncLog.value].slice(0, 200);
|
||||||
|
|||||||
Reference in New Issue
Block a user