mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-12-24 03:09:24 -05:00
Don't fiddle with results returned by event sources
Overwriting hashes returned by other methods is poor form. Fixes: SYN-516
This commit is contained in:
parent
9107ed23b7
commit
c7db2068c8
@ -311,8 +311,13 @@ class SyncHandler(BaseHandler):
|
|||||||
ephemeral_by_room = {}
|
ephemeral_by_room = {}
|
||||||
|
|
||||||
for event in typing:
|
for event in typing:
|
||||||
room_id = event.pop("room_id")
|
# we want to exclude the room_id from the event, but modifying the
|
||||||
ephemeral_by_room.setdefault(room_id, []).append(event)
|
# result returned by the event source is poor form (it might cache
|
||||||
|
# the object)
|
||||||
|
room_id = event["room_id"]
|
||||||
|
event_copy = {k: v for (k, v) in event.iteritems()
|
||||||
|
if k != "room_id"}
|
||||||
|
ephemeral_by_room.setdefault(room_id, []).append(event_copy)
|
||||||
|
|
||||||
receipt_key = since_token.receipt_key if since_token else "0"
|
receipt_key = since_token.receipt_key if since_token else "0"
|
||||||
|
|
||||||
@ -328,8 +333,11 @@ class SyncHandler(BaseHandler):
|
|||||||
now_token = now_token.copy_and_replace("receipt_key", receipt_key)
|
now_token = now_token.copy_and_replace("receipt_key", receipt_key)
|
||||||
|
|
||||||
for event in receipts:
|
for event in receipts:
|
||||||
room_id = event.pop("room_id")
|
room_id = event["room_id"]
|
||||||
ephemeral_by_room.setdefault(room_id, []).append(event)
|
# exclude room id, as above
|
||||||
|
event_copy = {k: v for (k, v) in event.iteritems()
|
||||||
|
if k != "room_id"}
|
||||||
|
ephemeral_by_room.setdefault(room_id, []).append(event_copy)
|
||||||
|
|
||||||
defer.returnValue((now_token, ephemeral_by_room))
|
defer.returnValue((now_token, ephemeral_by_room))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user