This is better reviewed commit by commit.
This is a massive PR about removing legacy code, might split it in multiple PRs, but this is actually the first stable state in which I was able to make everything compile and work
What is done and what is missing:
[ ] Remove all sharedHistory code
[ ] Remove MX_CRYPTO macros
[ ] MXUserTrustLevel can be removed and replaced with a single isVerified boolean, given that we no longer need to distinguish local and crossSigning trust status
[ ] NSCoding implementations from MXCrossSigningInfo and others can be removed, as they are no longer persisted on the iOS side, but rather rust side
[ ] Remove a number of unnecessary options from MXSDKOptions, such as enableRoomSharedHistoryOnInvite or enableSymmetricBackup
[x] A large number of integration tests access a legacyCrypto or legacyCrossSigning property which should be removed. These tests then have to be either refactored or removed entirely
[x] Remove MXBackgroundCryptoStore
[x] Legacy MXCryptoStore and MXRealmCryptoStore need to remain in place for the purpose of data migration to rust crypto, but only a few methods are required. (NOTE: I actually removed them since we don’t want to allow migration anymore)
[x] Remove MXSecretShareManager, and the requestPrivateKeys in MXKeyBackup which is no longer used
[x] This will enable the removal of many other associated classes, such as MXLegacySasTransaction, MXMegolmEncryption, MXMegolmDecryption etc
[x] Remove main ...Legacy... classes such as MXLegacyCrypto, MXLegacyCrossSigning, MXLegacyKeyVerificationManager etc
This is better reviewed commit by commit. This is a massive PR about removing legacy code, might split it in multiple PRs, but this is actually the first stable state in which I was able to make everything compile and work
What is done and what is missing: