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

Sync blogs upon launch #24243

Merged
merged 3 commits into from
Mar 19, 2025
Merged

Sync blogs upon launch #24243

merged 3 commits into from
Mar 19, 2025

Conversation

crazytonyli
Copy link
Contributor

This PR fixes two issues.

The first issue is the app does not sync blogs upon launch. That means the app continues to show the welcome screen after the user creates a new site from WordPress.com.

The second issue is #23344, which is the reverse: if the user deletes a site from WordPress.com, the app should not show the deleted site. Requires wordpress-mobile/WordPressKit-iOS#833.

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.9 milestone Mar 18, 2025
@crazytonyli crazytonyli marked this pull request as draft March 18, 2025 09:51
@dangermattic
Copy link
Collaborator

dangermattic commented Mar 18, 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

@@ -135,6 +135,10 @@ class WordPressAppDelegate: UIResponder, UIApplicationDelegate {
WKWebView.warmup()
}

if let account = try? WPAccount.lookupDefaultWordPressComAccount(in: ContextManager.shared.mainContext) {
BlogService(coreDataStack: ContextManager.shared).syncBlogs(for: account, success: { /* Do nothing */ }, failure: { _ in /* Do nothing */ })
Copy link
Contributor

Choose a reason for hiding this comment

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

  • Shouldn't it use BlogSyncFacade?
  • I was under the impression that MySiteViewController manages blogs sync, but it doesn't appear to be the case, does it? I'm not entirely sure what would be the ideal place for this method, but I would probably lean towards something like RootViewCoordinator and not the app delegate.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Shouldn't it use BlogSyncFacade?

Yep, it should. Good catch!

I was under the impression that MySiteViewController manages blogs sync

My guess is that was the case, but at some point that code was deleted by accident. At the moment, the view controller only calls syncBlogs on pull-to-refresh.

I'm not entirely sure what would be the ideal place for this method

Me neither. I don't want to introduce yet another "coordinator"-like things, so I kept it simple in the app-did-launch function. I think we can refactor it later to have a more appropriate type for it? I don't think it should be in a view related type. The app should refresh some basic things (user profile, current site details, general information about all user sites, etc), regardless of the view controller/presenter the app uses.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think we can refactor it later to have a more appropriate type for it?

Fair enough. I think it should be in one of the root coordinators.

@crazytonyli crazytonyli marked this pull request as ready for review March 19, 2025 01:38
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Mar 19, 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 Numberpr24243-b945158
Version25.8
Bundle IDorg.wordpress.alpha
Commitb945158
App Center BuildWPiOS - One-Offs #11727
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 19, 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 Numberpr24243-b945158
Version25.8
Bundle IDcom.jetpack.alpha
Commitb945158
App Center Buildjetpack-installable-builds #10755
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@crazytonyli crazytonyli added this pull request to the merge queue Mar 19, 2025
Merged via the queue into trunk with commit bee048a Mar 19, 2025
25 checks passed
@crazytonyli crazytonyli deleted the bugfix/issue-23344 branch March 19, 2025 23:14
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.

4 participants