mirror of
https://github.com/element-hq/synapse
synced 2024-10-02 22:02:41 +00:00
Use fully-qualified PersistedEventPosition
when returning membership for user
Spawning from https://github.com/element-hq/synapse/pull/17187
This commit is contained in:
parent
8a3270075b
commit
271a196121
3 changed files with 16 additions and 4 deletions
|
@ -476,7 +476,7 @@ class RoomMemberWorkerStore(EventsWorkerStore, CacheInvalidationWorkerStore):
|
|||
)
|
||||
|
||||
sql = """
|
||||
SELECT room_id, e.sender, c.membership, event_id, e.stream_ordering, r.room_version
|
||||
SELECT room_id, e.sender, c.membership, event_id, e.instance_name, e.stream_ordering, r.room_version
|
||||
FROM local_current_membership AS c
|
||||
INNER JOIN events AS e USING (room_id, event_id)
|
||||
INNER JOIN rooms AS r USING (room_id)
|
||||
|
@ -488,7 +488,17 @@ class RoomMemberWorkerStore(EventsWorkerStore, CacheInvalidationWorkerStore):
|
|||
)
|
||||
|
||||
txn.execute(sql, (user_id, *args))
|
||||
results = [RoomsForUser(*r) for r in txn]
|
||||
results = [
|
||||
RoomsForUser(
|
||||
room_id,
|
||||
sender,
|
||||
membership,
|
||||
event_id,
|
||||
PersistedEventPosition(instance_name, stream_ordering),
|
||||
room_version,
|
||||
)
|
||||
for room_id, sender, membership, event_id, instance_name, stream_ordering, room_version in txn
|
||||
]
|
||||
|
||||
return results
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ class RoomsForUser:
|
|||
sender: str
|
||||
membership: str
|
||||
event_id: str
|
||||
stream_ordering: int
|
||||
event_pos: PersistedEventPosition
|
||||
room_version_id: str
|
||||
|
||||
|
||||
|
|
|
@ -154,7 +154,9 @@ class EventsWorkerStoreTestCase(BaseWorkerStoreTestCase):
|
|||
USER_ID,
|
||||
"invite",
|
||||
event.event_id,
|
||||
event.internal_metadata.stream_ordering,
|
||||
PersistedEventPosition(
|
||||
"master", event.internal_metadata.stream_ordering
|
||||
),
|
||||
RoomVersions.V1.identifier,
|
||||
)
|
||||
],
|
||||
|
|
Loading…
Reference in a new issue