summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2018-11-08 12:48:19 +0000
committerRichard van der Hoff <richard@matrix.org>2018-11-08 12:48:19 +0000
commitc08c649fa12aa0f594eaed4a56638390851c1244 (patch)
tree0aaa3325b4035dc563ac3692f34b122dda52c8a8
parentFix encoding error for consent form on python3 (diff)
parentLets convert bytes to unicode instead (diff)
downloadsynapse-c08c649fa12aa0f594eaed4a56638390851c1244.tar.xz
Merge remote-tracking branch 'origin/erikj/fix_device_comparison' into matrix-org-hotfixes
-rw-r--r--changelog.d/4164.bugfix1
-rw-r--r--synapse/storage/end_to_end_keys.py5
2 files changed, 5 insertions, 1 deletions
diff --git a/changelog.d/4164.bugfix b/changelog.d/4164.bugfix
new file mode 100644

index 0000000000..f70e0b2056 --- /dev/null +++ b/changelog.d/4164.bugfix
@@ -0,0 +1 @@ +Fix noop checks when updating device keys, reducing spurious device list update notifications. diff --git a/synapse/storage/end_to_end_keys.py b/synapse/storage/end_to_end_keys.py
index 1f1721e820..2a0f6cfca9 100644 --- a/synapse/storage/end_to_end_keys.py +++ b/synapse/storage/end_to_end_keys.py
@@ -40,7 +40,10 @@ class EndToEndKeyStore(SQLBaseStore): allow_none=True, ) - new_key_json = encode_canonical_json(device_keys) + # In py3 we need old_key_json to match new_key_json type. The DB + # returns unicode while encode_canonical_json returns bytes. + new_key_json = encode_canonical_json(device_keys).decode("utf-8") + if old_key_json == new_key_json: return False