From d736d5cfadcc9a56523fcb1cfe8cb1d2be47a4ec Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 11 Jul 2022 10:22:17 -0600 Subject: [PATCH] Fix to-device messages not being sent to MSC3202-enabled appservices (#13235) The field name was simply incorrect, leading to errors. --- changelog.d/13235.bugfix | 1 + synapse/appservice/scheduler.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 changelog.d/13235.bugfix diff --git a/changelog.d/13235.bugfix b/changelog.d/13235.bugfix new file mode 100644 index 000000000..5c31fbc77 --- /dev/null +++ b/changelog.d/13235.bugfix @@ -0,0 +1 @@ +Fix MSC3202-enabled appservices not receiving to-device messages, preventing messages from being decrypted. \ No newline at end of file diff --git a/synapse/appservice/scheduler.py b/synapse/appservice/scheduler.py index 6c8695346..430ffbcd1 100644 --- a/synapse/appservice/scheduler.py +++ b/synapse/appservice/scheduler.py @@ -331,8 +331,9 @@ class _ServiceQueuer: ) # Add recipients of to-device messages. - # device_message["user_id"] is the ID of the recipient. - users.update(device_message["user_id"] for device_message in to_device_messages) + users.update( + device_message["to_user_id"] for device_message in to_device_messages + ) # Compute and return the counts / fallback key usage states otk_counts = await self._store.count_bulk_e2e_one_time_keys_for_as(users)