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

Duplicate DM in room list, cannot delete #325

Closed
valynor opened this issue Oct 2, 2023 · 7 comments
Closed

Duplicate DM in room list, cannot delete #325

valynor opened this issue Oct 2, 2023 · 7 comments

Comments

@valynor
Copy link

valynor commented Oct 2, 2023

iPad Mini 2019, iOS 17.0.2, Element-X 1.3.1

I have a duplicate DM in the room list. It's only on EX, not in any of my 4 other sessions.

The first instance of the DM works normally.
The 2nd instance:

  • cannot be tapped (no reaction)
  • can be long-pressed but choosing leave room just gives "Sorry, an error occurred"

There's no way to get rid of this duplicate room - a "clear cache & reload" would probably fix this but EX does not have this implemented yet.

Please add "clear cache & reload" soon, I'm using Element for ~3 years now and it reliably fixes things like these on regular Element iOS and Element-Web. EX really needs this setting, too.

@DMRobertson
Copy link
Contributor

It will be difficult to diagnose this

  • instruction on how to reproduce,
  • logs from the proxy, or
  • logs (rageshake) from Element X.

Which homeserver are you using? (If it is matrix.org or an EMS host, I may be able to find relevant server logs.)

@valynor
Copy link
Author

valynor commented Oct 3, 2023

@DMRobertson It is matrix.org, account is @valynor

I have no instructions to reproduce, unfortunately. I deleted a few rooms in element-web and the next time I looked into EX I had the duplicate. Might or might not be related. Happened 2 or 3 days ago.

I can send EX logs if you like.

@kegsay
Copy link
Member

kegsay commented Oct 3, 2023

Please send a rageshake and include the room ID of the duplicate room (you can get this from Element-Web, Room Settings -> Advanced.

I recall seeing your user ID in logs before, so it's entirely possible that the proxy has some bad state cached for you, but we need some IDs to confirm. Thanks!

@valynor
Copy link
Author

valynor commented Oct 3, 2023

@kegsay done

@valynor
Copy link
Author

valynor commented Oct 16, 2023

@kegsay
Any update? I'm on 1.3.3 now and the duplicate room is still present.

@DMRobertson
Copy link
Contributor

Thank you for the logs. I looked into a few things to see what was going on.

  • The proxy database. I wondered if you had a stuck invite while being joined to the room (e.g. Invites are not always correctly handled over federation #350). But you didn't have an outstanding invite to that room.
  • The matrix.org database. Its record of the room state agreed with the proxy's record.
  • The proxy logs. I could see no errors associated with your username or that room ID.

Lastly I looked at the client logs in the rageshake. Grepping for the room ID with

rg -z '!aBMLyCTbDuLlIkbReo:matrix.org' --no-filename --no-line-number  | cut -d " " -f 2- | cut -d "|" -f 1 | sort | uniq

I spotted a few suspicious log lines:

ERROR elementx: Failed retrieving room with identifier: invalidated-!aBMLyCTbDuLlIkbReo:matrix.org 
ERROR elementx: Invalid room identifier: invalidated-!aBMLyCTbDuLlIkbReo:matrix.org 
ERROR elementx: Invalid roomListItem for identifier invalidated-!aBMLyCTbDuLlIkbReo:matrix.org

Speaking to the client folks (internal link), that's part of their attempt to "work around duplicated rooms". It doesn't seem to be working in your case though.

I didn't follow the details, but the Rust SDK authors seemed to have a plan on how to tackle this. I'll transfer this to their repo now.

One other thing I noticed in the rageshake was warnings of the form

 WARN matrix_sdk_ui::timeline::traits: Unknown room version, falling back to v10 | crates/matrix-sdk-ui/src/timeline/traits.rs:82 | spans: root > build{room_id="!aBMLyCTbDuLlIkbReo:matrix.org" events_length=3 track_read_receipts=true prev_token="t621-4039038876_757284974_37752788_2224310583_2280660562_4395079_964647566_7819971614_0_138381"}
 WARN matrix_sdk_ui::timeline::traits: Unknown room version, falling back to v10 | crates/matrix-sdk-ui/src/timeline/traits.rs:82 | spans: root > build{room_id="!aBMLyCTbDuLlIkbReo:matrix.org" events_length=3 track_read_receipts=true prev_token="t621-4039038876_757284974_37752788_2224310583_2280660562_4395079_964647566_7819971614_0_138381"} > add_initial_events
 WARN matrix_sdk_ui::timeline::traits: Unknown room version, falling back to v10 | crates/matrix-sdk-ui/src/timeline/traits.rs:82 | spans: root > build{room_id="!aBMLyCTbDuLlIkbReo:matrix.org" events_length=3 track_read_receipts=true prev_token="t621-4039038876_757284974_37752788_2224310583_2280660562_4395079_964647566_7819971614_0_138381"} > room_update_handler{room_id="!aBMLyCTbDuLlIkbReo:matrix.org"} > handle_joined_room_update
 WARN matrix_sdk_ui::timeline::traits: Unknown room version, falling back to v10 | crates/matrix-sdk-ui/src/timeline/traits.rs:82 | spans: root > paginate_backwards{room_id="!aBMLyCTbDuLlIkbReo:matrix.org" options=UntilNumItems { items: 50, event_limit: 20 }} > handle_back_paginated_events

I could see from the matrix.org DB that this is a version 9 room, not 10. I don't think this has any huge consequences, but it makes me slightly scared that the client isn't getting the room version information from the proxy.

@DMRobertson
Copy link
Contributor

I'll transfer this to their repo now.

I seemingly lack creds for this, so matrix-org/matrix-rust-sdk#2773 is my way of doing this manually.

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

3 participants