From a8f7ed28c61359c3d555c6d167771043ed0c753d Mon Sep 17 00:00:00 2001
From: Erik Johnston <erik@matrix.org>
Date: Tue, 28 Jul 2020 11:04:53 +0100
Subject: [PATCH] Typing worker needs to handle stream update requests (#7967)

IIRC this doesn't break tests because its only hit on reconnection, or something.

Basically, when a process needs to fetch missing updates for the `typing` stream it needs to query the writer instance via HTTP (as we don't write typing notifications to the DB), the problem was that the endpoint (`streams`) was only registered on master and specifically not on the typing writer worker.
---
 changelog.d/7967.bugfix              | 1 +
 synapse/replication/http/__init__.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 changelog.d/7967.bugfix

diff --git a/changelog.d/7967.bugfix b/changelog.d/7967.bugfix
new file mode 100644
index 0000000000..105ea1c7e0
--- /dev/null
+++ b/changelog.d/7967.bugfix
@@ -0,0 +1 @@
+Fix experimental support for moving typing off master when worker is restarted, which is broken in v1.18.0-rc1.
diff --git a/synapse/replication/http/__init__.py b/synapse/replication/http/__init__.py
index 5ef1c6c1dc..a84a064c8d 100644
--- a/synapse/replication/http/__init__.py
+++ b/synapse/replication/http/__init__.py
@@ -39,10 +39,10 @@ class ReplicationRestResource(JsonResource):
         federation.register_servlets(hs, self)
         presence.register_servlets(hs, self)
         membership.register_servlets(hs, self)
+        streams.register_servlets(hs, self)
 
         # The following can't currently be instantiated on workers.
         if hs.config.worker.worker_app is None:
             login.register_servlets(hs, self)
             register.register_servlets(hs, self)
             devices.register_servlets(hs, self)
-            streams.register_servlets(hs, self)
-- 
GitLab