• v0.6.0 5a90a3a833

    actgadmin released this 2026-07-09 23:41:23 +02:00 | 213 commits to master since this release

    Installation

    obsidian-sync-0.6.0.zip herunterladen, Ordner obsidian-sync/ nach <Vault>/.obsidian/plugins/ entpacken, Obsidian neu laden.

    Das Problem

    Zwei Geraete schreiben app.json, core-plugins.json und community-plugins.json zwangslaeufig unabhaengig voneinander — spaetestens beim ersten Sync eines neuen Geraets. Weil .json als Text gilt, versuchte die Engine einen Zeilen-, dann einen Zeichen-Merge; bei {} gegen drei Einstellungen scheitert beides, und es entstand eine Konfliktkopie. Die half niemandem und verteilte sich, da sie selbst in .obsidian liegt, ueber alle Geraete weiter.

    Die Loesung

    Fuer Dateien unterhalb des Config-Ordners gewinnt bei einem echten Konflikt die neuere Fassung; es entsteht keine Kopie. Notizen behalten die Konfliktkopie — dort waere ein verlorener Edit nicht hinnehmbar, bei einer Liste aktivierter Plugins ist er belanglos.

    „Neuer" vergleicht die lokale Aenderungszeit (SyncAdapter.mtime, neu und optional) mit der mtime des Server-Eintrags. Der Server stempelt diese beim Upload — es sind also zwei Uhren. Bei Gleichstand oder unbekannter lokaler Zeit gewinnt die Serverfassung. Der uebrige Sync entscheidet weiterhin ausschliesslich ueber Hashes und Versionen, nie ueber Zeitstempel.

    SyncResult.resolved zaehlt diese Faelle getrennt von conflicts.

    Aufraeumen

    Bereits vorhandene Konfliktkopien im Config-Ordner werden nicht mehr synchronisiert und koennen von Hand geloescht werden. Ausserhalb des Config-Ordners bleiben Konfliktkopien sichtbar — dort sollen sie gesehen und aufgeloest werden.

    Server

    Unveraendert. Kein Deploy noetig.

    Downloads