- Use FileSystemAdapter.list() recursively to discover hidden files (e.g. .claude)
- Fix ensureParentDirs to use adapter.mkdir() for hidden directory creation
- Expand BINARY_EXTENSIONS with modern image, audio, video, archive, and design formats
- Exclude .agents/** from ESLint to prevent project-service parse errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Update getFile to return empty content and sha on 404
- Use presence of sha to determine if push should be POST or PUT
- Fix test setup for Obsidian TFile mock
- Handle ESLint and TypeScript issues in tests and sync manager
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Implement conflict detection in pushFile and pullFile using SHA comparison.
- Use SyncConflictModal to prompt users for manual resolution ('Use local' or 'Use remote').
- Added unit tests in sync-manager.test.ts to verify conflict handling logic.
- Fixed linting issues related to unhandled promises and mock type safety.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>