diff --git a/analysis_options.yaml b/analysis_options.yaml index 7cc6e101..0ce1c52c 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -2,17 +2,18 @@ include: package:lints/recommended.yaml linter: rules: - avoid_print: true - prefer_final_locals: true - prefer_final_in_for_each: true - sort_pub_dependencies: true - always_use_package_imports: true always_declare_return_types: true + always_use_package_imports: true + avoid_bool_literals_in_conditional_expressions: true + avoid_print: true + non_constant_identifier_names: false # seems to wrongly diagnose static const variables + prefer_final_in_for_each: true + prefer_final_locals: true prefer_single_quotes: true sort_child_properties_last: true + sort_pub_dependencies: true unawaited_futures: true unsafe_html: true - non_constant_identifier_names: false # seems to wrongly diagnose static const variables analyzer: errors: diff --git a/lib/encryption/utils/key_verification.dart b/lib/encryption/utils/key_verification.dart index e011e101..a088e949 100644 --- a/lib/encryption/utils/key_verification.dart +++ b/lib/encryption/utils/key_verification.dart @@ -267,11 +267,8 @@ class KeyVerification { } /// `qrCanWork` - qr cannot work if we are verifying another master key but our own is unverified - final qrCanWork = (userId != client.userID) - ? ((client.userDeviceKeys[client.userID]?.masterKey?.verified ?? false) - ? true - : false) - : true; + final qrCanWork = (userId == client.userID) || + ((client.userDeviceKeys[client.userID]?.masterKey?.verified ?? false)); if (client.verificationMethods.contains(KeyVerificationMethod.qrShow) && qrCanWork) { diff --git a/lib/src/utils/device_keys_list.dart b/lib/src/utils/device_keys_list.dart index 7f9e1d5d..edbb27ef 100644 --- a/lib/src/utils/device_keys_list.dart +++ b/lib/src/utils/device_keys_list.dart @@ -433,17 +433,16 @@ class DeviceKeys extends SignableKey { bool? _validSelfSignature; bool get selfSigned => _validSelfSignature ?? - (_validSelfSignature = (deviceId != null && - signatures - ?.tryGetMap(userId) - ?.tryGet('ed25519:$deviceId') == - null - ? false + (_validSelfSignature = deviceId != null && + signatures + ?.tryGetMap(userId) + ?.tryGet('ed25519:$deviceId') != + null && // without libolm we still want to be able to add devices. In that case we ofc just can't // verify the signature - : _verifySignature( + _verifySignature( ed25519Key!, signatures![userId]!['ed25519:$deviceId']!, - isSignatureWithoutLibolmValid: true))); + isSignatureWithoutLibolmValid: true)); @override bool get blocked => super.blocked || !selfSigned;