[web] Fix user not getting logged out on ops failure
Summary:
ENG-7655 : User not getting logged out on web db ops failure
While working on D11544 I discovered that actually users weren't getting logged out on ops handling failure. Detailed explanation is in the linked task, but the general idea is that redux persist is able to persist data between calls to sharedWorker.init and location.reload and the db isn't cleared. This diff fixes it:
- It introduces a new optional parameter markAsCorrupted which disallows any future operations on the db, until the webpage is reloaded
- It also has to remove the localstorage fallback in comm-redux-storage-engine. Otherwise redux-persist persists data to localstorage which is then picked up in our old "localstorage to sqlite" migration, which also ends with user not getting logged out
Depends on D11544
Test Plan: Add a throw new Error in rekey message ops. Send a new message. Check that an alert shows up, the page is reloaded and after reload the user is logged out. Repeat a few times.
Reviewers: kamil, marcin
Reviewed By: kamil
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D11563