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

Fail to display timeline history when joining E2E room. #22999

Closed
erikjohnston opened this issue Aug 4, 2022 · 10 comments
Closed

Fail to display timeline history when joining E2E room. #22999

erikjohnston opened this issue Aug 4, 2022 · 10 comments
Assignees
Labels
A-E2EE A-Timeline O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect

Comments

@erikjohnston
Copy link
Member

Steps to reproduce

  1. Invited to e2e room and immediately join (this is a remote join if it makes a difference)

Outcome

Join the room, get told: You can't see earlier messages \n Encrypted messages before this point are unavailable.

Operating system

Ubuntu

Browser information

Version 103.0.5060.114 (Official Build) (64-bit)

URL for webapp

develop.element.io

Application version

Element version: 3e3f279-react-a866005bea85-js-3907d1c28f87 Olm version: 3.2.12

Homeserver

jki.re

Will you send logs?

Yes

@turt2live turt2live added S-Major Severely degrades major functionality or product features, with no satisfactory workaround A-E2EE A-Timeline O-Uncommon Most users are unlikely to come across this or unexpected workflow labels Aug 5, 2022
@turt2live
Copy link
Member

S-Major because of hidden data (not quite data loss, but valid history is hidden)

This issue also applies if there's unencrypted messages before join: they are hidden.

@t3chguy
Copy link
Member

t3chguy commented Aug 5, 2022

Reincarnation of #16983

@benparsons
Copy link
Member

Adding context from #23429. Also to note, for users with only one room, it's impossible to perform this workaround, so they can't recover history.

Steps to reproduce

  1. Get an invite to an e2ee room (A)
  2. Join the room (A)
  3. (Possibly) see some messages in A
  4. Click on another room (B)
  5. Click back to room A
  6. See more history in A
  7. Click on another room (B)
  8. Click back to room A
  9. See more history in A

Outcome

What did you expect?

When I join a room, I should see history, even if it takes time to load.

What happened instead?

I have to click around the UI to load messages.

@thoraj
Copy link
Contributor

thoraj commented Oct 7, 2022

I could mention that the vast majority of our users have a single room and cannot use the workaround.

And the flaw is devastating since this single room is often used to bring in new collaborators when there is already a lot of history in the room.

@shinji257
Copy link

shinji257 commented Nov 14, 2022

I just want to drop my 2 cents on this issue (it is happening to me as well here)

The old history might be getting stopped if it fails to decrypt a message (either can't or hasn't gotten a decryption key from a user) as the preview in the room list suggests a key was withheld.
I do have multiple rooms (actually a ton of them) and switching rooms does not help to get older history at all. It just says that older messages are not available.
Exporting the room history (set to "from the beginning") does manage to export out decryptable messages that are otherwise hidden in the client.

My android session actually has the older history. It's just the desktop and web clients for me that are unable to do so at all.

@richvdh
Copy link
Member

richvdh commented Nov 16, 2022

Please can people seeing this make sure that they send a rageshake from their device, and get the person who sent them an invite to send a rageshake too. In the case of @erikjohnston's original report the problem seems to have been on the inviter's side, but we don't have any logs from the inviter to investigate.

@richvdh
Copy link
Member

richvdh commented Nov 16, 2022

It's worth noting that Element only concerns itself with the most recent unable-to-decrypt message, and won't show any messages before that, even if it has successfully decrypted them. (see https://github.com/matrix-org/matrix-react-sdk/blob/v3.60.0/src/components/structures/TimelinePanel.tsx#L1555-L1566) It's far from clear to me that that is intended behaviour.

@shinji257
Copy link

This is exactly the issue I'm trying to describe. I've used other clients (not forked from Element) and those clients show all the history going beyond the messages that it couldn't decrypt.

@osresearch
Copy link

image

There's a another issue with e2e rooms for space members - "Users joining a private room within a space via "restricted" join rule have no way of accessing history" (element-hq/element-meta#646). Allowing room admins to select all three of Encrypted, Access - Space members, and Members since the point in time of selecting this option produces a result that does not work. Inviting a space member to the group does not send the keys. Ironically making the rooms private and then explicitly inviting members does work, but defeats the purpose of a space membership.

There is a proposal to add a way to manually request access from other members (element-hq/element-meta#750). Until then it seems like a warning that "this feature does not work (yet)" would be appropriate for space rooms to avoid creating lots of debugging confusion.

@richvdh
Copy link
Member

richvdh commented Jan 9, 2023

There doesn't seem to be much left to do here.

@richvdh richvdh closed this as completed Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-E2EE A-Timeline O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect
Projects
None yet
Development

No branches or pull requests

8 participants