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

None of my DMs are listed under "People" in Element X

Open barathrm opened this issue 1 year ago • 4 comments

Steps to reproduce

Log into element with lots of DMs associated with your account, with other matrix users, all encrypted.

Outcome

Testing out element X for the first time, I see that all of my rooms are listed under rooms, including all my DM rooms which are listed under "People" in Element web / element desktop.

Your phone model

Pixel 6a

Operating system version

Android 14 / GrapheneOS

Application version and app store

0.4.14

Homeserver

matrix.org

Will you send logs?

Yes

Are you willing to provide a PR?

No

barathrm avatar Jun 22 '24 20:06 barathrm

Verified that my DM rooms have the m.direct flag set using devtools in element desktop, and have tried logging out and in again 2 times in element x android, as well as wiping the app storage.

barathrm avatar Jun 23 '24 09:06 barathrm

creating a new DM in element desktop, it popped up as a room, not a DM, in element X android. it correctly showed up as a DM in element dekstop.

barathrm avatar Jun 23 '24 09:06 barathrm

There is a possibility that the content of your account data m.direct is malformed, and in this case, EX just ignores the content and consider that there are no DM in your account.

In Element Web, you can in any room type /devtools in the composer then click Enter, then click on Explore Account data, then m.direct. Please ensure that all the userIds and roomIds have correct format. If this is not the case, you can edit the content to fix the error, and it should magically fix the issue on EXA.

Related: https://github.com/ruma/ruma/issues/1730

bmarty avatar Jun 26 '24 14:06 bmarty

Thanks for following up!

I looked at the json in m.direct, but I couldn't see any immediate issues. I made a backup of the contents and added them back with only one contact listed, and upon refreshing element x that contact immediately showed up under people. I then readded back the rest of the original contents and now all of them are listed, AFAICT.

If I remove everything from m.direct again, they're still all listed under People though...

I then logged out that session and wanted to log in again to debug this more one change at a time without caching, but now I'm hit with not being able to cross-verify so I can't log in.

barathrm avatar Aug 24 '24 17:08 barathrm

Just noticed that my account data contains "[object Object]":, as reported here and they're shifting the responsibility to the client implementation (EXA)

see also: https://github.com/matrix-org/synapse/issues/8834

twouters avatar Oct 10 '24 09:10 twouters

I suffered from the same (EXA 0.7), an empty "Persons" tab. Examining the account m.direct data, the json validated just fine and it did NOT contain obvious non-sense such as "[object Object]", but it might have contained rooms that do not exist any longer. I emptied the m.direct data and repopulated it using EW and the /converttodm feature and now all people show correctly under the people's tab.

So, if someone ever encounters this, it would be cool to examine your m.direct data and checking what causes this.

spaetz avatar Oct 11 '24 06:10 spaetz

I had a "[object Object]" entry in my m.direct. after removing it the person-filtering worked.

why is m.direct a mapping? shouldn't a list of room-ids be sufficient?

that was too quick. i checked my room list and many people-chats appear there while those are properly shown in element-web and element-android and gomuks. let me know which information would help to solve this.

emdete avatar Oct 22 '24 08:10 emdete

@emdete these are not rooms with 3 persons by any chance? E.g. a bridge bot? Rooms need to be marked as direct and only contain 2 persons to count as people rooms in EXA.

spaetz avatar Oct 22 '24 13:10 spaetz

no, i have rooms with 2 people in it that show fine in other matrix programs but not at all in exa. i will now check all entries in m.direct and their appearance in axe. where can i find doc about the structure of m.dirert? is it a mapping as i described above?

emdete avatar Oct 24 '24 16:10 emdete

Probably related to #3818

If you create a DM by invite a user by email, the m.direct contains this email and the DM room list is empty on Element X.

yostyle avatar Nov 06 '24 14:11 yostyle

Should be fixed now.

bmarty avatar Feb 25 '25 17:02 bmarty