Page MenuHomePhabricator

[S] [Tech Debt] Remove single root navigation controller
Closed, ResolvedPublic

Description

Rather than have a single root navigation controller than contains our WMFAppViewController (UITabBarController subclass), we should instead embed 5 navigation controllers as the root view of each tab. This setup feels more standard for iOS apps. See Apple documentation on UITabBarController:

You can use navigation controllers or custom view controllers as the root view controller for a tab. If the root view controller is a navigation controller, the tab bar controller makes further adjustments to the size of the displayed navigation content so that it doesn’t overlap the tab bar.

There should be no user-visible changes to the app.

Notes for QA

  1. Regression testing of app launch is needed.
  2. Regression testing of deep linking (for example, to an article) is needed.
  3. Regression testing of article state restoration is needed (go to an article, background, then terminate. Confirm upon app launch the article is restored).

Event Timeline

Tsevener renamed this task from [Tech Debt] Remove single root navigation controller to [S] [Tech Debt] Remove single root navigation controller.Jul 11 2024, 5:09 PM

Can be tested starting in TestFlight 7.5.6 (3753).

HNordeenWMF claimed this task.