Skip to content

Commit 887ca95

Browse files
authored
Fix 'Home' is not displayed upon app launch (#24786)
1 parent b8b734b commit 887ca95

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

WordPress/Classes/System/Root View/SplitViewRootPresenter+Site.swift

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ class SiteSplitViewContent: SiteMenuViewControllerDelegate, SplitViewDisplayable
77
let supplementary: UINavigationController
88
var secondary: UINavigationController
99

10+
private weak var splitViewController: UISplitViewController?
11+
1012
var blog: Blog {
1113
siteMenuVC.blog
1214
}
@@ -21,13 +23,21 @@ class SiteSplitViewContent: SiteMenuViewControllerDelegate, SplitViewDisplayable
2123
}
2224

2325
func displayed(in splitVC: UISplitViewController) {
26+
splitViewController = splitVC
27+
2428
RecentSitesService().touch(blog: blog)
2529

2630
_ = siteMenuVC.view
2731
}
2832

2933
func siteMenuViewController(_ siteMenuViewController: SiteMenuViewController, showDetailsViewController viewController: UIViewController) {
30-
guard siteMenuVC === siteMenuViewController, let splitVC = siteMenuViewController.splitViewController else { return }
34+
// There is an issue on iOS 26 where the 'Home' tab of 'My Site' is selected, but the view controller is not displayed.
35+
//
36+
// The root cause is that during the app launch process, the `siteMenuVC.splitViewController` is nil (a.k.a. the `splitVC` variable
37+
// in the guard statement below), even though `siteMenuVC` is set as the supplementary view controller.
38+
//
39+
// The workaround here is keeping the `UISplitViewController` reference and using it as the backup option.
40+
guard siteMenuVC === siteMenuViewController, let splitVC = siteMenuViewController.splitViewController ?? splitViewController else { return }
3141

3242
if viewController is UINavigationController ||
3343
viewController is UISplitViewController {

0 commit comments

Comments
 (0)