MobileViewToMobileHTMLMigrationController is one of our primary sources of hangs, according to Xcode Organizer.
This code was meant to enable users updating from pre-PCS to post-PCS to be able to launch their app while offline and still read their saved articles. Since PCS has been out for years now, it may be causing more harm than good.
Faked upgrade test
- Run a pre-PCS build with saved articles on it (I have pushed a test one up to Wikipedia Experimental, version 6.5.1 (21)). Since the mobileview article endpoint is gone, this build has saved some articles from a faked out test response, which should be enough to test this task.
- Disable device internet connection. Go to app Settings > Clear cache, then install new app version (Wikipedia Experimental version 7.3.0 (22)) with this fix in it.
- Launch while offline. Confirm list of saved articles remains, but they will probably not load now that the migration code is removed.
- This is okay, as the next two steps illustrate that this will just be a fleeting state for users.
- Re-enable internet connection. Confirm you can revisit articles and they load. Wait until "Article queued to be downloaded" labels disappear, indicating that all articles have saved for offline.
- Disable internet connection again. Clear cache again via Settings. Relaunch while offline. Confirm you can revisit saved articles and they load.
Test steps on main build
Just general regression testing in Saved Articles in the main Wikipedia TestFlight build (version 7.3.1, white icon) would be good.