diff options
author | Erik Johnston <erik@matrix.org> | 2015-08-21 11:39:38 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-08-21 11:39:38 +0100 |
commit | 745b72660acd6760334b7be51ad2d91eef2e0257 (patch) | |
tree | 3001ef666fa2c2f3d658f5e60dd3b08e39337be6 /synapse | |
parent | Return fully qualified user_id as per spec (diff) | |
parent | Fix bug where we didn't correctly serialize the redacted_because key over fed... (diff) | |
download | synapse-745b72660acd6760334b7be51ad2d91eef2e0257.tar.xz |
Merge branch 'release-v0.10.0' of github.com:matrix-org/synapse into develop
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/events/__init__.py | 5 | ||||
-rw-r--r-- | synapse/handlers/federation.py | 2 | ||||
-rw-r--r-- | synapse/storage/events.py | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/synapse/events/__init__.py b/synapse/events/__init__.py index 39ce4f7c42..3fb4b5e791 100644 --- a/synapse/events/__init__.py +++ b/synapse/events/__init__.py @@ -90,7 +90,7 @@ class EventBase(object): d = dict(self._event_dict) d.update({ "signatures": self.signatures, - "unsigned": self.unsigned, + "unsigned": dict(self.unsigned), }) return d @@ -109,6 +109,9 @@ class EventBase(object): pdu_json.setdefault("unsigned", {})["age"] = int(age) del pdu_json["unsigned"]["age_ts"] + # This may be a frozen event + pdu_json["unsigned"].pop("redacted_because", None) + return pdu_json def __set__(self, instance, value): diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py index 1e3dccf5a8..4ff20599d6 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py @@ -874,7 +874,7 @@ class FederationHandler(BaseHandler): raise AuthError(403, "Host not in room.") state_groups = yield self.store.get_state_groups( - [event_id] + room_id, [event_id] ) if state_groups: diff --git a/synapse/storage/events.py b/synapse/storage/events.py index 5b64918024..e3eabab13d 100644 --- a/synapse/storage/events.py +++ b/synapse/storage/events.py @@ -811,6 +811,8 @@ class EventsStore(SQLBaseStore): ) if because: + # It's fine to do add the event directly, since get_pdu_json + # will serialise this field correctly ev.unsigned["redacted_because"] = because if get_prev_content and "replaces_state" in ev.unsigned: |