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

Fix Site Switcher screen not dismissing after adding self-hosted site #24273

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

Conversation

pmusolino
Copy link
Member

@pmusolino pmusolino commented Mar 20, 2025

Fixes #24091

The Site Switcher screen wasn't being dismissed automatically after successfully adding a self-hosted site. This PR adds proper handling of the WPSigninDidFinishNotification notification to ensure the screen is dismissed when authentication completes.

Testing Instructions

  1. Log in with a wp.com account
  2. Open Site Switcher
  3. Add a self-hosted site
  4. Verify that after successful authentication, the Site Switcher screen is dismissed automatically.

Screen recording

Simulator.Screen.Recording.-.iPhone.16.Pro.-.2025-03-20.at.14.53.52.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)

…swift

- Add `signinObserver` to listen for sign-in completion notifications.
- Implement observer removal in `deinit` to prevent memory leaks.
@pmusolino pmusolino added this to the 25.9 milestone Mar 20, 2025
@pmusolino pmusolino requested review from crazytonyli and kean March 20, 2025 14:02
@dangermattic
Copy link
Collaborator

dangermattic commented Mar 20, 2025

1 Warning
⚠️ This PR is assigned to the milestone 25.9. The due date for this milestone has already passed.
Please assign it to a milestone with a later deadline or check whether the release for this milestone has already been finished.

Generated by 🚫 Danger

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Mar 20, 2025

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 Numberpr24273-b3594ec
Version25.8
Bundle IDorg.wordpress.alpha
Commitb3594ec
App Center BuildWPiOS - One-Offs #11801
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 Mar 20, 2025

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 Numberpr24273-b3594ec
Version25.8
Bundle IDcom.jetpack.alpha
Commitb3594ec
App Center Buildjetpack-installable-builds #10825
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@kean kean removed the Bug label Mar 20, 2025
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.

LGTM, but left one nit

}

deinit {
if let observer = signinObserver {
Copy link
Contributor

@kean kean Mar 21, 2025

Choose a reason for hiding this comment

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

(nit) it's redundant

If your app targets iOS 9.0 and later or macOS 10.11 and later, and you used addObserver(_:selector:name:object:), you do not need to unregister the observer. If you forget or are unable to remove the observer, the system cleans up the next time it would have posted to it.

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.

Site list not dismissed after adding a self-hosted site
4 participants