diff --git a/client/my-sites/migrate/section-migrate.jsx b/client/my-sites/migrate/section-migrate.jsx index 4965faadbe0900..495075626807a0 100644 --- a/client/my-sites/migrate/section-migrate.jsx +++ b/client/my-sites/migrate/section-migrate.jsx @@ -98,6 +98,8 @@ class SectionMigrate extends Component { return; } + this.setMigrationState( { migrationStatus: 'backing-up' } ); + wpcom .startMigration( sourceSiteId, targetSiteId ) .then( () => this.updateFromAPI() ) diff --git a/client/state/selectors/is-site-migration-in-progress.js b/client/state/selectors/is-site-migration-in-progress.js index 4b40fbe651eb7b..b4f8c6928abfca 100644 --- a/client/state/selectors/is-site-migration-in-progress.js +++ b/client/state/selectors/is-site-migration-in-progress.js @@ -5,7 +5,10 @@ import getSiteMigrationStatus from 'state/selectors/get-site-migration-status'; /** - * Returns true if the site is the target of an active migration + * Returns true if the site is the target of an active migration. + * Possible migration statuses: inactive, backing-up, restoring, error, done. + * We regard 'error' as 'in progress' – the user needs to dismiss that + * state. * * @param {object} state Global state tree * @param {object} siteId Site ID @@ -14,5 +17,5 @@ import getSiteMigrationStatus from 'state/selectors/get-site-migration-status'; export default function isSiteMigrationInProgress( state, siteId ) { const migrationStatus = getSiteMigrationStatus( state, siteId ); - return migrationStatus !== 'inactive'; + return migrationStatus !== 'inactive' && migrationStatus !== 'done'; }