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

We sometimes fail to decrypt events which arrive in the initialsync #2273

Closed
richvdh opened this issue Sep 18, 2016 · 4 comments · Fixed by matrix-org/matrix-js-sdk#360
Closed

Comments

@richvdh
Copy link
Member

richvdh commented Sep 18, 2016

If there is a big backlog of to_device events (more than 100), they get paginated, which means that we may end up seeing the room keys after the relevant messages, and thus failing to decrypt them until you refresh

@richvdh
Copy link
Member Author

richvdh commented Sep 18, 2016

Two solutions to this occur to me:

  1. The obvious one is a server-side hack to not send any in-room messages over /sync until all to_device events have been delivered.
  2. However, we are making unjustified assumptions about the delivery order of events over federation; and in future, sharing keys between devices may make it important to be able to decrypt events after they've been seen by the app. Perhaps we need to lay the infrastructure for this.

@richvdh
Copy link
Member Author

richvdh commented Oct 31, 2016

We probably need to make it possible to decrypt events asynchronously anyway; this probably needs to go in the same bucket as #2303 .

@richvdh
Copy link
Member Author

richvdh commented Nov 15, 2016

Hopefully fixed by matrix-org/matrix-react-sdk#556, modulo #2583

@richvdh richvdh closed this as completed Nov 15, 2016
@richvdh
Copy link
Member Author

richvdh commented Feb 9, 2017

This got reintroduced by matrix-org/matrix-js-sdk#326 :/

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

Successfully merging a pull request may close this issue.

1 participant