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

Add option to re-ask info from server #13832

Closed
Biep opened this issue May 28, 2020 · 15 comments
Closed

Add option to re-ask info from server #13832

Biep opened this issue May 28, 2020 · 15 comments

Comments

@Biep
Copy link

Biep commented May 28, 2020

Sometimes message info gets lost, for instance because of local lack of storage. In such cases, after repairing the local problem, the server may not know it has to resend the information. A button or link to tell it so near the error message would be helpful.

@Biep
Copy link
Author

Biep commented May 28, 2020

@tulir told me:
You should probably specify in the issue that you're talking about decryption keys not being stored because the disk is full, currently it's way too vague.

@t3chguy
Copy link
Member

t3chguy commented May 28, 2020

The client has no way of knowing it is missing information as it can't persist that knowledge due to lack of a functioning store.

image

The button is right there, Clear cache and reload

@t3chguy t3chguy closed this as completed May 28, 2020
@t3chguy
Copy link
Member

t3chguy commented May 28, 2020

You should probably specify in the issue that you're talking about decryption keys not being stored because the disk is full, currently it's way too vague.

There isn't a way to get those decryption keys again, the server doesn't store them.
You would have to re-ask the other party to send them. Which is #12275

@Biep
Copy link
Author

Biep commented May 28, 2020

(A) That didn't help for messages originating at other servers. (Though a few hours later one of them did come through spontaneously.)
(B) For the average user, there is no link between the problem and that button. I was asking for something in the error message. "Request keys from your other devices" could have been a button hidden in the setting too, but it isn't (and rightly so).

@t3chguy
Copy link
Member

t3chguy commented May 28, 2020

The originating server won't have a copy of the decryption keys either, it is end-to-end encryption.

@Biep
Copy link
Author

Biep commented May 28, 2020

Well - it ought to have an encrypted version of them, oughtn't it? After all, how could I ever get it otherwise?

@t3chguy
Copy link
Member

t3chguy commented May 28, 2020

"Request keys from your other devices"

this is scoped to a single encryption session (which could be as short as to even just be a single event) so it couldn't be in Settings

@t3chguy
Copy link
Member

t3chguy commented May 28, 2020

Well - it ought to have an encrypted version of them, oughtn't it? After all, how could I ever get it otherwise?

to_device messages which carry decryption sessions are not kept around, especially on the outbound server.
to_device messages are meant to be delivered once

@Biep
Copy link
Author

Biep commented May 28, 2020

All right - but a link that effectually repopulates the cache (and if possible does more) at the place of the problem would be very user-friendly.

to_device messages which carry decryption sessions are not kept around, especially on the outbound server.

All right - so that server should ask the sender's client, as soon as it is in the air again? I realise that will be a server issue.

@t3chguy
Copy link
Member

t3chguy commented May 28, 2020

so that server should ask the sender's client, as soon as it is in the air again?

This is not something possible in Matrix currently, track #12275

@t3chguy
Copy link
Member

t3chguy commented May 28, 2020

but a link that effectually repopulates the cache (and if possible does more) at the place of the problem would be very user-friendly.

Clearing cache won't help you with decryption errors typically so it'd cause additional server load for users clicking it whenever they see it and no benefit most of the time.

@Biep
Copy link
Author

Biep commented May 28, 2020

Yes, I was thinking of something like a very localised version of #12275 - just getting the keys for this message. Given that they had already been sent to exactly that session, probably no explicit permission would be needed either.

@Biep
Copy link
Author

Biep commented May 28, 2020

Clearing the whole cache would indeed be overkill - it should be only the bit related to the offending message.

@t3chguy
Copy link
Member

t3chguy commented May 28, 2020

The Matrix protocol's sync API doesn't allow such scope. Especially as the protocol won't know which encrypted to_device messages pertain to which encrypted messages.

@Biep
Copy link
Author

Biep commented May 28, 2020

OK. So it blocks on that. Pity.

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

2 participants