Skip to content
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

Replace native WP.com sign in with web-based sign in #23675

Open
wants to merge 7 commits into
base: trunk
Choose a base branch
from

Conversation

crazytonyli
Copy link
Contributor

The web based sign-in flow is enabled on debug builds. But it will be hidden under a feature flag later.

sign-in.mp4

Regression Notes

  1. Potential unintended areas of impact

  2. What I did to test those areas of impact (or what existing automated tests I relied on)

  3. What automated tests I added (or what prevented me from doing so)

PR submission checklist:

  • I have completed the Regression Notes.
  • I have considered adding unit tests for my changes.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

Testing checklist:

  • WordPress.com sites and self-hosted Jetpack sites.
  • Portrait and landscape orientations.
  • Light and dark modes.
  • Fonts: Larger, smaller and bold text.
  • High contrast.
  • VoiceOver.
  • Languages with large words or with letters/accents not frequently used in English.
  • Right-to-left languages. (Even if translation isn’t complete, formatting should still respect the right-to-left layout)
  • iPhone and iPad.
  • Multi-tasking: Split view and Slide over. (iPad)

@crazytonyli crazytonyli added this to the 25.5 milestone Oct 17, 2024
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Oct 17, 2024

WordPress Alpha📲 You can test the changes from this Pull Request in WordPress Alpha by scanning the QR code below to install the corresponding build.
App NameWordPress Alpha WordPress Alpha
ConfigurationRelease-Alpha
Build Numberpr23675-7e582a0
Version25.4
Bundle IDorg.wordpress.alpha
Commit7e582a0
App Center BuildWPiOS - One-Offs #10830
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Oct 17, 2024

Jetpack Alpha📲 You can test the changes from this Pull Request in Jetpack Alpha by scanning the QR code below to install the corresponding build.
App NameJetpack Alpha Jetpack Alpha
ConfigurationRelease-Alpha
Build Numberpr23675-7e582a0
Version25.4
Bundle IDcom.jetpack.alpha
Commit7e582a0
App Center Buildjetpack-installable-builds #9872
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

Copy link
Contributor

@kean kean left a comment

Choose a reason for hiding this comment

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

I tested the flow, including logging-in with a new account in the web view and using passkeys. The flow works well.

It is a bit of a downgrade compared to the current implementation where the app prompts you to use one of the saved credentials from the Apple Passwords on first launch. Perhaps web views should be reserved for self-hosted sites and for wp.com account creation.

} else {
wpAssertionFailure("WP.com web login failed", userInfo: ["error": "\(error)"])
}
return
Copy link
Contributor

Choose a reason for hiding this comment

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

(nit) Extract the first part into a separate method so that there is no return in the middle of this long method.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 43409de

// TODO: Replce with a remote feature flag.
// Enable web-based login for debug builds until the remote feature flag is available.
#if DEBUG
let webLoginEnabled = true
Copy link
Contributor

Choose a reason for hiding this comment

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

If there is no need to update the flag remotely, you can use extension FeatureFlag: RolloutConfigurableFlag { to implement the percentage-based rollout locally.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In that case, we'd need to release the app to update the rollout percentage, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yup

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Personally, I'd prefer a remote feature flag because we can completely turn it off if there are horrible issues.

func signIn(from viewController: UINavigationController) async {
let token: String
do {
token = try await authenticate(from: viewController)
Copy link
Contributor

@kean kean Oct 17, 2024

Choose a reason for hiding this comment

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

The animation at the top is distracting.

Untitled.mp4

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 not sure why it looks like this for me. It's different on your recording. I think there is a bug with the first welcome page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants