1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/storage/end_to_end_keys.py b/synapse/storage/end_to_end_keys.py
index 1f1721e820..29281630c0 100644
--- a/synapse/storage/end_to_end_keys.py
+++ b/synapse/storage/end_to_end_keys.py
@@ -40,6 +40,11 @@ class EndToEndKeyStore(SQLBaseStore):
allow_none=True,
)
+ if old_key_json and not isinstance(old_key_json, bytes):
+ # In py3 we need old_key_json to match new_key_json type. The DB
+ # returns unicode while encode_canonical_json returns bytes
+ old_key_json = old_key_json.encode("utf-8")
+
new_key_json = encode_canonical_json(device_keys)
if old_key_json == new_key_json:
return False
|