summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Robertson <davidr@element.io>2021-12-07 12:34:38 +0000
committerGitHub <noreply@github.com>2021-12-07 12:34:38 +0000
commit2a3ec6facf79f6aae011d9fb6f9ed5e43c7b6bec (patch)
tree3f75f87c1282a5ebefd5a02d96ea83af66c8d5d4
parentFix `ModuleApi.looping_background_call` for non-async functions (#11524) (diff)
downloadsynapse-2a3ec6facf79f6aae011d9fb6f9ed5e43c7b6bec.tar.xz
Correctly register shutdown handler for presence workers (#11518)
Fixes #11517
-rw-r--r--changelog.d/11518.bugfix1
-rw-r--r--synapse/handlers/presence.py2
2 files changed, 2 insertions, 1 deletions
diff --git a/changelog.d/11518.bugfix b/changelog.d/11518.bugfix
new file mode 100644
index 0000000000..3c27382c7a
--- /dev/null
+++ b/changelog.d/11518.bugfix
@@ -0,0 +1 @@
+Fix a regression in Synapse 1.48.0 where presence workers would not clear their presence updates over replication on shutdown.
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py
index 3df872c578..454d06c973 100644
--- a/synapse/handlers/presence.py
+++ b/synapse/handlers/presence.py
@@ -421,7 +421,7 @@ class WorkerPresenceHandler(BasePresenceHandler):
             self._on_shutdown,
         )
 
-    def _on_shutdown(self) -> None:
+    async def _on_shutdown(self) -> None:
         if self._presence_enabled:
             self.hs.get_tcp_replication().send_command(
                 ClearUserSyncsCommand(self.instance_id)