3 files changed, 3 insertions, 2 deletions
diff --git a/changelog.d/12520.bugfix b/changelog.d/12520.bugfix
new file mode 100644
index 0000000000..c73005fde8
--- /dev/null
+++ b/changelog.d/12520.bugfix
@@ -0,0 +1 @@
+Fix a bug in the implementation of MSC3202 where Synapse would use the field name `device_unused_fallback_keys`, rather than `device_unused_fallback_key_types`.
\ No newline at end of file
diff --git a/synapse/appservice/__init__.py b/synapse/appservice/__init__.py
index d23d9221bc..a610fb785d 100644
--- a/synapse/appservice/__init__.py
+++ b/synapse/appservice/__init__.py
@@ -42,7 +42,7 @@ logger = logging.getLogger(__name__)
# user ID -> {device ID -> {algorithm -> count}}
TransactionOneTimeKeyCounts = Dict[str, Dict[str, Dict[str, int]]]
-# Type for the `device_unused_fallback_keys` field in an appservice transaction
+# Type for the `device_unused_fallback_key_types` field in an appservice transaction
# user ID -> {device ID -> [algorithm]}
TransactionUnusedFallbackKeys = Dict[str, Dict[str, List[str]]]
diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py
index 0cdbb04bfb..adc6b074da 100644
--- a/synapse/appservice/api.py
+++ b/synapse/appservice/api.py
@@ -278,7 +278,7 @@ class ApplicationServiceApi(SimpleHttpClient):
] = one_time_key_counts
if unused_fallback_keys:
body[
- "org.matrix.msc3202.device_unused_fallback_keys"
+ "org.matrix.msc3202.device_unused_fallback_key_types"
] = unused_fallback_keys
if device_list_summary:
body["org.matrix.msc3202.device_lists"] = {
|