diff --git a/lib/utils/matrix_sdk_extensions.dart/fluffybox_database.dart b/lib/utils/matrix_sdk_extensions.dart/fluffybox_database.dart index 5c15d620..7435b516 100644 --- a/lib/utils/matrix_sdk_extensions.dart/fluffybox_database.dart +++ b/lib/utils/matrix_sdk_extensions.dart/fluffybox_database.dart @@ -40,7 +40,7 @@ class FlutterFluffyBoxDatabase extends FluffyBoxDatabase { const secureStorage = FlutterSecureStorage(); final containsEncryptionKey = - await secureStorage.containsKey(key: _cipherStorageKey); + await secureStorage.read(key: _cipherStorageKey) != null; if (!containsEncryptionKey) { // do not try to create a buggy secure storage for new Linux users if (Platform.isLinux) throw MissingPluginException(); diff --git a/lib/utils/matrix_sdk_extensions.dart/flutter_hive_collections_database.dart b/lib/utils/matrix_sdk_extensions.dart/flutter_hive_collections_database.dart index 4a0171d8..4f3f2adf 100644 --- a/lib/utils/matrix_sdk_extensions.dart/flutter_hive_collections_database.dart +++ b/lib/utils/matrix_sdk_extensions.dart/flutter_hive_collections_database.dart @@ -33,7 +33,7 @@ class FlutterHiveCollectionsDatabase extends HiveCollectionsDatabase { const secureStorage = FlutterSecureStorage(); final containsEncryptionKey = - await secureStorage.containsKey(key: _cipherStorageKey); + await secureStorage.read(key: _cipherStorageKey) != null; if (!containsEncryptionKey) { // do not try to create a buggy secure storage for new Linux users if (Platform.isLinux) throw MissingPluginException(); @@ -50,6 +50,9 @@ class FlutterHiveCollectionsDatabase extends HiveCollectionsDatabase { hiverCipher = HiveAesCipher(base64Url.decode(rawEncryptionKey)); } on MissingPluginException catch (_) { + const FlutterSecureStorage() + .delete(key: _cipherStorageKey) + .catchError((_) {}); Logs().i('Hive encryption is not supported on this platform'); } catch (e, s) { const FlutterSecureStorage() diff --git a/pubspec.lock b/pubspec.lock index c4517936..f063036a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -668,7 +668,7 @@ packages: name: flutter_secure_storage url: "https://pub.dartlang.org" source: hosted - version: "5.1.0" + version: "6.0.0" flutter_secure_storage_linux: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index a090b73e..95db366a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -43,7 +43,7 @@ dependencies: flutter_olm: ^1.2.0 flutter_openssl_crypto: ^0.1.0 flutter_ringtone_player: ^3.1.1 - flutter_secure_storage: ^5.1.0 + flutter_secure_storage: ^6.0.0 flutter_slidable: ^2.0.0 flutter_svg: ^0.22.0 flutter_typeahead: ^4.0.0