matrix-org / matrix-org/matrix-rust-sdk
Failures to deserialize/decrypt backed-up room keys are not shown in the UI
- Dominant language
- Rust
- Stars
- 2.3k
- Forks
- 500
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 106
Description
Suppose we find a message which was sent after we registered, but before we logged in. We attempt to download the keys for such messages from the server-side store.
If the key is not found, there is obviously little we can do. However, if we find a key but then cannot decrypt it, or deserialize it, we should probably tell the user that there was an error -- or at least, stop showing "waiting for this message".
This particularly affects users who had old versions of Fluffychat, due to https://github.com/famedly/matrix-dart-sdk/issues/1739 -- but there may be other circumstances in which the key is in some way corrupt.
Contributor guide
Research direction
Start by tracing the backed-up room-key download path, including where returned keys are deserialized and decrypted. Verify how failures are propagated to the message state and UI; done means corrupt or undecryptable keys produce an error indication instead of leaving messages showing "waiting for this message".
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cryptography
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100