Implement notifications sessions storage on top of MMKV. Migrate existing notifs account to SQLite
Summary:
This differential deprecates old way of keeping notifications sessions and builds new one on top of MMKV. Now sessions are kept in MMKV under keys that are
constructed from relevant keyserver id. Pickling key for sessions is also stored in MMKV. Additionally this differential implements SQLite migration that transfers
existing notifs account and session from old storage to SQLite and MMKV respectively.
Test Plan:
- Build the app before applying this diff and log in to create session.
- Apply this diff and buld the app again.
- Ensure the notifs are still working. This tests migration.
- Log out and log in and ensure notifs are stil working.
Reviewers: tomek, bartek, kamil, michal
Reviewed By: michal
Subscribers: michal, inka, ashoat
Differential Revision: https://phab.comm.dev/D11234