After some investigation (see https://phabricator.wikimedia.org/T431140), here are some fixes that could improve reading list deletion issues. Suspicion is that the teardown API call was made, causing all lists to be deleted.
Clear .needsRemoteDisable sync
Clear .needsRemoteDisable sync state from Core Data on app launch and logout. If a past teardown did not fully complete, this state will still be persisted and will reattempt at a later date, causing data loss at a later time. We should not allow that. The user can try again themselves through the UI if a teardown didn't fully complete.
Match Android's UI to disable syncing
We should match Android's UI, which is only called from a single, clear UI path:
This appears after toggling syncing OFF, and only Yes tears down remote reading lists:
iOS's sync toggle OFF, on the other hand, currently presents this popup. The popup cannot be dismissed, and BOTH options cause a teardown:
iOS also has an "Erase saved articles" button. The red button also causes a teardown:
I propose we match Android (remove "Erase saved articles" button, and match Android's prompt when the toggle is off, with a simple Yes / No, with No serving as cancel and Yes causing teardown). Ensure no local articles or lists are deleted from the Yes option.
Toggle fix
Fix stuck toggle (existing task from Liquid Glass regression - https://phabricator.wikimedia.org/T421409)


