Agentic UI: Port selective sync - #4377
Conversation
80de4b9 to
5a2808d
Compare
📊 Performance Test ResultsComparing 5949654 vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
katinthehatsite
left a comment
There was a problem hiding this comment.
What happens if I start the sync process in the new UI, then switch to the classic UI? So far, I am seeing no sync progress in the classic UI in that case and I can start again the sync from there? I think I expected the sync progress to be reflected even if I change between the UI mid-process. What do you think?
katinthehatsite
left a comment
There was a problem hiding this comment.
Another observation is that I was able to delete the local site mid-sync e.g. while pushing. Would the delete option be disabled when the push is happening to prevent sync errors?
This PR just covers porting sync functionality verbatim, so I would move this to a separate PR. |
Hm, I tested it before and it was reflected in Classic UI. Thanks, I will double check it. |
4c755e9 to
3554906
Compare
| '--options', | ||
| ( options?.optionsToSync?.length ? options.optionsToSync : [ 'all' ] ).join( ',' ), | ||
| ...( options?.includePathList?.length | ||
| ? [ '--include-path-list', options.includePathList.join( ',' ) ] |
There was a problem hiding this comment.
Backup node ids can contain commas — the rewind ls returns composite ids for themes (cjE6,ZjE6Lw==) and plugins (cjI6,ZjI6Lw==). Joining them here and splitting on , in the CLI flag corrupts the selection: pulling mu-plugins + themes + plugins sent 5 fragments instead of 3 ids to initiateBackup (verified against the real CLI argv). Classic sends this list as a JSON array directly to wpcom, so only this new desktop→CLI hop is affected.
3554906 to
152fcb9
Compare
bcotrim
left a comment
There was a problem hiding this comment.
LGTM, thanks for making the change 👍
I pushed another small fix so we can merge







Related issues
How AI was used in this PR
Claude Code assisted with mapping the legacy selective-sync implementation via a few iterations. All changes were reviewed and visually verified by hand in both color schemes.
Proposed Changes
As agreed in STU-1946, the Agentic UI adopts the classic UI's Selective Sync as-is for the beta, so both UIs offer the same sync capabilities.
To keep review easy, the legacy modules were intentionally copied verbatim into
apps/ui/src/components/selective-sync/.Note, there is an existing issue in
trunk- UI says that the Push is finished, hovewer it isn't. This issue is not covered in this PR - DOTPROD-170.Testing Instructions