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

Hide pre-join UTDs, rather than showing an error #2449

Open
richvdh opened this issue Jun 20, 2024 · 2 comments
Open

Hide pre-join UTDs, rather than showing an error #2449

richvdh opened this issue Jun 20, 2024 · 2 comments
Labels
A-E2EE Z-UISI Unable to decrypt errors

Comments

@richvdh
Copy link
Member

richvdh commented Jun 20, 2024

Our first pass on fixing "pre-join UTDs" (#2317) focussed on identifying such events, and changed the message shown on screen for such error cases.

For example:

image

However, this remains an unsatisfactory user experience. It would be better to hide such events altogether.

@richvdh richvdh added Z-UISI Unable to decrypt errors A-E2EE labels Jun 20, 2024
@richvdh
Copy link
Member Author

richvdh commented Jun 20, 2024

The primary difficulty with this is that, if we just hide the events (or, equivalently, collapse them into a group, EventListSummmary-style), the client will see that we have a bunch of empty space and attempt to backpaginate ... forever, until the start of the room.

It might be that we can apply a heuristic - once we've seen 1000 pre-join UTDs in a row, we stop back-paginating - but we need to be careful not to re-introduce element-hq/element-web#22671.

In particular, the danger is:

  • Alice joins a room and starts having a conversation with Bob
  • Lots of delayed messages from Charlie turn up, from before Alice was in the room. These are Expected UTDs.
  • Alice switches room back and forth in her client (thus clearing the local cache of events)
  • Alice can no longer see her conversation with Bob, because we didn't back-paginate past the events from Charlie.

@ara4n
Copy link
Member

ara4n commented Jun 20, 2024

I would have thought this is the same problem as how to handle backpagination in a room with lots of invisible messages (e.g. LLS beacon updates) - so we need to solve it whatever.

My suggestion would be that it tries to backpaginate in N messages (where N=100 or so) and gives up if they're all invisible... but then if the user explicitly overscrolls, it shows a spinner and does another 100. and so the user would have to keep manually overscrolling to get back into visible content.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-E2EE Z-UISI Unable to decrypt errors
Projects
None yet
Development

No branches or pull requests

2 participants