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:
{F94854913}
iOS's sync toggle OFF, on the other hand, currently presents this popup. The popup cannot be dismissed, and BOTH options cause a teardown:
{F94855121}
iOS also has an "Erase saved articles" button. The red button also causes a teardown:
{F94855235}
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.
### Toggle fix
Fix stuck toggle (existing task from Liquid Glass regression - https://phabricator.wikimedia.org/T421409)