2.17.0
The Sync Center speaks one language
The main list, the remote panes, and the run reports were redesigned around a single grammar: one item, one row, one sentence that says exactly what Apply or Capture would do — Installs from the community catalog · turns on · applies settings, Records version 2.2.3, or simply — No settings yet. What you read is what a run will execute; counts, filters, and the footer all derive from the same sentence, so they can never disagree.
Changed
- One item, one row. A plugin's companion files and folders fold into the plugin's own row — its sentence and file list cover the whole family. The main list groups into four sections (Obsidian, Core plugins, Community plugins — beta installs included — and your custom folders), each with its own select-all and count.
- Rows state their consequence, not their state. Direction glyphs (
↓apply,↑capture) pair with a verb sentence; chips carry the facts (not installed here,desktop only,stays off,encrypted,your rule). Items with nothing anywhere readNo settings yetand fold away; items your own Settings-sync rule excludes sayNot synced on this deviceinstead of masquerading as "In sync". - Conflicts resolve in place. An item changed on both sides offers
Use theirs ↓/Keep mine ↑on its card — no more choosing a global direction and hoping. - Your other devices' panes speak the same grammar. A remote pane renders the same rows, the same folded companions, and summarizes on/off differences per plugin by display name. Expanded folds survive refreshes.
- A newer installed version says what capture records. A plugin whose files are in sync but whose installed version is ahead of the store reads
Records version X, and its card explains: capture records the newer version so your other devices can update. - Run reports separate failure from notes. Only real failures show the issue-toned
✗ Applied with N issuesstrip; a successful run with remarks readsApplied · N notes, with notes in amber — a version that fell forward during install is a note, never a fake failure. On/off changes that need an app reload restore the Reload prompt reliably. - A brand-new device gets honest guidance. With no store on the device yet, the pane says so and points at Pull (with an Open-remote shortcut) instead of offering to adopt a configuration that isn't there. Adopt imports the store's full self-configuration — including which plugins are beta installs.
- Items keep their names everywhere. Display names are recorded in the store and heal older stores automatically, so your other devices' panes and on/off summaries show real names instead of plugin ids.
- Partial on/off staging writes exactly what you selected. Checking some of a section's rows applies or captures only those plugins' on/off state; force-on/off choices scope to the staged set.
- Menus only offer what works. Per-key-rule items no longer show a whole-file scope menu whose choice was silently discarded; empty sections drop their dead select-all checkbox; every control either takes effect or doesn't appear.
Fixed
- Unchanged encrypted fields now keep their stored envelopes byte-for-byte: capture no longer rewrites every secret on every run, and diff previews stop flagging unchanged encrypted values as changes — the preview shows exactly what capture would write.
- Full-list rendering is about 3× faster, and expanding or collapsing sections and folds no longer repaints the whole panel.
- The encrypted badge is a themed lock icon; the panel is emoji-free again.
Node suite at 1212 tests.