Show manual sync-conflict fix instructions in-app instead of deep-linking to Help

NSWorkspace.shared.open() silently drops #fragment anchors on file://
URLs, so "Fix It Myself" always landed on the Help Book index instead
of the relevant section. Replaced with GitSyncManualFixSheet, an
in-app sheet showing the real conflicting filenames and sync path.

Also indent conversation rows one level deeper than their containing
folder in the sidebar and conversation list, so nesting is visible on
the conversations themselves and not just the folder headers.
This commit is contained in:
2026-08-04 12:21:15 +02:00
parent 125e1698f7
commit e2284aba2b
10 changed files with 556 additions and 14 deletions
@@ -716,6 +716,10 @@ The weather is sunny today!
<div class="example">
<pre><code>~/Library/Application Support/oAI/sync/
├── README.md # Warning about manual edits
├── folders.json # Your folder structure (auto-managed, don't edit)
├── notes.json # Per-conversation notes index (auto-managed, don't edit)
├── notes/ # Per-conversation notes files
│ └── ...
└── conversations/
├── my-first-chat.md
├── python-help.md
@@ -773,6 +777,16 @@ The weather is sunny today!
<li>Check footer for detailed error message</li>
</ul>
<h4 id="git-sync-troubleshooting-untracked">"Untracked Working Tree Files Would Be Overwritten"</h4>
<p>This can happen the first time a machine syncs after Confab adds a new file to the sync repository (like <code>folders.json</code> or <code>notes.json</code>) — if that file gets written locally before this machine has ever pulled it from the remote, git sees it as a leftover, unrelated file blocking the merge.</p>
<p>When Confab detects this specific error, it offers to fix it automatically — a dialog appears with a <strong>"Fix It For Me"</strong> button that removes the leftover local copy and completes the sync, or a <strong>"Fix It Myself"</strong> button if you'd rather do it by hand:</p>
<ol>
<li>Open your sync folder (default: <code>~/Library/Application Support/oAI/sync</code>)</li>
<li>Delete the specific file(s) named in the error message</li>
<li>Open Terminal, <code>cd</code> into that folder, and run <code>git pull --ff-only</code> once</li>
<li>Confab will regenerate the file correctly on its next sync</li>
</ol>
<h4>Merge Conflicts</h4>
<ul>
<li>Stop auto-sync on all but one machine</li>