feat: Desktop Sync Client (Tauri) - Grundgeruest
Tauri 2 Desktop-Client mit:
Rust-Backend:
- MiniCloudApi: Login, Token-Refresh, Upload, Download, Sync-Tree,
Sync-Changes, File-Locking (Lock/Unlock/Heartbeat)
- SyncEngine: Full-Sync (Server-Tree vs. lokales Dateisystem),
Delta-Sync (nur Aenderungen seit letztem Sync), bidirektionaler
Abgleich mit SHA-256 Checksummen, Ordner-Erstellung,
Lock-Status-Pruefung vor Upload, Konflikt-Erkennung
- FileWatcher: Filesystem-Watcher (notify crate) fuer Echtzeit-
Erkennung lokaler Aenderungen, filtert temp/hidden files
Vue-Frontend:
- Login-Screen: Server-URL, Benutzername, Passwort
- Main-Screen: Sync-Ordner setzen, Sync starten, Dateiliste mit
Lock-Status, Sync-Protokoll
- Dark-Mode Support
Tauri-Kommandos: login, set_sync_dir, start_sync, delta_sync,
get_status, get_file_tree
Zum Bauen (Linux):
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev
cd clients/desktop && npm install && npm run tauri build
Windows/Mac: Tauri Voraussetzungen installieren, dann gleicher Befehl
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>