Skip to content

Add flow to create a new site from remote site - #1997

Merged
sejas merged 18 commits into
trunkfrom
add/stu-856-add-create-new-site-from-remote
Nov 7, 2025
Merged

Add flow to create a new site from remote site#1997
sejas merged 18 commits into
trunkfrom
add/stu-856-add-create-new-site-from-remote

Conversation

@sejas

@sejas sejas commented Nov 3, 2025

Copy link
Copy Markdown
Member

Related issues

Proposed Changes

  • Add a new flow to create a new site and start pulling immediately.

Testing Instructions

  • Enable the flag streamlineOnboarding from the UI or from CLI env.
  • Click on Add site
  • Notice that there is a new button to Create a new site from remote.
  • Select a remote site and continue with the process
  • Observe that the site is created, goes to the sync tab, it has the remote site connected and starts pulling immediately without user interaction.
create-site-and-start-pulling.mp4

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?
@sejas sejas self-assigned this Nov 3, 2025
@github-actions

github-actions Bot commented Nov 3, 2025

Copy link
Copy Markdown
Contributor

📊 Performance Test Results

Comparing 82ae588 vs trunk

site-editor

Metric trunk 82ae588 Diff Change
load 12127.00 ms 19030.00 ms +6903.00 ms 🔴 56.9%

site-startup

Metric trunk 82ae588 Diff Change
siteCreation 22143.00 ms 25464.00 ms +3321.00 ms 🔴 15.0%
siteStartup 7943.00 ms 6981.00 ms -962.00 ms 🟢 -12.1%

Results are median values from multiple test runs.

Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change

@sejas
sejas marked this pull request as ready for review November 7, 2025 12:08
@sejas
sejas requested review from a team, Copilot, epeicher and katinthehatsite November 7, 2025 12:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a new "Import an existing website" feature that allows users to pull remote sites from WordPress.com or Pressable directly during the add site flow. This streamlines the onboarding process by integrating site sync capabilities into the initial site creation workflow.

Key Changes

  • Added a new /pullRemote navigation flow with two steps: site selection and site details configuration
  • Integrated sync functionality into the site creation process, automatically connecting and pulling from the selected remote site
  • Extended the add site workflow to support the new remote import option alongside existing create, blueprint, and backup flows

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/modules/sync/components/sync-sites-modal-selector.tsx Exported ListSites component for reuse and added text color class for improved styling
src/modules/add-site/tests/add-site.test.tsx Added mock setup for new sync-related hooks used in the add site flow
src/modules/add-site/index.tsx Added /pullRemote routes, handlers, and state management for remote site selection
src/modules/add-site/hooks/use-stepper.ts Extended stepper logic to support the new pull remote flow
src/modules/add-site/components/stepper.tsx Added props to support pull remote continue action and validation
src/modules/add-site/components/pull-remote-site.tsx New component providing UI for selecting remote sites to pull, with authentication handling
src/modules/add-site/components/options.tsx Added new "Import an existing website" option button and minor styling adjustments
src/hooks/use-add-site.ts Integrated sync site connection and pull functionality into site creation callback
src/hooks/tests/use-add-site.test.tsx Added test coverage for remote site pull workflow

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@epeicher epeicher left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @sejas, this is a great functionality! I have tested it, and it works as expected. I can create a site from a WP.com site, and the Pull starts automatically.

One suggestion to consider for a follow-up is to add the search box to the list of sites to connect. I assume that is not a common scenario to have that many sites, but I think it would be helpful.

Another suggestion to avoid errors during the import when opening the site or wp-admin is to disable the links, but again, this could be a follow-up only if we think it's helpful.

I have left a minor nit comment, but I think this is ready for merging 🙌 . LGTM! :shipit:

Select site Site creating Site importing Site Imported 🎉
Image Image ImageImage Image
Comment thread src/modules/add-site/hooks/use-stepper.ts Outdated
@sejas
sejas merged commit 10a6f59 into trunk Nov 7, 2025
9 checks passed
@sejas
sejas deleted the add/stu-856-add-create-new-site-from-remote branch November 7, 2025 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants