element-x-ios icon indicating copy to clipboard operation
element-x-ios copied to clipboard

Invites in room membership list don't local echo (or remote echo).

Open ara4n opened this issue 2 years ago • 8 comments

Steps to reproduce

  1. Go to a room
  2. Invite a user to it
  3. See absolutely no evidence in the member list that you've invited a user (especially if messages are delayed due to #1105 or bad network connectivity)
  4. Feel completely disoriented

Outcome

What did you expect?

You should see a local echo of the invite in the membership list, even if you haven't seen the remote echo of the invite yet. It could have a spinner or be greyed out or something to show that it's still sending.

What happened instead?

A feeling of extreme flakiness and nausea.

Your phone model

No response

Operating system version

No response

Application version

254

Homeserver

No response

Will you send logs?

No

ara4n avatar Jun 28 '23 08:06 ara4n

@ara4n can you reproduce it after clearing cache?

I had a similar issue two weeks ago which was caused by https://github.com/matrix-org/matrix-rust-sdk/issues/2078

kittykat avatar Jun 28 '23 10:06 kittykat

I cleared cache, and can still repro it when inviting a new user.

ara4n avatar Jun 28 '23 16:06 ara4n

after clearing cache, the "Pending" user turns up in the membership list though.

This is pretty horrid UX...

ara4n avatar Jun 28 '23 16:06 ara4n

With the network link conditioner set to 100% loss, sending an invite and returning to the timeline has no indication in the timeline that the invite was sent (or is pending to be sent). Turning off the conditioner gave me a error, followed by the invite appearing in the timeline.

Even without the network link conditioner, the membership list doesn't show the invited member even with the remote echo it seems, I needed to pop to the room details and push it back in again.

pixlwave avatar Aug 16 '23 15:08 pixlwave

I don't think this is actually possible. EleWeb doesn't seem to create a local echo either. The invite endpoint does not have a transaction ID parameter that could be used to identify the event as belonging to the invite request (also, the invite response does not contain the event ID either).

jplatte avatar Sep 13 '23 11:09 jplatte

I am deprioritising this feature because 1/ it would require specific work if we do not change the backend API and 2/ it does not exist elsewhere yet.

manuroe avatar Sep 15 '23 16:09 manuroe

Tested it today. The member list refreshes at some point after, I guess, the backend acknowledges the request. The refresh can be instant or multi seconds according to network or matrix.org conditions.

Managing a local echo with all the retry mechanisms behind to make it reliable is a significant amount of work.

Why not displaying a banner like the one when the user is removing another member?

Image

manuroe avatar Jul 23 '24 08:07 manuroe

also, the problem isn't just lack of local echo - but remote echo too

ara4n avatar Aug 21 '24 09:08 ara4n