Folders and conversation→folder assignments now sync across machines:
- Folder gains updatedAt (v11 migration) to resolve renames/reparents
last-write-wins across machines.
- New folders.json manifest at the sync repo root: folder tree +
conversationId→folderId assignments, imported before conversation
files so new conversations land in the right folder immediately.
- Local folders missing from the manifest are pruned (reparent-safe),
guarded the same way conversation-orphan cleanup already is against
an empty/stale manifest wiping everything.
Three real bugs found and fixed during live multi-machine testing:
- Sidebar never refreshed after Git Sync imported conversations/folders
directly into the database — only reloaded on launch or when the
advanced conversation list closed, with no equivalent hook for the
Settings sheet.
- "Sync Now" exported before pulling, so it could write folders.json
as an untracked file that then collided with the remote's tracked
copy on the next pull ("untracked working tree files would be
overwritten by merge"). Reordered to pull → import → export → push.
- Folder assignment only applied to brand-new conversations during
import, so any conversation already synced to a machine before this
feature existed never got filed — which in practice is every
conversation on a second machine, not an edge case. Now backfills
a folder assignment for existing conversations that aren't filed
anywhere locally yet, without clobbering an already-set folderId.
Also renamed the "Initialize Repository" button to "Clone Repository"
(it's always been a git clone, not new-repo creation) across the UI,
localization catalog, and Help Book.
Confab Help Book
This folder contains the Apple Help Book for Confab.
Adding to Xcode Project
-
Add the help folder to your project:
- In Xcode, right-click on the
Resourcesfolder in the Project Navigator - Select "Add Files to 'Confab'..."
- Select the
Confab.helpfolder - Important: Check "Create folder references" (NOT "Create groups")
- Click "Add"
- In Xcode, right-click on the
-
Configure the help book in build settings:
- Select your Confab target in Xcode
- Go to the "Info" tab
- Add a new key:
CFBundleHelpBookNamewith value:Confab Help - Add another key:
CFBundleHelpBookFolderwith value:Confab.help
-
Build and test:
- Build the app (⌘B)
- Run the app (⌘R)
- Press ⌘? or select Help → Confab Help to open the help
Structure
Confab.help/
├── Contents/
│ ├── Info.plist # Help book metadata
│ └── Resources/
│ └── en.lproj/
│ ├── index.html # Main help page
│ └── styles.css # Stylesheet
└── README.md # This file
Features
- ✅ Comprehensive coverage of all Confab features
- ✅ Searchable via macOS Help menu search
- ✅ Dark mode support
- ✅ Organized by topic with table of contents
- ✅ Keyboard shortcuts reference
- ✅ Command reference with examples
- ✅ Follows Apple Human Interface Guidelines
Customization
To update the help content:
- Edit
Contents/Resources/en.lproj/index.html - Update styles in
Contents/Resources/en.lproj/styles.css - Rebuild the app
Troubleshooting
If help doesn't open:
- Make sure you added the folder as a "folder reference" (blue folder icon in Xcode)
- Check that
CFBundleHelpBookNameandCFBundleHelpBookFolderare set in Info - Clean build folder (⇧⌘K) and rebuild
Adding More Pages
To add additional help pages:
- Create new HTML files in
Contents/Resources/en.lproj/ - Link to them from
index.html - Include proper meta tags for searchability:
<meta name="AppleTitle" content="Page Title"> <meta name="keywords" content="keyword1, keyword2">