summary refs log tree commit diff
path: root/develop/modules/writing_a_module.html
diff options
context:
space:
mode:
authorbabolivier <babolivier@users.noreply.github.com>2021-10-18 16:27:18 +0000
committerbabolivier <babolivier@users.noreply.github.com>2021-10-18 16:27:18 +0000
commit22e6e75a6ec31382d0d51221ce52502126872a00 (patch)
tree559c9aec38c7f5683706fc53eea1f542a49cbb49 /develop/modules/writing_a_module.html
parentdeploy: 55731333488bfd53ece117938dde1cef710eef68 (diff)
downloadsynapse-22e6e75a6ec31382d0d51221ce52502126872a00.tar.xz
deploy: 73743b8ad194c6e833432110b7d0cd1ba2ad1e6a
Diffstat (limited to 'develop/modules/writing_a_module.html')
-rw-r--r--develop/modules/writing_a_module.html11
1 files changed, 11 insertions, 0 deletions
diff --git a/develop/modules/writing_a_module.html b/develop/modules/writing_a_module.html
index 240e171761..c91d9ec9b3 100644
--- a/develop/modules/writing_a_module.html
+++ b/develop/modules/writing_a_module.html
@@ -192,6 +192,17 @@ either the output of the module's <code>parse_config</code> static method (see b
 configuration associated with the module in Synapse's configuration file.</p>
 <p>See the documentation for the <code>ModuleApi</code> class
 <a href="https://github.com/matrix-org/synapse/blob/master/synapse/module_api/__init__.py">here</a>.</p>
+<h2 id="when-synapse-runs-with-several-modules-configured"><a class="header" href="#when-synapse-runs-with-several-modules-configured">When Synapse runs with several modules configured</a></h2>
+<p>If Synapse is running with other modules configured, the order each module appears in
+within the <code>modules</code> section of the Synapse configuration file might restrict what it can
+or cannot register. See <a href="index.html#using-multiple-modules">this section</a> for more
+information.</p>
+<p>On top of the rules listed in the link above, if a callback returns a value that should
+cause the current operation to fail (e.g. if a callback checking an event returns with a
+value that should cause the event to be denied), Synapse will fail the operation and
+ignore any subsequent callbacks that should have been run after this one.</p>
+<p>The documentation for each callback mentions how Synapse behaves when
+multiple modules implement it.</p>
 <h2 id="handling-the-modules-configuration"><a class="header" href="#handling-the-modules-configuration">Handling the module's configuration</a></h2>
 <p>A module can implement the following static method:</p>
 <pre><code class="language-python">@staticmethod