summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrej Shadura <andrewsh@debian.org>2021-07-22 18:42:06 +0200
committerAndrej Shadura <andrewsh@debian.org>2021-07-22 18:42:06 +0200
commit81e25363896b892f797b8e8ca906f2b4b49a386a (patch)
treea4b70d834a869940416027db94d3b67d22040174
parentf63f4d3518e7df05a25fd057b7faadceab5c5bb6 (diff)
New upstream version 1.38.1
-rw-r--r--CHANGES.md9
-rw-r--r--debian/changelog6
-rw-r--r--synapse/__init__.py2
-rw-r--r--synapse/rest/client/v2_alpha/sync.py11
4 files changed, 23 insertions, 5 deletions
diff --git a/CHANGES.md b/CHANGES.md
index 82baaa2d..6e5a7204 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,12 @@
+Synapse 1.38.1 (2021-07-22)
+===========================
+
+Bugfixes
+--------
+
+- Always include `device_one_time_keys_count` key in `/sync` response to work around a bug in Element Android that broke encryption for new devices. ([\#10457](https://github.com/matrix-org/synapse/issues/10457))
+
+
Synapse 1.38.0 (2021-07-13)
===========================
diff --git a/debian/changelog b/debian/changelog
index 43d26fc1..5598fdea 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.38.1) stable; urgency=medium
+
+ * New synapse release 1.38.1.
+
+ -- Synapse Packaging team <packages@matrix.org> Thu, 22 Jul 2021 15:37:06 +0100
+
matrix-synapse-py3 (1.38.0) stable; urgency=medium
* New synapse release 1.38.0.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 5ecce24e..7ea5a790 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
except ImportError:
pass
-__version__ = "1.38.0"
+__version__ = "1.38.1"
if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
# We import here so that we don't have to install a bunch of deps when
diff --git a/synapse/rest/client/v2_alpha/sync.py b/synapse/rest/client/v2_alpha/sync.py
index ecbbcf38..32e85007 100644
--- a/synapse/rest/client/v2_alpha/sync.py
+++ b/synapse/rest/client/v2_alpha/sync.py
@@ -252,10 +252,13 @@ class SyncRestServlet(RestServlet):
if sync_result.device_lists.left:
response["device_lists"]["left"] = list(sync_result.device_lists.left)
- if sync_result.device_one_time_keys_count:
- response[
- "device_one_time_keys_count"
- ] = sync_result.device_one_time_keys_count
+ # We always include this because https://github.com/vector-im/element-android/issues/3725
+ # The spec isn't terribly clear on when this can be omitted and how a client would tell
+ # the difference between "no keys present" and "nothing changed" in terms of whole field
+ # absent / individual key type entry absent
+ # Corresponding synapse issue: https://github.com/matrix-org/synapse/issues/10456
+ response["device_one_time_keys_count"] = sync_result.device_one_time_keys_count
+
if sync_result.device_unused_fallback_key_types:
response[
"org.matrix.msc2732.device_unused_fallback_key_types"