Closed jaclync closed 3 years ago
I tested and found one issue:
When I try to log in with an Apple ID that isn't connected to a WordPress.com account, and the email doesn't match a WordPress.com account email (so there's no related WordPress.com account at all — I'd need a new account) the login silently fails.
I can see that a new WordPress.com account was created behind the scenes, but I'm not logged in to the new account in the app — the spinner just disappears and I'm left on the prologue screen.
I don't see any informative errors in the console when that happens, only a couple stats-related errors:
⚠️ Could not convert WPAnalyticsStat with value: 45
⚠️ Could not convert WPAnalyticsStat with value: 443
Steps to reproduce:
Log In
.Continue with Apple
.Another small comment, just subjective feedback:
On the empty stores screen, the button says "Connect your app with Jetpack." I don't think of it as "my app" in this context. Since the text above the button says "Unable to find WooCommerce stores connected to your account" would it make sense to say "Connect your store with Jetpack" (as in "connect your store to your account")? Alternately, maybe it could say "Connect to the app with Jetpack"?
I can also confirm that I tested the following scenarios with expected results:
You can trigger an installable build for these changes by visiting CircleCI here.
You can trigger optional UI/connected tests for these changes by visiting CircleCI here.
Nice catch, @rachelmcr! I've updated the PR to show the site picker for newly signed up users. It's a bit of a hack because the Authenticator normally synchronizes credentials after creating the wpcom account, but not for us in SIWA. Our sync code is not called after signup, so I force the call between signup and showing the site list picker.
Thanks a lot for testing SIWA so thoroughly @rachelmcr! Great catch on the first-time SIWA scenario, I actually saw it once but couldn't reproduce it after I disconnected the app from my Apple ID (I was missing your steps 1 and 2 since a WP.com was already created).
I just tested Aaron's change and it worked and created a new WP.com account after I updated the email of the previous WP.com account associated with the Apple ID. I also tried deleting my WP.com account with the private Apple email but that didn't seem to work (SIWA still linked to that deleted WP.com account for me to enter the password). This is probably an edge case 😅
Also thanks for the feedback on the empty stores screen! "Connect your store with Jetpack" does sound more clear, I updated the copy and screenshots in the PR description.
@woocommerce/ios-developers would any of you take a look at the WPAuthenticator PR first so I can wrap up there and focus on the PR here?
Thank you for working on this, Jaclyn! 🙏
I reviewed https://github.com/wordpress-mobile/WordPressAuthenticator-iOS/pull/373 and that looks good to me. I assume we will be reviewing this draft PR later, right? I noticed that there are some design issues in dark mode that we'd probably need to fix.
Tested:
⚠️ PSA: I ran the UI tests and they expectedly failed. 🙂
@shiki nice catch on the failing UI test, I fixed it here: https://github.com/woocommerce/woocommerce-ios/pull/2644/commits/2cbb52006cf9637ce6a6fbb6eae4fed3cb732c76 (passed locally and on CI now!)
and yes, the PR will be updated to be a formal PR when the design changes are finalized with G's input.
Hey @Garance91540! Here are some screenshots with the color constants that you can find in AuthenticationManager
and our semantic colors for further lookup (dark/light mode):
prologue | sign in method sheet |
---|---|
Looks like the status bar isn't showing properly in light mode. I thought this was a pre-existing condition but based on your PR screenshots, it's introduced by this PR.
great catch @astralbodies! it's fixed in https://github.com/woocommerce/woocommerce-ios/pull/2644/commits/2fd21ce6f755a0655fc5091b6a528d008546ef8a by passing statusBarStyle
as .default
(auto adjustment based on the view color) since the default value in WPiOS is set to light style :)
Hi @jaclync, I'll P2 official updates tomorrow, but in the meantime tagged you in the Figma file with the updated designs.
Let me know if it's possible to:
@woocommerce/ios-developers @Garance91540 the PR is finally ready for review now! I've update the PR to target develop
and we'd like to have it for 4.9 (code freeze next Monday). I also updated the PR description to include the latest screenshots of the affected screens. After this PR is wrapped up, I will start working on the updated design for the empty store screen in p91TBi-38l-p2#comment-1534.
I didn't notice the black background behind the apple logo on dark mode. https://d.pr/i/DvSWGJ Is that something we can't change? If not for the next iterations I'll share designs with all secondary CTAs black on these screens
@Garance91540 I took a look at how the Apple icon was setup, and like you said it is using different icons based on dark/light mode in the authenticator library because it's assuming the secondary button has a dark background in dark mode like in WPiOS. Updating the design to have a dark background for secondary CTAs would be great, and we can try removing the black/white background for the assets (apple-white.pdf and apple-black.pdf)
I ran into this when testing with no Apple account signed in and when I had to verify my Apple ID email.
@shiki Great point on the generic error! An easy improvement could be to update the copy of the error message:
it doesn't look the prettiest, but it's a small change to make. feel free to suggest other copy too! (cc @Garance91540) if it looks fine to you all, I'll make a PR to WPAuthenticator and update this PR or in a separate PR.
also, since SIWA is only iOS 13+ I added a check to enable SIWA only for iOS 13+ in this commit https://github.com/woocommerce/woocommerce-ios/pull/2644/commits/881d91467f9dc46e4927df2cb46f4f2baf5e1e0f and the screenshots for iOS 13/12:
iOS 13 | iOS 12 |
---|---|
Item of note: I did notice a weird glitch on the SIWA Apple logo, and filed it in the Authenticator repo. https://github.com/wordpress-mobile/WordPressAuthenticator-iOS/issues/392
Thanks a lot for testing @astralbodies @rachelmcr @shiki and reviewing @shiki @Garance91540 ! I'm going to merge the PR soon, and make a PR in the authenticator library about the SIWA error message (it might not make code freeze by Monday, so possibly targeting the next release)
Fixes #2643 Fixes #2654
There are design changes in this PR now that we're also using the prologue screen from WPAuthenticator. We're updating the design of the empty store screen per p91TBi-38l-p2#comment-1534, so the design changes in this PR are likely just for release 4.9. We originally wanted to target this for 4.8, but there are two new strings and we've passed the translation window for 4.8 so Aaron thought it'd be nicer to just target
develop
for 4.9.Changes
WordPressAuthenticator
pod to include the changes to enable customizations of the prologue screens in this PRAppDelegate
, in case the app presents the empty stores screen when it remembers the last login, addedstorePickerCoordinator?.onDismiss
to display the authenticator login flow when the user taps to try with another accountauthPrologueBottomBackgroundColor
, and updated the styles inAuthenticationManager
for the prologue screens now that we're reusing the screens in the authenticator library. Our current design has the same colors for the bottom buttons container UI in both light and dark mode so we're passing the colors in light mode (previously, we forced the bottom buttons container UI to be light mode only). https://github.com/woocommerce/woocommerce-ios/blob/74d9f5b92b55fc9fa51336e4d72e1d3c0831bcf7/WooCommerce/Classes/Authentication/Prologue/LoginPrologueViewController.swift#L120-L123AuthenticationManager
, also passed in ourLoginPrologueViewController
to be the child view controller of the prologue top container view. Some more options are updated/added to support the prologue screens without sign up UX and with SIWA enabled. The code to display authentication was updated to show the sign in flow from WPAuthenticator library.LoginPrologueViewController
, and updated the colors to use the new semantic colorauthPrologueBottomBackgroundColor
EmptyStoresTableViewCell
- however, this cell will be removed when we implement the updated design soon (p91TBi-38l-p2#comment-1534) since it doesn't work in the new design anymore.func restartAuthentication()
toStorePickerViewControllerDelegate
when the user taps to try signing in with another account from the store picker screen (restarting the auth process). Implemented this inStorePickerCoordinator
to dismiss the controller based on how it's presented in the first place inshowStorePicker
.StorePickerViewController
and its xib, and presented the Jetpack setup webview when the user taps on the "Connect the store with Jetpack" CTATesting
login_prologue_jetpack_login_button_tapped
is fired in the console as well.Example screenshots
Prologue screen
develop
Empty stores screen
Update release notes:
RELEASE-NOTES.txt
if necessary.