wordpress-mobile / WordPress-iOS

WordPress for iOS - Official repository
http://ios.wordpress.org/
GNU General Public License v2.0
3.68k stars 1.11k forks source link

Find the right WP.com account for Jetpack connected sites #23644

Open crazytonyli opened 1 week ago

crazytonyli commented 1 week ago

Issue

Jetpack connected sites can't be added to the app if the app is signed in using a different WP.com account.

Here are steps (taken from a internal discussion p1727463794673359-slack-C06S1QS55K9) to reproduce the bug:

  1. Create a site, connect Jetpack to WPCOM Account A.
  2. Log into the Jetpack mobile app with WPCOM Account B.
  3. Add the targeted self-hosted site.
  4. :boom: All site requests are sent to public-api.wordpress.com and fail to locate the site.

Changes

The current app WP.com account is incorrectly assigned to the self-hosted site. The fix is simply lookup the right account for the added site.

~However, the account look up will always results in nil though, because we only have one account in the app.~ Users can log in to another account by going to the Stats screen in the new self-hosted site. This flow is broken at the moment though. I'm looking into the issue, but any change would result in a separate PR.

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:

Testing checklist:

wpmobilebot commented 1 week ago
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 Numberpr23644-50545de
Version25.4
Bundle IDcom.jetpack.alpha
Commit50545de3c429310806b256d4b4aafadfee8ce0ec
App Center Buildjetpack-installable-builds #9815
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.
wpmobilebot commented 1 week ago
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 Numberpr23644-50545de
Version25.4
Bundle IDorg.wordpress.alpha
Commit50545de3c429310806b256d4b4aafadfee8ce0ec
App Center BuildWPiOS - One-Offs #10773
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.
kean commented 1 week ago

However, the account look up will always results in nil though, because we only have one account in the app.

The app doesn't have multiple account support. I'm not entirely sure what's the optimal way to proceed, but the first option that comes to mind is to throw an error in case someone adds a site not connected to their current wp.com account. It's best to provide no support for multiple accounts than one that's only partially works. It might open a whole can of worms.

When you connect a self-hosted sites to stats and have a wp.com account, you should be able to connect only the current default account.

crazytonyli commented 1 week ago

When you connect a self-hosted sites to stats and have a wp.com account, you should be able to connect only the current default account.

The app currently has trouble with signing in with another account. But I believe having multiple accounts (even though they are not visible on UI) is something app used to support. It's just broken at some point. See my fix in https://github.com/wordpress-mobile/WordPress-iOS/pull/23654