Static
migrateImport the base dataset from a libolm-based setup to a vodozemac-based setup stored in IndexedDB.
Populates the user credentials, Olm account, backup data, etc. This is the first step in the migration process. Once this base data is imported, further data can be imported with #migrateOlmSessions, #migrateMegolmSessions, and TODO room settings.
data
- The data to be migratedpickle_key
- The libolm pickle key that was used to pickle the olm
account objects.store_handle
- A connection to the CryptoStore which will be used to
store the vodozemac data.Static
migrateMigrate Megolm sessions of a libolm-based setup to a vodozemac-based setup stored in an indexedDB crypto store.
Before this method can be used, #migrateBaseData must be used to import the base data into the crypto store.
This method should be called a number of times, with separate batches of
sessions
. If a progress display is given, it can be updated after
each batch is successfully imported.
sessions
- An Array
of PickledInboundGroupSessions to
import. Items inside sessions
will be invalidated by this method.pickle_key
- The libolm pickle key that was used to pickle the
megolm session objects.store_handle
- A connection to the CryptoStore which will be used to
store the vodozemac data.Static
migrateMigrate Olm sessions of a libolm-based setup to a vodozemac-based setup stored in an indexedDB crypto store.
Before this method can be used, #migrateBaseData must be used to import the base data into the crypto store.
This method should be called a number of times, with separate batches of
sessions
. If a progress display is given, it can be updated after
each batch is successfully imported.
sessions
- An Array
of PickledSessions to import. Items
inside sessions
will be invalidated by this method.pickle_key
- The libolm pickle key that was used to pickle the olm
session objects.store_handle
- A connection to the CryptoStore which will be used to
store the vodozemac data.
Migration routines
The public methods are exposed as static methods on this class, for namespacing and to enable easier mocking in unit tests.