Skip to content

Conversation

@crazytonyli
Copy link
Contributor

Description

The crash happens because the first screen and the second screen both have a rightBarButtonItem, whose action calls the same function (eventually). When double-tapping the "Skip" button, the first tap is handled by the first screen SiteIntentViewController, and the second tap is handled by the second screen SiteDesignContentCollectionViewController. Both bar button items trigger the same code: WizardNavigation.nextStep. The internal step of WizardNavigation is not updated because the view controllers are still transitioning.

This PR fixes the issue by disabling the second Skip button during the push animation.

Testing instructions

Enter the WordPress.com site creation flow, and double-tap the Skip button.

@crazytonyli crazytonyli added this to the 26.6 milestone Dec 11, 2025
@crazytonyli crazytonyli requested a review from kean December 11, 2025 10:25
@sonarqubecloud
Copy link

@wpmobilebot
Copy link
Contributor

App Icon📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack
ConfigurationRelease-Alpha
Build Number30129
VersionPR #25057
Bundle IDcom.jetpack.alpha
Commit8722d52
Installation URL21o9kr1bm55d0
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot
Copy link
Contributor

App Icon📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress
ConfigurationRelease-Alpha
Build Number30129
VersionPR #25057
Bundle IDorg.wordpress.alpha
Commit8722d52
Installation URL28040cqndn7v8
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

fetchSiteDesigns()

// Disable the button temporarily during the transition animation.
navigationItem.rightBarButtonItem?.isEnabled = false
Copy link
Contributor

Choose a reason for hiding this comment

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

Are there different ways to address it? It seems like a fix for a symptom rather than the root cause.

Copy link
Contributor Author

@crazytonyli crazytonyli Dec 16, 2025

Choose a reason for hiding this comment

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

I think it depends on what you want to do when the user double-taps the skip button: do you actually skip twice, or do you treat it as an accidental interaction where the user intends to skip the first step, not the second one?

IMHO, it'd be a strange UX to allow double tapping the skip button on the first screen to skip the next screen too.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm just not completely sure how it is a problem. When you take a standard navigation controller, it won't let you double-tap to move back.

I'm going to approve, but I'd suggest to drop a reference to the Linear issues with steps to the comment as it's non-standard code.

@crazytonyli crazytonyli added this pull request to the merge queue Dec 17, 2025
Merged via the queue into trunk with commit 0c8716e Dec 17, 2025
28 of 34 checks passed
@crazytonyli crazytonyli deleted the bugfix/CMM-1059-skip-crash branch December 17, 2025 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants