element-x-android
element-x-android copied to clipboard
None of my DMs are listed under "People" in Element X
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
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.
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.
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
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.
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
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.
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 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.
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?
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.
Should be fixed now.