Page MenuHomePhabricator

Talk pages: Set up feature flag
Closed, ResolvedPublic

Description

My plan for now is to have a feature flag in the codebase for our new talk page feature, so that we can continue to merge new work into main but still have bug fix releases before the feature goes out. We can explore moving the flag to a remote config file later if we decide it's needed.

We have a Staging version of the app that we used to deploy nightly along with our main build. Let's restore this and have it configured to show the new talk pages.

  1. Undo the work done in this PR to get staging to deploy nightly again.
  2. Set up a feature flag property that is true using the staging environment macro (could be something like this):
struct FeatureFlags {
    static var needsNewTalkPage: Bool {
        #if WMF_STAGING
            return true
        #else
            return false
        #endif
    }
}
  1. Create a new blank view controller subclass that will eventually be the home of our new talk page.
  2. Find all branches where talk pages are pushed on (you could look for wherever TalkPageContainerViewController is instantiated), check the feature flag and push your new empty view controller if it's true, otherwise push the TalkPageContainerViewController as before.

To test this: Running the Staging scheme (black icon) in Xcode should show your blank view controller, running the main Wikipedia scheme (white icon) should show the old talk page as before. Every night both the black icon build and white icon build will be pushed, and QA can test against both.

Notes for QA

  1. Confirm our main Wikipedia TestFlight app continues to show our current user talk page in the right places, as well as the mobile web article talk page.
  2. Confirm our new nightly Staging Wikipedia (black icon) TestFlight app shows our new (in-progress) native user talk page and article talk page work.

Event Timeline

Tsevener moved this task from Tasks from Product Backlog to Needs QA on the iOS-app-v6.9.3 board.

Moving to 6.9.3 board. This feature flag code hides our new talk page work in 6.9.3, so it really should be tested as a part of that release.

Tsevener updated the task description. (Show Details)
Tsevener added a subscriber: Mazevedo.

@ABorbaWMF we have some regression testing for 6.9.3 for this one when you get a chance, since we changed talk pages a little bit. It's possible the smoke test will cover it, but I just wanted to be sure. Please test part 1 under QA Notes in the task description on 6.9.3. Thanks!

Verified that the main testflight build and staging builds have differing talk page look and feel.

JMinor claimed this task.