summary refs log tree commit diff
path: root/synapse/server.py
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2021-04-23 17:49:34 +0100
committerAndrew Morgan <andrew@amorgan.xyz>2021-04-23 17:49:34 +0100
commit55dd2951d091872724af4b51cc1ecf3281d532e1 (patch)
tree6226a5eecd42322a5093a02f12d67b3c588f1e8f /synapse/server.py
parentMerge commit 'ad721fc55' into anoa/dinsic_release_1_31_0 (diff)
parentFix up types for the typing handler. (#9638) (diff)
downloadsynapse-55dd2951d091872724af4b51cc1ecf3281d532e1.tar.xz
Merge commit 'cc324d53f' into anoa/dinsic_release_1_31_0
Diffstat (limited to 'synapse/server.py')
-rw-r--r--synapse/server.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/synapse/server.py b/synapse/server.py

index dd4ee7dd3c..d11d08c573 100644 --- a/synapse/server.py +++ b/synapse/server.py
@@ -417,10 +417,19 @@ class HomeServer(metaclass=abc.ABCMeta): return PresenceHandler(self) @cache_in_self - def get_typing_handler(self): + def get_typing_writer_handler(self) -> TypingWriterHandler: if self.config.worker.writers.typing == self.get_instance_name(): return TypingWriterHandler(self) else: + raise Exception("Workers cannot write typing") + + @cache_in_self + def get_typing_handler(self) -> FollowerTypingHandler: + if self.config.worker.writers.typing == self.get_instance_name(): + # Use get_typing_writer_handler to ensure that we use the same + # cached version. + return self.get_typing_writer_handler() + else: return FollowerTypingHandler(self) @cache_in_self