firstsun-dev_git-files-sync/tests/logic
Claude 76405cf2f7
fix(sync): fall back to adapter read for symlinked files
Reading a symlinked file via Obsidian's cached vault.read(TFile) can fail
(notably on mobile), which broke both refresh and push: the status check
swallowed the error and mislabeled the file as 'unsynced', so the user
saw a Push button that then failed re-reading the symlink.

Fall back to vault.adapter.read/readBinary(path) when vault.read throws,
in both the status view and the sync manager. Also stop silently
swallowing the status-check error so the real cause is logged.

Add a regression test covering the adapter fallback on push.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DwioG4CNKUBuKiZdowLFWe
2026-06-26 06:28:25 +00:00
..
gitignore-manager.test.ts refactor(test): eliminate duplicate code flagged by SonarCloud 2026-05-22 03:52:32 +00:00
sync-manager-batch.test.ts refactor: code quality enhancements for issue #23 2026-05-20 08:56:28 +00:00
sync-manager-binary.test.ts refactor(test): extract shared SyncManager mock setup to reduce duplication 2026-05-22 03:40:45 +00:00
sync-manager-hidden.test.ts refactor(test): extract shared SyncManager mock setup to reduce duplication 2026-05-22 03:40:45 +00:00
sync-manager-mapping.test.ts fix(ui): real-time file status during refresh and unsynced file actions 2026-05-20 08:53:51 +00:00
sync-manager-test-helpers.ts refactor(test): extract shared SyncManager mock setup to reduce duplication 2026-05-22 03:40:45 +00:00
sync-manager.test.ts fix(sync): fall back to adapter read for symlinked files 2026-06-26 06:28:25 +00:00