diff --git a/README.md b/README.md index 296f02f..a7412f7 100644 --- a/README.md +++ b/README.md @@ -303,11 +303,15 @@ Der Desktop-Client (`clients/desktop/`) synchronisiert Dateien zwischen der Clou - **Virtual Files**: `.cloud`-Platzhalter (0 Bytes), Download erst bei Doppelklick. Kein Speicherverbrauch fuer nicht benoetigte Dateien - **Full Sync**: Alternativ alle Dateien komplett lokal spiegeln (pro Pfad waehlbar) - **Offline-Markierung**: Einzelne Dateien als offline verfuegbar markieren (Rechtsklick im Datei-Browser) -- **Sofort-Sync**: Filesystem-Watcher erkennt lokale Aenderungen sofort (3s Debounce), kein 30s-Polling -- **File Locking**: Automatisches Ein-/Auschecken mit Heartbeat +- **Sofort-Sync**: Filesystem-Watcher erkennt lokale Aenderungen sofort (3s Debounce), kein Polling +- **Intelligenter Sync**: Checksum-Tracking erkennt wer sich geaendert hat (Server oder Lokal) +- **Konflikt-Erkennung**: Bei gleichzeitiger Aenderung wird eine Konflikt-Kopie erstellt +- **File Locking**: Automatisches Ein-/Auschecken mit Heartbeat, Auto-Unlock bei Datei-Schliessung - **System-Tray**: Minimiert in den Tray statt zu beenden, Doppelklick oeffnet Fenster +- **Minimiert starten**: Optional direkt im Tray starten (Checkbox in Einstellungen) - **Auto-Login**: Zugangsdaten und Sync-Pfade bleiben nach Neustart/Update erhalten - **Terminalserver**: Pro User eine eigene Instanz, keine Konflikte zwischen Benutzern +- **.cloud Datei-Handler**: Doppelklick im Explorer oeffnet ueber den Client ### Terminalserver-Verhalten @@ -329,6 +333,19 @@ Der Desktop-Client (`clients/desktop/`) synchronisiert Dateien zwischen der Clou | Upload | Neue lokale Dateien werden hochgeladen | Bidirektionaler Sync | | Empfehlung | Grosse Datenmengen, Laptops | Kleine Ordner, immer offline noetig | +### Sync-Logik (Checksum-Tracking) + +Der Client merkt sich den Checksum jeder Datei beim letzten Sync. Beim naechsten Sync wird verglichen wer sich geaendert hat: + +| Lokal geaendert | Server geaendert | Aktion | +|-----------------|------------------|--------| +| Nein | Ja | **Server -> Lokal** (Download) | +| Ja | Nein | **Lokal -> Server** (Upload) | +| Ja | Ja | **Konflikt**: Lokale Datei wird zu `Datei (Konflikt).txt`, Server-Version wird heruntergeladen | +| Nein | Nein | Nichts (identisch) | + +Beim ersten Sync (kein gespeicherter Checksum) gewinnt immer der Server. + ### Bauen ```bash