Một target được cấu hình
Bridge phục vụ một vault, repository và branch được cấu hình tại một thời điểm. Sync do người dùng kích hoạt, không chạy theo lịch hoặc sync-on-save.
Obsidian · GitHub · 2026
Một bridge đồng bộ GitHub bảo thủ cho Obsidian Mobile và desktop, ưu tiên failure rõ ràng và giữ lại trạng thái mơ hồ để review.

1.0.5
Stable release
1.11.4
Obsidian tối thiểu
44
File test
478
Test đã pass
Product boundary
Bridge phục vụ một vault, repository và branch được cấu hình tại một thời điểm. Sync do người dùng kích hoạt, không chạy theo lịch hoặc sync-on-save.
Client dùng requestUrl() và GitHub REST hoặc Git Data API. Plugin tránh chạy Git native trên mobile và không có relay service trung gian.
SecretStorage là PAT backend đang active. Token pattern và token đã cấu hình được redact khỏi error đã sanitize.
Runtime architecture
01
File Vault hiển thị và file user ẩn được adapter enumerate.
02
Local entry, remote blob và state.json trở thành một sync state rõ ràng.
03
Remote change đã verify được áp dụng cùng recovery journal.
04
UnifiedSyncEngine rescan Vault sau Pull.
05
Blob, tree và commit được tạo trên remote base.
06
StorageManager chỉ advance state sau khi check cho phép.
Classifier
LOCAL_ONLYFile local không có remote hoặc baseline entry.
REMOTE_ONLYFile remote không có local hoặc baseline entry.
LOCAL_CHANGEDLocal khác baseline trong khi remote vẫn khớp.
REMOTE_CHANGEDRemote khác baseline trong khi local vẫn khớp.
POTENTIAL_CONFLICTHai phía cùng diverge hoặc không có base dùng được.
UNCHANGEDSHA canonical của local và remote vẫn aligned.
LOCAL_DELETEDLocal đã mất trong khi remote còn baseline content.
REMOTE_DELETEDRemote đã mất trong khi local còn baseline content.
DELETE_CONFLICTMột phía bị xóa trong khi phía kia thay đổi.
DELETEDCả hai phía đều mất và baseline cũ có thể xóa.
Safety model
Pull kiểm tra blob và ghi recovery journal trước khi ghi đè hoặc xóa. Push dùng một commit/ref boundary, force: false và đọc lại ref authoritative trước khi báo thành công.
Blob verification
Recovery journals
Optimistic concurrency
Explicit conflict review
Verification
npm run verifyESLint, typecheck, Vitest và production build trong quality gate.
1.0.5Release tag có release assets được SHA-256 verify và attestation.
Windows + iPhoneManual release-gate acceptance đã ghi nhận cho settings, hidden paths, normal files và restart.
Non-goals
Các giới hạn này là một phần của product boundary, không phải thiếu sót cần che giấu trong portfolio.