Skip to content

Unify site launch celebration modal#109896

Merged
zaguiini merged 16 commits intotrunkfrom
datsci-1228-maintain-replace-celebrate-launch-modal
Apr 8, 2026
Merged

Unify site launch celebration modal#109896
zaguiini merged 16 commits intotrunkfrom
datsci-1228-maintain-replace-celebrate-launch-modal

Conversation

@zaguiini
Copy link
Copy Markdown
Contributor

@zaguiini zaguiini commented Apr 8, 2026

Closes DATSCI-1228.

Proposed Changes

Abstracts the site launch celebration (Calypso & MSD) into a single modal implemented within MSD for easier maintenance. Almost no changes were necessary to the MSD modal; it was a matter of replacing the usage with a wrapper component.

The heavier changes are within Calypso. We had a couple of problems:

  1. We rendered multiple instances of the modal
  2. Launching a site from the /themes/%s page by clicking the masterbar did not open the modal
  3. Unrelated but also fixed: launching from the masterbar should send the user back to where they left off

To fix all problems, we had to hoist the <CelebrationModal /> instantiation as high as possible, even higher than the masterbar, so it's now included within the layout.

That would mean we'd load the modal for every Calypso request, but we implemented a guard mechanism that checks whether the site the user is browsing (or last browsed) is unlaunched, or whether the URL includes the celebrateLaunch=true param, so we only load the modal chunk when needed.

Testing Instructions

Test cases

Modify client/layout/masterbar/masterbar-launch-button.tsx and client/my-sites/customer-home/cards/launchpad/pre-launch.tsx so it loads the calypso_launch_button_experiment_test_20260319_4 experiment.

Don't forget to clear local storage to get the most up-to-date value coming from Explat.

Assign yourself to the variations below using the bookmarklet, then follow the instructions.

  • Launch a site in the gated_site_launch experience, and you should see the celebration modal when you're redirected back
  • Launch a site in the ungated_site_launch experience, and you should see the celebration modal immediately after launching

Test instances

Masterbar

In Calypso and Calypso Dashboard, after selecting a site.

Pre-launch Launchpad in Calypso My Home

Enter /home/%s with an unlaunched site.

Focused Launchpad

We have it disabled, so you'll need to hardcode true here: 3ae7f-pb

@zaguiini zaguiini self-assigned this Apr 8, 2026
@zaguiini zaguiini requested a review from a team as a code owner April 8, 2026 18:32
@matticbot matticbot added [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. labels Apr 8, 2026
@zaguiini zaguiini requested a review from a team April 8, 2026 18:32
@matticbot
Copy link
Copy Markdown
Contributor

matticbot commented Apr 8, 2026

This PR modifies the release build for the following Calypso Apps:

For info about this notification, see here: PCYsg-OT6-p2

  • blaze-dashboard
  • help-center
  • odyssey-stats

To test WordPress.com changes, run install-plugin.sh $pluginSlug datsci-1228-maintain-replace-celebrate-launch-modal on your sandbox.

@zaguiini zaguiini force-pushed the datsci-1228-maintain-replace-celebrate-launch-modal branch from 5c912cc to 373d161 Compare April 8, 2026 21:15
@zaguiini zaguiini changed the title Deduplicate site launch celebration modal between MSD and Calypso Unify site launch celebration modal between MSD and Calypso Apr 8, 2026
@zaguiini zaguiini changed the title Unify site launch celebration modal between MSD and Calypso Unify site launch celebration modal Apr 8, 2026
@zaguiini zaguiini merged commit 39275f0 into trunk Apr 8, 2026
17 of 18 checks passed
@zaguiini zaguiini deleted the datsci-1228-maintain-replace-celebrate-launch-modal branch April 8, 2026 22:14
@github-actions github-actions bot removed the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Apr 8, 2026
as={ Button }
variant="primary"
disabled={ isLoading || launchSiteMutation.isPending }
isBusy={ launchSiteMutation.isPending }
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.

I think this changed caused a console warning. It's flowing through to the DOM element.

Image

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants