Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A transient failure to establish an Olm session will cause forever undecryptable room messages #2864

Open
dkasak opened this issue Nov 20, 2023 · 2 comments

Comments

@dkasak
Copy link
Member

dkasak commented Nov 20, 2023

When we encounter a transient failure while setting up Olm channels (e.g. due to a network failure or OTK exhaustion) for sending a Megolm session to room participants at a specific index N, the process does not retry at the same Megolm session index. Instead, the session is sent at a subsequent index N+M. The value of M is determined based on the timing of successfully establishing the Olm channel.

In order to have reliable room encryption in the face of transient problems, we would have to instead remember which index first failed to send and retry that.

Split off from #281.

@dkasak dkasak changed the title A transient network failure will cause a forever undecryptable room message A transient network failure will cause forever undecryptable room messages Nov 20, 2023
@dkasak dkasak changed the title A transient network failure will cause forever undecryptable room messages A transient failure to establish an Olm session will cause forever undecryptable room messages Nov 21, 2023
@kegsay
Copy link
Member

kegsay commented Nov 22, 2023

Mitigated with matrix-org/matrix-spec-proposals#4081 over federation, which is what originally spurred this. Network failures can happen when talking to the user's own homeserver though.

@poljar
Copy link
Contributor

poljar commented Nov 22, 2023

Network failures can happen when talking to the user's own homeserver though.

That doesn't fall under this issue, we abort the encrypting and sending of the message if a network failure happens while calling /keys/claim.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants