Element Android cannot decrypt messages sent by kazv
Co-stream https://github.com/element-hq/element-android/issues/8751
It's their bug; this issue is just to track the status of them fixing it, although we can provide a workaround.
- the format of an Olm-encrypted event is a map from the recipient's key to a string (cipher text)
- element android only checks the first item in the map, and check if it contains the current device's key. if it doesn't, it just fails.
- but kazv sends the same thing to every device. the event contains every cipher text for every device
- like {"key1": "ciphertext1", "key2": "ciphertext2"}
- element android only checks the first item in the map, i.e. key1
- suppose element android's pubkey is actually key2, then key2 will be completely ignored
element should instead check for its own public key in the map, and use that mapped value.