Changes proposed in this Pull Request
This PR introduces a time limit for automated WooCommerce store setup in /woocommerce-installation/{site}
. Currently, if there is a problem during setup process, the loading UI is displayed indefinitely even though the setup process has stopped #50833.
This serves mainly as an interim solution for a better UX while we’re debugging the heisenbug. Upon stalling the setup process, a “contact support” screen should be displayed. A new track calypso_woocommerce_setup_timeout
is also added with the component’s state to capture the number of users affected and help further debugging.
The timer is set dynamically, and will reset as the setup progresses:
- Waiting for plugin list – 41 seconds
- Waiting plugin data – 41 seconds
- Installing a plugin – 15 seconds
- Activating a plugin – 15 seconds
Testing instructions
- Run calypso in your development environment.
- Manually induce stalling:
- Open up
client/my-sites/woocommerce/dashboard/required-plugins-install-view.jsx
- Search for
this.props.installPlugin( site.ID, plugin );
.
- Comment out the line and wait for calypso to rebuild.
- Create a new business site.
- Install
Hello Dolly
plugin to turn it into Atomic site.
- Navigate to
/woocommerce-installation/{your new site}
.
- Click on
Set up my store!
.
- Wait for 25 seconds, and observe “contact support” screen appears.
Screenshot
Unfortunately, no screenshots were provided by the developer.