-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix a crash when double-tap the Skip button in the site creation flow #25057
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
|
| App Name | Jetpack | |
| Configuration | Release-Alpha | |
| Build Number | 30129 | |
| Version | PR #25057 | |
| Bundle ID | com.jetpack.alpha | |
| Commit | 8722d52 | |
| Installation URL | 21o9kr1bm55d0 |
|
| App Name | WordPress | |
| Configuration | Release-Alpha | |
| Build Number | 30129 | |
| Version | PR #25057 | |
| Bundle ID | org.wordpress.alpha | |
| Commit | 8722d52 | |
| Installation URL | 28040cqndn7v8 |
| fetchSiteDesigns() | ||
|
|
||
| // Disable the button temporarily during the transition animation. | ||
| navigationItem.rightBarButtonItem?.isEnabled = false |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.





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 screenSiteIntentViewController, and the second tap is handled by the second screenSiteDesignContentCollectionViewController. Both bar button items trigger the same code:WizardNavigation.nextStep. The internal step ofWizardNavigationis 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.