minmal-file-cloud-email-pim.../clients/desktop
Stefan Hacker 50385faa02 feat: Echtzeit-Sync via SSE + Journal-basierter 3-Wege-Vergleich
Desktop-Client komplett ueberarbeitet nach Nextcloud-Vorbild:
- Persistentes SQLite-Journal (journal.rs) speichert letzten bekannten
  Stand pro Datei - ueberlebt Client-Neustarts (Hauptbug behoben).
- Engine.rs neu: 3-Wege-Vergleich Local <-> Journal <-> Server mit
  sauberer Konflikt-Kopie (inkl. Username + Zeitstempel).
- Loesch-Propagation: Lokal geloeschte Dateien landen im Server-
  Papierkorb des Owners (auch bei Freigaben). Auf dem Server
  geloeschte Dateien werden lokal entfernt.
- Lock-Flow repariert: frischer Token bei jedem Call, Fehler-Feedback.

Echtzeit-Sync:
- Backend: SSE-Endpoint /api/sync/events mit In-Memory-Broadcaster.
  Events bei Create/Update/Delete/Lock/Unlock, Zustellung an Owner
  plus alle User mit Share-Permission.
- Client: persistente SSE-Verbindung mit Auto-Reconnect. Events
  triggern sofortigen Sync (<100ms). 30s-Polling bleibt als
  Fallback fuer Netzwerk-Aussetzer.

Weitere Fixes:
- /api/sync/tree filtert is_trashed=False (Papierkorb wird nicht
  mehr an Clients gesynct).
- Web-GUI: Lock/Unlock-Buttons pro Datei, Admin darf fremde Locks
  zwangsweise loesen. Rename/Delete disabled bei fremdem Lock.
- Lock-Check im Backend bei PUT/DELETE (423 Locked Response).
- Background-Sync nur noch einmal pro Prozess gestartet, liest
  sync_paths pro Iteration neu - add/remove wirkt sofort, kein
  Client-Neustart mehr noetig.
- Watcher werden pro Sync-Pfad individuell verwaltet.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:50:44 +02:00
..
public feat: Desktop Sync Client (Tauri) - Grundgeruest 2026-04-11 23:26:57 +02:00
src feat: Echtzeit-Sync via SSE + Journal-basierter 3-Wege-Vergleich 2026-04-12 09:50:44 +02:00
src-tauri feat: Echtzeit-Sync via SSE + Journal-basierter 3-Wege-Vergleich 2026-04-12 09:50:44 +02:00
.gitignore feat: Desktop Sync Client (Tauri) - Grundgeruest 2026-04-11 23:26:57 +02:00
Dockerfile.build feat: Build-Script + Docker-Build fuer alle Plattformen 2026-04-11 23:29:58 +02:00
README.md feat: Desktop Sync Client (Tauri) - Grundgeruest 2026-04-11 23:26:57 +02:00
index.html feat: Desktop Sync Client (Tauri) - Grundgeruest 2026-04-11 23:26:57 +02:00
package-lock.json fix: fehlende npm-Dependencies fuer Tauri-Plugins (dialog, notification) 2026-04-12 00:40:25 +02:00
package.json fix: fehlende npm-Dependencies fuer Tauri-Plugins (dialog, notification) 2026-04-12 00:40:25 +02:00
vite.config.js feat: Desktop Sync Client (Tauri) - Grundgeruest 2026-04-11 23:26:57 +02:00

README.md

Tauri + Vue 3

This template should help get you started developing with Tauri + Vue 3 in Vite. The template uses Vue 3 <script setup> SFCs, check out the script setup docs to learn more.