record, report, and notify about olm errors #1146
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements the
no_olm
part of MSC2399, and tells the user when the olm session got wedged.The general algorithm is that when there's a problem with the olm session (either it's wedged, or the sender tells us they can't establish a session), then we try to recover by creating a session ourselves. Then we record the problem, timestamp, and whether we (think we) fixed the problem. When we have a megolm event that we can't decrypt, we check if it was sent within the time that we had a problem, and if so, tell the user what the problem was, and whether we were able to fix it.