Server.members cache not properly populated for users who join during client lifetime #18

Closed
opened 2026-02-15 23:16:14 -05:00 by yindo · 0 comments
Owner

Originally created by @LeoCx1000 on GitHub (Mar 26, 2023).

Describe the bug

When a member joins a server whilst the client is running, the internal cache does not populate.

To Reproduce

Pre-requisites: 1 friend.

  1. Run the client with logging enabled.
  2. Ask a friend to join your server.

Expected behaviour

Server.members cache gets populated correctly with the new member.

Actual behaviour

The role does not seem to be in the cache. Actions involving this role will raise a LookupError:

2023-03-27 01:03:06 ERROR    asyncio Task exception was never retrieved
future: <Task finished name='Task-10' coro=<WebsocketHandler.handle_event() done, defined at ...\site-packages\revolt\websocket.py:92> exception=LookupError()>
Traceback (most recent call last):
  File "...\site-packages\revolt\websocket.py", line 103, in handle_event
    await func(payload)
  File "...\site-packages\revolt\websocket.py", line 296, in handle_servermemberjoin
    member = self.state.add_member(payload["id"], MemberPayload(_id=MemberIDPayload(server=payload["id"], user=payload["user"]), joined_at=int(time.time())))  # revolt doesnt give us the joined at time
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\site-packages\revolt\state.py", line 68, in add_member  
    member = Member(payload, server, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\site-packages\revolt\member.py", line 38, in __init__   
    user = state.get_user(data["_id"]["user"])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\site-packages\revolt\state.py", line 43, in get_user    
    raise LookupError from None
LookupError

Library version

df9893aaff

Originally created by @LeoCx1000 on GitHub (Mar 26, 2023). ## Describe the bug When a member joins a server whilst the client is running, the internal cache does not populate. ## To Reproduce Pre-requisites: 1 friend. 1. Run the client with logging enabled. 2. Ask a friend to join your server. ## Expected behaviour Server.members cache gets populated correctly with the new member. ## Actual behaviour The role does not seem to be in the cache. Actions involving this role will raise a LookupError: ```py 2023-03-27 01:03:06 ERROR asyncio Task exception was never retrieved future: <Task finished name='Task-10' coro=<WebsocketHandler.handle_event() done, defined at ...\site-packages\revolt\websocket.py:92> exception=LookupError()> Traceback (most recent call last): File "...\site-packages\revolt\websocket.py", line 103, in handle_event await func(payload) File "...\site-packages\revolt\websocket.py", line 296, in handle_servermemberjoin member = self.state.add_member(payload["id"], MemberPayload(_id=MemberIDPayload(server=payload["id"], user=payload["user"]), joined_at=int(time.time()))) # revolt doesnt give us the joined at time ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "...\site-packages\revolt\state.py", line 68, in add_member member = Member(payload, server, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "...\site-packages\revolt\member.py", line 38, in __init__ user = state.get_user(data["_id"]["user"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "...\site-packages\revolt\state.py", line 43, in get_user raise LookupError from None LookupError ``` ## Library version df9893aaffa458643884a257fe1d51d13f05ccb9
yindo added the bug label 2026-02-15 23:16:14 -05:00
yindo closed this issue 2026-02-15 23:16:14 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: stoatchat/python-client-sdk#18