This adds a check before the storeRoomUpdate() call if the room is actually known. This has the effect that the call of forgetRoom() is skipped. The reason for this is an edge case in the database implementation when calling getAllKeys(). This somehow can corrupt the keys-cache and lead to some problems. I wasn't able to fix this problem yet so this refactoring is more a good-enough workaround for now to not trigger it on an initial sync. I plan to fix it with a different approach which completely removes the keys-cache in the future. However this change leads to some problems in the tests as they already rely on this edge case. |
||
|---|---|---|
| .. | ||
| bootstrap_test.dart | ||
| cross_signing_test.dart | ||
| encrypt_decrypt_room_message_test.dart | ||
| encrypt_decrypt_to_device_test.dart | ||
| key_manager_test.dart | ||
| key_request_test.dart | ||
| key_verification_test.dart | ||
| olm_manager_test.dart | ||
| online_key_backup_test.dart | ||
| qr_verification_self_test.dart | ||
| ssss_test.dart | ||
| utils_test.dart | ||