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

Re-request keys does not work #6838

Closed
manuroe opened this issue Jun 4, 2018 · 6 comments · Fixed by matrix-org/matrix-js-sdk#850
Closed

Re-request keys does not work #6838

manuroe opened this issue Jun 4, 2018 · 6 comments · Fixed by matrix-org/matrix-js-sdk#850
Labels
A-E2EE P1 S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect

Comments

@manuroe
Copy link
Member

manuroe commented Jun 4, 2018

Description

I cannot make re-request work on riot-web. I have similar a issue as #6593. But I cannot provide steps to reproduce:

  • riot-web A has all keys in an e2e room
  • the user logs in on riot-web B
  • riot-web A displays the incoming key request dialog. The user ignores the request
  • the user re-requests the keys on riot-web B

-> Nothing happens on riot-web A. I expected to see the incoming key request dialog again.

Discussion at https://matrix.to/#/!HCXfdvrfksxuYnIFiJ:matrix.org/$15281228777104CHVyN:matrix.org

Version information

  • Platform: web (in-browser)
  • Browser: Firefox
  • OS: macOS
  • URL: riot.im/develop
@lampholder lampholder added T-Defect P1 S-Major Severely degrades major functionality or product features, with no satisfactory workaround A-E2EE labels Jun 5, 2018
@lampholder
Copy link
Member

Interesting - I'm not aware of our having changed anything here recently.

@manuroe
Copy link
Member Author

manuroe commented Jun 8, 2018

On mobile, we have implemented a state machine a bit different for the outgoing request: https://github.com/matrix-org/matrix-ios-sdk/blob/48142dcd96305d1e4a313b8b459cd1d1fa5962ea/MatrixSDK/Crypto/KeySharing/Data/MXOutgoingRoomKeyRequest.h#L19-L43

The main idea is to make a new request with a different id than the one we cancel.

@drue
Copy link

drue commented Jun 11, 2018

Broken for me too. It wouldn't be so bad if Riot didn't blow away all the key material every time my computer runs out of disk space, which happens whenever I close my laptop for more than a couple hours because OSX dumps RAM to disk.

@dkasak
Copy link
Member

dkasak commented Jun 22, 2018

I'm experiencing this too. It's particularly annoying because sometimes riot-desktop freezes and I have to kill it, which makes it lose all state (I have to log in again and there is no key material).

@neilalexander
Copy link

It seems that Riot, when clicking Re-request keys, is actually sending cancellations but not sending new key requests. I see this in the Seaglass log when rerequesting keys from Riot:

2018-09-10 13:59:59.790736+0100 Seaglass[62658:76429929] [MXIncomingRoomKeyRequestManager] processReceivedRoomKeyRequestCancellation: m.room_key_request cancellation for @neilalexander:matrix.org:BETLCMSZCJ (id m1536584093764.19)
2018-09-10 13:59:59.791034+0100 Seaglass[62658:76429929] [MXIncomingRoomKeyRequestManager] handleKeyRequest: Already cancelled this key request, ignoring

uhoreg added a commit to uhoreg/matrix-js-sdk that referenced this issue Mar 4, 2019
use sendRoomKeyRequest with a new resend flag, instead of cancelRoomKeyRequest,
when requesting keys, so that we make sure that we send a new request if there
is no previous request

fixes element-hq/element-web#6838
@uhoreg
Copy link
Member

uhoreg commented Mar 14, 2019

This should now be fixed by matrix-org/matrix-js-sdk#850 and matrix-org/matrix-js-sdk#855

@uhoreg uhoreg closed this as completed Mar 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-E2EE P1 S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants