Skip to content

refactor: separate sync domain pipeline - #127

Merged
ClaudiaFang merged 4 commits into
mainfrom
refactor/sync-domain-pipeline
Aug 20, 2026
Merged

refactor: separate sync domain pipeline#127
ClaudiaFang merged 4 commits into
mainfrom
refactor/sync-domain-pipeline

Conversation

@ClaudiaFang

Copy link
Copy Markdown
Member

Summary

  • reduce SyncStatusView to an 11.5 KB composition view with extracted state, pure selectors, renderer, controller, navigator, and operations
  • reduce SyncManager to a 13.7 KB facade backed by scanner, planner, push/pull coordinators, focused executors, metadata, conflict, refresh, workspace, and diff services
  • establish a SyncWorkspace UI/domain boundary so sync-status UI no longer depends on provider trees, provider settings, or vault mutation helpers
  • preserve the historical public API and observable sync behavior
  • add focused unit, integration, regression, desktop-path, and mobile-path safety coverage

Scope

Architecture refactor and regression safety only. This deliberately excludes the VS Code-like source-control redesign, diff UI redesign, provider redesign, and sync semantic changes.

Validation

  • npx eslint .
  • npm run build including Obsidian 1.11 compatibility
  • npx vitest run — 54 files / 598 tests
  • npm run test:e2e -- --provider gitea — 2 files / 14 tests with container cleanup
  • git diff --check

Remaining manual verification

Real Obsidian Desktop and Mobile smoke paths remain to be performed before marking this PR ready for review.

@sonarqubecloud

Copy link
Copy Markdown

@ClaudiaFang
ClaudiaFang marked this pull request as ready for review August 20, 2026 06:33
@ClaudiaFang
ClaudiaFang merged commit d367d66 into main Aug 20, 2026
21 of 24 checks passed
@ClaudiaFang
ClaudiaFang deleted the refactor/sync-domain-pipeline branch August 20, 2026 06:33
@ClaudiaFang

Copy link
Copy Markdown
Member Author

🎉 This PR is included in version 1.5.9 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant