Comments (21)
Just tested on another existing account without importing a key file from Riot, and same result. Consistently getting this error about members not being synced.
from mirage.
I think the issue comes from here in nio, where I added some prints. Can you install this branch, restart mirage and report what appears in your terminal then when you try to send a message?
git clone https://github.com/mirukana/matrix-nio
cd matrix-nio
git checkout origin/mirage-issue-54
pip3 install --user -U '.[e2e]'
from mirage.
I've redacted much of the personal info in here since it had my token and a very large list of room members, but here is basically what I got:
Members synced: False
Joined members response: JoinedMembersResponse(uuid='', start_time=None, end_time=None, timeout=0, transport_response=<ClientResponse(https://matrix.org/_matrix/client/r0/rooms/!isubisudvisub:matrix.org/joined_members?access_token=<my_token>) [200 OK]>
<CIMultiDictProxy('Server': 'nginx/1.6.2', 'Date': 'Thu, 18 Jun 2020 16:31:47 GMT', 'Content-Type': 'application/json', 'Content-Length': '19387', 'Connection': 'keep-alive', 'Cache-Control': 'no-cache, no-store, must-revalidate', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept, Authorization')>
, members=[RoomMember(user_id='@example:matrix.org', display_name='Example', avatar_url=None), RoomMember(user_id='@example2:matrix.org', display_name='Example2', avatar_url='mxc://matrix.org/RgrpUJWYPrTpzSqGQMsoPDRD'),<repeats for all 200 members>], room_id='!isubisudvisub:matrix.org')
from mirage.
I updated the branch to add more logging, make sure to paste all the lines (you missed the "members synced 2" in the previous post).
from mirage.
ok, this is starting to happen in more encrypted rooms, and logging out and back in doesn't fix the issue which is really odd, and even though my other account doesn't show up in the encrypted roomlist, i can still send messages from that account into the room, but the icon and name are missing, until i re-open the room .
from mirage.
I updated the branch to add more logging, make sure to paste all the lines (you missed the "members synced 2" in the previous post).
Can you do this then?
from mirage.
one thing i've noticed with this error, is that my other account is always what's missing from the sidebar, it's never another room member, it can't be a coincidence so many times ?
from mirage.
and if i send messages from the other account, and then close and re-open the room, sometimes the other account will show up, and then it lets me send messages .
from mirage.
members_synced: 4 0 3
room_send: members synced: False
members_synced: 4 0 3
_handle_joined_members: members added: 2
room_send: members response: <class 'nio.responses.JoinedMembersResponse'>
members_synced: 4 0 3
room_send: members synced 2: False
members_synced: 4 0 3
X 23:47:29 | python:
Traceback (most recent call last):
File "qrc:/src/backend/qml_bridge.py", line 82, in on_done
result = future.result()
File "/usr/lib64/python3.8/concurrent/futures/_base.py", line 432, in result
return self.__get_result()
File "/usr/lib64/python3.8/concurrent/futures/_base.py", line 388, in __get_result
raise self._exception
File "qrc:/src/backend/matrix_client.py", line 455, in send_text
await self._send_message(room_id, content, tx_id)
File "qrc:/src/backend/matrix_client.py", line 770, in _send_message
await self.room_send(
File "/home/oracle/Documents/GitHub/matrix-nio/nio/client/async_client.py", line 1481, in room_send
message_type, content = self.encrypt(
File "/home/oracle/Documents/GitHub/matrix-nio/nio/client/base_client.py", line 114, in inner
return fn(self, *args, **kwargs)
File "/home/oracle/Documents/GitHub/matrix-nio/nio/client/base_client.py", line 1158, in encrypt
raise MembersSyncError(
nio.exceptions.MembersSyncError: The room is encrypted and the members aren't fully synced.
from mirage.
How many joined members does this room contain, including yourself, with a fully loaded member list? 4?
from mirage.
4, yes .
from mirage.
I can confirm that it happens on Manjaro-arm (PineBook Pro) too. That's maybe the main thing which makes Mirage unusable for me. I still can read the messages from the encrypted rooms.
from mirage.
Can you still reproduce this after the dev branch commit d127ad9?
You might need to install a special branch of matrix-nio for the test, see #31 (comment)
from mirage.
It's much better, but it still happens for some encrypted rooms. It looks like it happens on some crowded ones, but that's just a speculation. I'm using the head on the dev branch.
from mirage.
I need more info on the room that fails, compare Mirage's member list with the one from a client that handles the room correctly (e.g. Element):
- Is there any member that shouldn't be here, e.g. members that already left or were kicked?
- Are there missing members? Did they join the room recently?
- Any missing "x joined/left the room" events at the timeline's bottom?
If that helps, you can do this to get the number of loaded members in Mirage:
- Press F1 to open the debug console
- Type
ModelStore.get("@your_user_id:example.org", "!theRoomId:example.org", "members").count
. You can quickly copy the user and room ID by right clicking on your account and the room in the left panel.
from mirage.
My guess about the user count is totally wrong. The number of users varies. The server I'm on, is quite new, so there are still no kicked/banned for now. It seems Mirage misses some invitations. I think it should show them, right? I saw it doing it. Edit: It looks like it only happens in non-encrypted rooms. The encrypted ones don't show the invitations.
from mirage.
encrypted rooms do show invited user though ?
from mirage.
It does not show all of them sometimes. There are some invitations missing. I looked at Element in the web browser. I guess I have to find a way to reproduce it.
from mirage.
Can you still reproduce this in 0.6.2? Make sure you have matrix-nio 0.15.1.
from mirage.
invites still don't show up in encrypted rooms, which is what causes the bug seemingly, but as of yet i haven't gotten a membersyncerror
from mirage.
The invite bug has been fixed in poljar/matrix-nio@560a4a0
from mirage.
Related Issues (20)
- Make it possible to change room image from Mirage
- [Bug] Mirage stuck on loading screen HOT 24
- UnicodeEncodeError: 'ascii' codec can't encode character '\xfc'
- Make notification settings more understandable
- Parantheses at end of URL fails to be recognized as part of URL
- Mac OSX: Clicking on read receipt opens dialog HOT 2
- Python 3.10: AttributeError: module 'collections' has no attribute 'Mapping' HOT 7
- Mirage is Broken on Alpine/PostmarketOS: gives an infinite spinning wheel on startup HOT 4
- SSO login should work for homeservers that don't have password login disabled HOT 1
- Getting verified by other clients (Element, nheko,...) HOT 3
- Could not initialize GLX HOT 1
- Startup Crash FreeBSD HOT 3
- Add option to start the application minimized HOT 2
- Flatpak: The KDE 5.14 runtime is no longer supported and does not receive security updates. HOT 1
- Cannot import keys from Element - Passphrase not recognized HOT 1
- clipboard images wont send on arch linux
- Traceback (most recent call last): File "qrc:/src/backend/matrix_client.py", line 399, in _start Problem HOT 4
- Unable to install python-mistune1 on Manjaro HOT 2
- lol it ded HOT 2
- Warnings and errors on Debian make application unusable HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mirage.