Migration routines

The public methods are exposed as static methods on this class, for namespacing and to enable easier mocking in unit tests.

Methods

  • Returns void

  • Import 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.

    Arguments

    • data - The data to be migrated
    • pickle_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.

    Parameters

    Returns Promise<any>

  • Migrate 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.

    Arguments

    • 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.

    Parameters

    Returns Promise<any>

  • Migrate 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.

    Arguments

    • 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.

    Parameters

    Returns Promise<any>