mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-18 08:54:54 +03:00
deploy: 2927008e48
This commit is contained in:
parent
dfe009101d
commit
6f83706554
110 changed files with 657 additions and 757 deletions
|
@ -1,12 +1,12 @@
|
|||
# This file is maintained as an up-to-date snapshot of the default
|
||||
# homeserver.yaml configuration generated by Synapse. You can find a
|
||||
# complete accounting of possible configuration options at
|
||||
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
#
|
||||
# It is *not* intended to be copied and used as the basis for a real
|
||||
# homeserver.yaml. Instead, if you are starting from scratch, please generate
|
||||
# a fresh config using Synapse by following the instructions in
|
||||
# https://matrix-org.github.io/synapse/latest/setup/installation.html.
|
||||
# https://element-hq.github.io/synapse/latest/setup/installation.html.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/CAPTCHA_SETUP.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/CAPTCHA_SETUP.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Admin APIs
|
||||
==========
|
||||
|
||||
**Note**: The latest documentation can be viewed `here <https://matrix-org.github.io/synapse>`_.
|
||||
**Note**: The latest documentation can be viewed `here <https://element-hq.github.io/synapse>`_.
|
||||
See `docs/README.md <../README.md>`_ for more information.
|
||||
|
||||
**Please update links to point to the website instead.** Existing files in this directory
|
||||
|
@ -11,4 +11,3 @@ This directory includes documentation for the various synapse specific admin
|
|||
APIs available. Updates to the existing Admin API documentation should still
|
||||
be made to these files, but any new documentation files should instead be placed under
|
||||
`docs/usage/administration/admin_api <../usage/administration/admin_api>`_.
|
||||
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/account_validity.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/account_validity.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/event_reports.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/event_reports.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/experimental_features.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/experimental_features.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/media_admin_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/media_admin_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/purge_history_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/purge_history_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/register_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/register_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/room_membership.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/room_membership.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/rooms.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/rooms.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/server_notices.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/server_notices.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/user_admin_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/user_admin_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -311,11 +311,12 @@ granting them access to the Admin API, among other things.</p>
|
|||
</li>
|
||||
<li>
|
||||
<p><code>deactivated</code> - <strong>bool</strong>, optional. If unspecified, deactivation state will be left unchanged.</p>
|
||||
<p>Note: the <code>password</code> field must also be set if both of the following are true:</p>
|
||||
<p>Note:</p>
|
||||
<ul>
|
||||
<li><code>deactivated</code> is set to <code>false</code> and the user was previously deactivated (you are reactivating this user)</li>
|
||||
<li>Users are allowed to set their password on this homeserver (both <code>password_config.enabled</code> and
|
||||
<code>password_config.localdb_enabled</code> config options are set to <code>true</code>).
|
||||
<li>For the password field there is no strict check of the necessity for its presence.
|
||||
It is possible to have active users without a password, e.g. when authenticating with OIDC is configured.
|
||||
You must check yourself whether a password is required when reactivating a user or not.</li>
|
||||
<li>It is not possible to set a password if the config option <code>password_config.localdb_enabled</code> is set <code>false</code>.
|
||||
Users' passwords are wiped upon account deactivation, hence the need to set a new one here.</li>
|
||||
</ul>
|
||||
<p>Note: a user cannot be erased with this API. For more details on
|
||||
|
@ -451,7 +452,7 @@ User objects contain the following fields:</p>
|
|||
<li><code>is_guest</code> - bool - Status if that user is a guest account.</li>
|
||||
<li><code>admin</code> - bool - Status if that user is a server administrator.</li>
|
||||
<li><code>user_type</code> - string - Type of the user. Normal users are type <code>None</code>.
|
||||
This allows user type specific behaviour. There are also types <code>support</code> and <code>bot</code>. </li>
|
||||
This allows user type specific behaviour. There are also types <code>support</code> and <code>bot</code>.</li>
|
||||
<li><code>deactivated</code> - bool - Status if that user has been marked as deactivated.</li>
|
||||
<li><code>erased</code> - bool - Status if that user has been marked as erased.</li>
|
||||
<li><code>shadow_banned</code> - bool - Status if that user has been marked as shadow banned.</li>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/version_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/admin_api/version_api.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/application_services.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/application_services.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/auth_chain_difference_algorithm.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/auth_chain_difference_algorithm.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/code_style.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/code_style.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/consent_tracking.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/consent_tracking.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -176,7 +176,7 @@ database and shows a success page.</p>
|
|||
<p>To enable this, first create templates for the policy and success pages.
|
||||
These should be stored on the local filesystem.</p>
|
||||
<p>These templates use the <a href="http://jinja.pocoo.org">Jinja2</a> templating language,
|
||||
and <a href="https://github.com/matrix-org/synapse/tree/develop/docs/privacy_policy_templates/">docs/privacy_policy_templates</a>
|
||||
and <a href="https://github.com/element-hq/synapse/tree/develop/docs/privacy_policy_templates/">docs/privacy_policy_templates</a>
|
||||
gives examples of the sort of thing that can be done.</p>
|
||||
<p>Note that the templates must be stored under a name giving the language of the
|
||||
template - currently this must always be <code>en</code> (for "English");
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/delegate.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/delegate.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/deprecation_policy.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/deprecation_policy.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/cas.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/cas.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/contributing_guide.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/contributing_guide.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -162,14 +162,15 @@
|
|||
<h1 id="contributing"><a class="header" href="#contributing">Contributing</a></h1>
|
||||
<p>This document aims to get you started with contributing to Synapse!</p>
|
||||
<h1 id="1-who-can-contribute-to-synapse"><a class="header" href="#1-who-can-contribute-to-synapse">1. Who can contribute to Synapse?</a></h1>
|
||||
<p>Everyone is welcome to contribute code to <a href="https://github.com/matrix-org">matrix.org
|
||||
projects</a>, provided that they are willing to
|
||||
license their contributions under the same license as the project itself. We
|
||||
follow a simple 'inbound=outbound' model for contributions: the act of
|
||||
submitting an 'inbound' contribution means that the contributor agrees to
|
||||
license the code under the same terms as the project's overall 'outbound'
|
||||
license - in our case, this is almost always Apache Software License v2 (see
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/LICENSE">LICENSE</a>).</p>
|
||||
<p>Everyone is welcome to contribute code to
|
||||
<a href="https://github.com/element-hq/synapse">Synapse</a>, provided that they are willing
|
||||
to license their contributions to Element under a <a href="https://cla-assistant.io/element-hq/synapse">Contributor License
|
||||
Agreement</a> (CLA). This ensures that
|
||||
their contribution will be made available under an OSI-approved open-source
|
||||
license, currently Affero General Public License v3 (AGPLv3).</p>
|
||||
<p>Please see the
|
||||
<a href="https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/">Element blog post</a>
|
||||
for the full rationale.</p>
|
||||
<h1 id="2-what-do-i-need"><a class="header" href="#2-what-do-i-need">2. What do I need?</a></h1>
|
||||
<p>If you are running Windows, the Windows Subsystem for Linux (WSL) is strongly
|
||||
recommended for development. More information about WSL can be found at
|
||||
|
@ -222,8 +223,8 @@ cp docs/sample_log_config.yaml log_config.yaml
|
|||
<ul>
|
||||
<li>Set a <code>server_name</code></li>
|
||||
<li>Adjusting paths to be correct for your system like the <code>log_config</code> to point to the log config you just copied</li>
|
||||
<li>Using a <a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#database">PostgreSQL database instead of SQLite</a></li>
|
||||
<li>Adding a <a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#registration_shared_secret"><code>registration_shared_secret</code></a> so you can use <a href="https://matrix-org.github.io/synapse/latest/setup/installation.html#registering-a-user"><code>register_new_matrix_user</code> command</a>.</li>
|
||||
<li>Using a <a href="https://vector-im.github.io/synapse/latest/usage/configuration/config_documentation.html#database">PostgreSQL database instead of SQLite</a></li>
|
||||
<li>Adding a <a href="https://vector-im.github.io/synapse/latest/usage/configuration/config_documentation.html#registration_shared_secret"><code>registration_shared_secret</code></a> so you can use <a href="https://vector-im.github.io/synapse/latest/setup/installation.html#registering-a-user"><code>register_new_matrix_user</code> command</a>.</li>
|
||||
</ul>
|
||||
<p>And then run Synapse with the following command:</p>
|
||||
<pre><code class="language-sh">poetry run python -m synapse.app.homeserver -c homeserver.yaml
|
||||
|
@ -236,19 +237,19 @@ resolve any issues and re-run until successful.</p>
|
|||
<h1 id="5-get-in-touch"><a class="header" href="#5-get-in-touch">5. Get in touch.</a></h1>
|
||||
<p>Join our developer community on Matrix: <a href="https://matrix.to/#/#synapse-dev:matrix.org">#synapse-dev:matrix.org</a>!</p>
|
||||
<h1 id="6-pick-an-issue"><a class="header" href="#6-pick-an-issue">6. Pick an issue.</a></h1>
|
||||
<p>Fix your favorite problem or perhaps find a <a href="https://github.com/matrix-org/synapse/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22">Good First Issue</a>
|
||||
<p>Fix your favorite problem or perhaps find a <a href="https://github.com/element-hq/synapse/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22">Good First Issue</a>
|
||||
to work on.</p>
|
||||
<h1 id="7-turn-coffee-into-code-and-documentation"><a class="header" href="#7-turn-coffee-into-code-and-documentation">7. Turn coffee into code and documentation!</a></h1>
|
||||
<p>There is a growing amount of documentation located in the
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs"><code>docs</code></a>
|
||||
directory, with a rendered version <a href="https://matrix-org.github.io/synapse">available online</a>.
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs"><code>docs</code></a>
|
||||
directory, with a rendered version <a href="https://vector-im.github.io/synapse">available online</a>.
|
||||
This documentation is intended primarily for sysadmins running their
|
||||
own Synapse instance, as well as developers interacting externally with
|
||||
Synapse.
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs/development"><code>docs/development</code></a>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs/development"><code>docs/development</code></a>
|
||||
exists primarily to house documentation for
|
||||
Synapse developers.
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs/admin_api"><code>docs/admin_api</code></a> houses documentation
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs/admin_api"><code>docs/admin_api</code></a> houses documentation
|
||||
regarding Synapse's Admin API, which is used mostly by sysadmins and external
|
||||
service developers.</p>
|
||||
<p>Synapse's code style is documented <a href="../code_style.html">here</a>. Please follow
|
||||
|
@ -256,12 +257,9 @@ it, including the conventions for <a href="../code_style.html#configuration-code
|
|||
options and documentation</a>.</p>
|
||||
<p>We welcome improvements and additions to our documentation itself! When
|
||||
writing new pages, please
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs#adding-to-the-documentation">build <code>docs</code> to a book</a>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs#adding-to-the-documentation">build <code>docs</code> to a book</a>
|
||||
to check that your contributions render correctly. The docs are written in
|
||||
<a href="https://guides.github.com/features/mastering-markdown/">GitHub-Flavoured Markdown</a>.</p>
|
||||
<p>Some documentation also exists in <a href="https://github.com/matrix-org/synapse/wiki">Synapse's GitHub
|
||||
Wiki</a>, although this is primarily
|
||||
contributed to by community authors.</p>
|
||||
<p>When changes are made to any Rust code then you must call either <code>poetry install</code>
|
||||
or <code>maturin develop</code> (if installed) to rebuild the Rust code. Using <a href="https://github.com/PyO3/maturin"><code>maturin</code></a>
|
||||
is quicker than <code>poetry install</code>, so is recommended when making frequent
|
||||
|
@ -376,7 +374,7 @@ configuration:</p>
|
|||
<li>To run with Postgres, supply the <code>-e POSTGRES=1 -e MULTI_POSTGRES=1</code> environment flags.</li>
|
||||
<li>To run with Synapse in worker mode, supply the <code>-e WORKERS=1 -e REDIS=1</code> environment flags (in addition to the Postgres flags).</li>
|
||||
</ul>
|
||||
<p>For more details about other configurations, see the <a href="https://github.com/matrix-org/sytest/blob/develop/docker/README.md">Docker-specific documentation in the SyTest repo</a>.</p>
|
||||
<p>For more details about other configurations, see the <a href="https://github.com/vector-im/sytest/blob/develop/docker/README.md">Docker-specific documentation in the SyTest repo</a>.</p>
|
||||
<h2 id="run-the-integration-tests-complement"><a class="header" href="#run-the-integration-tests-complement">Run the integration tests (<a href="https://github.com/matrix-org/complement">Complement</a>).</a></h2>
|
||||
<p><a href="https://github.com/matrix-org/complement">Complement</a> is a suite of black box tests that can be run on any homeserver implementation. It can also be thought of as end-to-end (e2e) tests.</p>
|
||||
<p>It's often nice to develop on Synapse and write Complement tests at the same time.
|
||||
|
@ -398,7 +396,7 @@ Here is how to run your local Synapse checkout against your local Complement che
|
|||
<li>If setting <code>WORKERS=1</code>, optionally set <code>WORKER_TYPES=</code> to declare which worker
|
||||
types you wish to test. A simple comma-delimited string containing the worker types
|
||||
defined from the <code>WORKERS_CONFIG</code> template in
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/docker/configure_workers_and_start.py#L54">here</a>.
|
||||
<a href="https://github.com/element-hq/synapse/blob/develop/docker/configure_workers_and_start.py#L54">here</a>.
|
||||
A safe example would be <code>WORKER_TYPES="federation_inbound, federation_sender, synchrotron"</code>.
|
||||
See the <a href="../workers.html">worker documentation</a> for additional information on workers.</li>
|
||||
</ul>
|
||||
|
@ -452,7 +450,7 @@ in the format of <code>PRnumber.type</code>. The type can be one of the followin
|
|||
<li><code>removal</code> (also used for deprecations)</li>
|
||||
<li><code>misc</code> (for internal-only changes)</li>
|
||||
</ul>
|
||||
<p>This file will become part of our <a href="https://github.com/matrix-org/synapse/blob/master/CHANGES.md">changelog</a> at the next
|
||||
<p>This file will become part of our <a href="https://github.com/element-hq/synapse/blob/master/CHANGES.md">changelog</a> at the next
|
||||
release, so the content of the file should be a short description of your
|
||||
change in the same style as the rest of the changelog. The file can contain Markdown
|
||||
formatting, and must end with a full stop (.) or an exclamation mark (!) for
|
||||
|
@ -480,7 +478,7 @@ chicken-and-egg problem.</p>
|
|||
add the changelog file to your branch, or:</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Look at the <a href="https://github.com/matrix-org/synapse/issues?q=">list of all
|
||||
<p>Look at the <a href="https://github.com/element-hq/synapse/issues?q=">list of all
|
||||
issues/PRs</a>, add one to the
|
||||
highest number you see, and quickly open the PR before somebody else claims
|
||||
your number.</p>
|
||||
|
@ -507,70 +505,16 @@ directory, you will need both a regular newsfragment <em>and</em> an entry in th
|
|||
debian changelog. (Though typically such changes should be submitted as two
|
||||
separate pull requests.)</p>
|
||||
<h2 id="sign-off"><a class="header" href="#sign-off">Sign off</a></h2>
|
||||
<p>In order to have a concrete record that your contribution is intentional
|
||||
and you agree to license it under the same terms as the project's license, we've adopted the
|
||||
same lightweight approach that the Linux Kernel
|
||||
<a href="https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin%3E">submitting patches process</a>,
|
||||
<a href="https://github.com/docker/docker/blob/master/CONTRIBUTING.md">Docker</a>, and many other
|
||||
projects use: the DCO (<a href="http://developercertificate.org/">Developer Certificate of Origin</a>).
|
||||
This is a simple declaration that you wrote
|
||||
the contribution or otherwise have the right to contribute it to Matrix:</p>
|
||||
<pre><code>Developer Certificate of Origin
|
||||
Version 1.1
|
||||
|
||||
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
||||
660 York Street, Suite 102,
|
||||
San Francisco, CA 94110 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
Developer's Certificate of Origin 1.1
|
||||
|
||||
By making a contribution to this project, I certify that:
|
||||
|
||||
(a) The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the open source license
|
||||
indicated in the file; or
|
||||
|
||||
(b) The contribution is based upon previous work that, to the best
|
||||
of my knowledge, is covered under an appropriate open source
|
||||
license and I have the right under that license to submit that
|
||||
work with modifications, whether created in whole or in part
|
||||
by me, under the same open source license (unless I am
|
||||
permitted to submit under a different license), as indicated
|
||||
in the file; or
|
||||
|
||||
(c) The contribution was provided directly to me by some other
|
||||
person who certified (a), (b) or (c) and I have not modified
|
||||
it.
|
||||
|
||||
(d) I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off) is
|
||||
maintained indefinitely and may be redistributed consistent with
|
||||
this project or the open source license(s) involved.
|
||||
</code></pre>
|
||||
<p>If you agree to this for your contribution, then all that's needed is to
|
||||
include the line in your commit or pull request comment:</p>
|
||||
<pre><code>Signed-off-by: Your Name <your@email.example.org>
|
||||
</code></pre>
|
||||
<p>After you make a PR a comment from @CLAassistant will appear asking you to sign
|
||||
the <a href="https://cla-assistant.io/element-hq/synapse">CLA</a>.
|
||||
This will link a page to allow you to confirm that you have read and agreed to
|
||||
the CLA by signing in with GitHub.</p>
|
||||
<p>Alternatively, you can sign off before opening a PR by going to
|
||||
<a href="https://cla-assistant.io/element-hq/synapse">https://cla-assistant.io/element-hq/synapse</a>.</p>
|
||||
<p>We accept contributions under a legally identifiable name, such as
|
||||
your name on government documentation or common-law names (names
|
||||
claimed by legitimate usage or repute). Unfortunately, we cannot
|
||||
accept anonymous contributions at this time.</p>
|
||||
<p>Git allows you to add this signoff automatically when using the <code>-s</code>
|
||||
flag to <code>git commit</code>, which uses the name and email set in your
|
||||
<code>user.name</code> and <code>user.email</code> git configs.</p>
|
||||
<h3 id="private-sign-off"><a class="header" href="#private-sign-off">Private Sign off</a></h3>
|
||||
<p>If you would like to provide your legal name privately to the Matrix.org
|
||||
Foundation (instead of in a public commit or comment), you can do so
|
||||
by emailing your legal name and a link to the pull request to
|
||||
<a href="mailto:dco@matrix.org?subject=Private%20sign%20off">dco@matrix.org</a>.
|
||||
It helps to include "sign off" or similar in the subject line. You will then
|
||||
be instructed further.</p>
|
||||
<p>Once private sign off is complete, doing so for future contributions will not
|
||||
be required.</p>
|
||||
<h1 id="10-turn-feedback-into-better-code"><a class="header" href="#10-turn-feedback-into-better-code">10. Turn feedback into better code.</a></h1>
|
||||
<p>Once the Pull Request is opened, you will see a few things:</p>
|
||||
<ol>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/database_schema.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/database_schema.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/demo.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/demo.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -161,7 +161,7 @@
|
|||
|
||||
<h1 id="synapse-demo-setup"><a class="header" href="#synapse-demo-setup">Synapse demo setup</a></h1>
|
||||
<p><strong>DO NOT USE THESE DEMO SERVERS IN PRODUCTION</strong></p>
|
||||
<p>Requires you to have a <a href="https://matrix-org.github.io/synapse/develop/development/contributing_guide.html#4-install-the-dependencies">Synapse development environment setup</a>.</p>
|
||||
<p>Requires you to have a <a href="https://element-hq.github.io/synapse/develop/development/contributing_guide.html#4-install-the-dependencies">Synapse development environment setup</a>.</p>
|
||||
<p>The demo setup allows running three federation Synapse servers, with server
|
||||
names <code>localhost:8480</code>, <code>localhost:8481</code>, and <code>localhost:8482</code>.</p>
|
||||
<p>You can access them via any Matrix client over HTTP at <code>localhost:8080</code>,
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/dependencies.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/dependencies.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -216,9 +216,9 @@ phonenumbers = [
|
|||
]
|
||||
</code></pre>
|
||||
<p>We can see this pinned version inside the docker image for that release:</p>
|
||||
<pre><code>$ docker pull matrixdotorg/synapse:v1.57.0
|
||||
<pre><code>$ docker pull vectorim/synapse:v1.97.0
|
||||
...
|
||||
$ docker run --entrypoint pip matrixdotorg/synapse:v1.57.0 show phonenumbers
|
||||
$ docker run --entrypoint pip vectorim/synapse:v1.97.0 show phonenumbers
|
||||
Name: phonenumbers
|
||||
Version: 8.12.44
|
||||
Summary: Python version of Google's common library for parsing, formatting, storing and validating international phone numbers.
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/experimental_features.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/experimental_features.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/git.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/git.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -168,10 +168,10 @@ before. Here, by way of an arbitrary example, is the top of <code>git log --grap
|
|||
<p>Note how the commit comment explains clearly what is changing and why. Also
|
||||
note the <em>absence</em> of merge commits, as well as the absence of commits called
|
||||
things like (to pick a few culprits):
|
||||
<a href="https://github.com/matrix-org/synapse/commit/84691da6c">“pep8”</a>, <a href="https://github.com/matrix-org/synapse/commit/474810d9d">“fix broken
|
||||
<a href="https://github.com/element-hq/synapse/commit/84691da6c">“pep8”</a>, <a href="https://github.com/element-hq/synapse/commit/474810d9d">“fix broken
|
||||
test”</a>,
|
||||
<a href="https://github.com/matrix-org/synapse/commit/c9d72e457">“oops”</a>,
|
||||
<a href="https://github.com/matrix-org/synapse/commit/836358823">“typo”</a>, or <a href="https://github.com/matrix-org/synapse/commit/707374d5d">“Who's
|
||||
<a href="https://github.com/element-hq/synapse/commit/c9d72e457">“oops”</a>,
|
||||
<a href="https://github.com/element-hq/synapse/commit/836358823">“typo”</a>, or <a href="https://github.com/element-hq/synapse/commit/707374d5d">“Who's
|
||||
the president?”</a>.</p>
|
||||
<p>There are a number of reasons why keeping a clean commit history is a good
|
||||
thing:</p>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/internal_documentation/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/internal_documentation/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/releases.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/releases.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/reviews.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/reviews.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/room-dag-concepts.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/room-dag-concepts.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/saml.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/saml.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/synapse_architecture/cancellation.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/synapse_architecture/cancellation.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/synapse_architecture/faster_joins.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/synapse_architecture/faster_joins.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/synapse_architecture/streams.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/development/synapse_architecture/streams.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -160,7 +160,7 @@
|
|||
</div>
|
||||
|
||||
<h2 id="streams"><a class="header" href="#streams">Streams</a></h2>
|
||||
<p>Synapse has a concept of "streams", which are roughly described in <a href="https://github.com/matrix-org/synapse/blob/develop/synapse/storage/util/id_generators.py"><code>id_generators.py</code></a>.
|
||||
<p>Synapse has a concept of "streams", which are roughly described in <a href="https://github.com/element-hq/synapse/blob/develop/synapse/storage/util/id_generators.py"><code>id_generators.py</code></a>.
|
||||
Generally speaking, streams are a series of notifications that something in Synapse's database has changed that the application might need to respond to.
|
||||
For example:</p>
|
||||
<ul>
|
||||
|
@ -168,9 +168,9 @@ For example:</p>
|
|||
<li>The account data stream reports changes to users' <a href="https://spec.matrix.org/v1.7/client-server-api/#client-config">account data</a>.</li>
|
||||
<li>The to-device stream reports when a device has a new <a href="https://spec.matrix.org/v1.7/client-server-api/#send-to-device-messaging">to-device message</a>.</li>
|
||||
</ul>
|
||||
<p>See <a href="https://github.com/matrix-org/synapse/blob/develop/synapse/replication/tcp/streams/__init__.py"><code>synapse.replication.tcp.streams</code></a> for the full list of streams.</p>
|
||||
<p>See <a href="https://github.com/element-hq/synapse/blob/develop/synapse/replication/tcp/streams/__init__.py"><code>synapse.replication.tcp.streams</code></a> for the full list of streams.</p>
|
||||
<p>It is very helpful to understand the streams mechanism when working on any part of Synapse that needs to respond to changes—especially if those changes are made by different workers.
|
||||
To that end, let's describe streams formally, paraphrasing from the docstring of <a href="https://github.com/matrix-org/synapse/blob/a719b703d9bd0dade2565ddcad0e2f3a7a9d4c37/synapse/storage/util/id_generators.py#L96"><code>AbstractStreamIdGenerator</code></a>.</p>
|
||||
To that end, let's describe streams formally, paraphrasing from the docstring of <a href="https://github.com/element-hq/synapse/blob/a719b703d9bd0dade2565ddcad0e2f3a7a9d4c37/synapse/storage/util/id_generators.py#L96"><code>AbstractStreamIdGenerator</code></a>.</p>
|
||||
<h3 id="definition"><a class="header" href="#definition">Definition</a></h3>
|
||||
<p>A stream is an append-only log <code>T1, T2, ..., Tn, ...</code> of facts<sup class="footnote-reference"><a href="#1">1</a></sup> which grows over time.
|
||||
Only "writers" can add facts to a stream, and there may be multiple writers.</p>
|
||||
|
|
|
@ -1 +1 @@
|
|||
window.SYNAPSE_VERSION = 'v1.98';
|
||||
window.SYNAPSE_VERSION = "latest";
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/federate.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/federate.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -211,7 +211,7 @@ release of Synapse.</p>
|
|||
<p>If you want to get up and running quickly with a trio of homeservers in a
|
||||
private federation, there is a script in the <code>demo</code> directory. This is mainly
|
||||
useful just for development purposes. See
|
||||
<a href="https://matrix-org.github.io/synapse/develop/development/demo.html">demo scripts</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/develop/development/demo.html">demo scripts</a>.</p>
|
||||
|
||||
</main>
|
||||
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/welcome_and_overview.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/welcome_and_overview.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -161,8 +161,7 @@
|
|||
|
||||
<h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
|
||||
<p>Welcome to the documentation repository for Synapse, a
|
||||
<a href="https://matrix.org">Matrix</a> homeserver implementation developed by the matrix.org core
|
||||
team.</p>
|
||||
<a href="https://matrix.org">Matrix</a> homeserver implementation developed by Element.</p>
|
||||
<h2 id="installing-and-using-synapse"><a class="header" href="#installing-and-using-synapse">Installing and using Synapse</a></h2>
|
||||
<p>This documentation covers topics for <strong>installation</strong>, <strong>configuration</strong> and
|
||||
<strong>maintenance</strong> of your Synapse process:</p>
|
||||
|
@ -201,7 +200,7 @@ following documentation:</p>
|
|||
<li>
|
||||
<p>Read the <a href="development/contributing_guide.html">Contributing Guide</a>. It is meant
|
||||
to walk new contributors through the process of developing and submitting a
|
||||
change to the Synapse codebase (which is <a href="https://github.com/matrix-org/synapse">hosted on
|
||||
change to the Synapse codebase (which is <a href="https://github.com/element-hq/synapse">hosted on
|
||||
GitHub</a>).</p>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -211,9 +210,9 @@ how to <a href="development/contributing_guide.html#run-the-linters">lint</a> an
|
|||
<a href="development/contributing_guide.html#8-test-test-test">test</a> your code.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Look at <a href="https://github.com/matrix-org/synapse/issues">the issue tracker</a> for
|
||||
<p>Look at <a href="https://github.com/element-hq/synapse/issues">the issue tracker</a> for
|
||||
bugs to fix or features to add. If you're new, it may be best to start with
|
||||
those labeled <a href="https://github.com/matrix-org/synapse/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">good first
|
||||
those labeled <a href="https://github.com/element-hq/synapse/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">good first
|
||||
issue</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -229,17 +228,9 @@ do so!</p>
|
|||
</li>
|
||||
<li>
|
||||
<p>And finally, contribute to this documentation! The source for which is
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs">located here</a>.</p>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs">located here</a>.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="donating-to-synapse-development"><a class="header" href="#donating-to-synapse-development">Donating to Synapse development</a></h2>
|
||||
<p>Want to help keep Synapse going but don't know how to code? Synapse is a
|
||||
<a href="https://matrix.org">Matrix.org Foundation</a> project. Consider becoming a
|
||||
supporter on <a href="https://liberapay.com/matrixdotorg">Liberapay</a>,
|
||||
<a href="https://patreon.com/matrixdotorg">Patreon</a> or through
|
||||
<a href="https://paypal.me/matrixdotorg">PayPal</a> via a one-time donation.</p>
|
||||
<p>If you are an organisation or enterprise and would like to sponsor development,
|
||||
reach out to us over email at: support (at) matrix.org</p>
|
||||
<h2 id="reporting-a-security-vulnerability"><a class="header" href="#reporting-a-security-vulnerability">Reporting a security vulnerability</a></h2>
|
||||
<p>If you've found a security issue in Synapse or any other Matrix.org Foundation
|
||||
project, please report it to us in accordance with our <a href="https://www.matrix.org/security-disclosure-policy/">Security Disclosure
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/jwt.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/jwt.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/log_contexts.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/log_contexts.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/manhole.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/manhole.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -186,7 +186,7 @@ ensures that access to the <code>manhole</code> is only possible for local users
|
|||
--mount type=volume,src=synapse-data,dst=/data \
|
||||
-p 8008:8008 \
|
||||
-p 127.0.0.1:9000:9000 \
|
||||
matrixdotorg/synapse:latest
|
||||
vectorim/synapse:latest
|
||||
</code></pre>
|
||||
<h4 id="native-config"><a class="header" href="#native-config">Native config</a></h4>
|
||||
<p>If you are not using docker, set <code>bind_addresses</code> to <code>['::1', '127.0.0.1']</code> as shown.
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/media_repository.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/media_repository.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/message_retention_policies.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/message_retention_policies.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/metrics-howto.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/metrics-howto.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -239,8 +239,8 @@ the listener port configured with the <code>metrics</code> resource.</p>
|
|||
<p>Restart Prometheus.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Consider using the <a href="https://github.com/matrix-org/synapse/tree/master/contrib/grafana/">grafana dashboard</a>
|
||||
and required <a href="https://github.com/matrix-org/synapse/tree/master/contrib/prometheus/">recording rules</a> </p>
|
||||
<p>Consider using the <a href="https://github.com/element-hq/synapse/tree/master/contrib/grafana/">grafana dashboard</a>
|
||||
and required <a href="https://github.com/element-hq/synapse/tree/master/contrib/prometheus/">recording rules</a></p>
|
||||
</li>
|
||||
</ol>
|
||||
<h2 id="monitoring-workers"><a class="header" href="#monitoring-workers">Monitoring workers</a></h2>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/account_data_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/account_data_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/account_validity_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/account_validity_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/add_extra_fields_to_client_events_unsigned.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/add_extra_fields_to_client_events_unsigned.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/background_update_controller_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/background_update_controller_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/index.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/index.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/password_auth_provider_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/password_auth_provider_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/porting_legacy_module.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/porting_legacy_module.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/presence_router_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/presence_router_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/spam_checker_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/spam_checker_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/third_party_rules_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/third_party_rules_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -322,7 +322,7 @@ wishing this callback to be called on every profile change are encouraged to dis
|
|||
per-room profiles globally using the <code>allow_per_room_profiles</code> configuration setting in
|
||||
Synapse's configuration file.
|
||||
This callback is not called when registering a user, even when setting it through the
|
||||
<a href="https://matrix-org.github.io/synapse/latest/modules/password_auth_provider_callbacks.html#get_displayname_for_registration"><code>get_displayname_for_registration</code></a>
|
||||
<a href="https://element-hq.github.io/synapse/latest/modules/password_auth_provider_callbacks.html#get_displayname_for_registration"><code>get_displayname_for_registration</code></a>
|
||||
module callback.</p>
|
||||
<p>If multiple modules implement this callback, Synapse runs them all in order.</p>
|
||||
<h3 id="on_user_deactivation_status_changed"><a class="header" href="#on_user_deactivation_status_changed"><code>on_user_deactivation_status_changed</code></a></h3>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/writing_a_module.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/modules/writing_a_module.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -168,7 +168,7 @@ the <code>synapse.module_api.ModuleApi</code> class. The configuration is a dict
|
|||
either the output of the module's <code>parse_config</code> static method (see below), or the
|
||||
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>
|
||||
<a href="https://github.com/element-hq/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
|
||||
|
@ -219,7 +219,7 @@ methods. The callback functions are passed to these methods as keyword arguments
|
|||
the callback name as the argument name and the function as its value. A
|
||||
<code>register_[...]_callbacks</code> method exists for each category.</p>
|
||||
<p>Callbacks for each category can be found on their respective page of the
|
||||
<a href="https://matrix-org.github.io/synapse">Synapse documentation website</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse">Synapse documentation website</a>.</p>
|
||||
<h2 id="caching"><a class="header" href="#caching">Caching</a></h2>
|
||||
<p><em>Added in Synapse 1.74.0.</em></p>
|
||||
<p>Modules can leverage Synapse's caching tools to manage their own cached functions. This
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/openid.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/openid.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/opentracing.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/opentracing.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/other/running_synapse_on_single_board_computers.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/other/running_synapse_on_single_board_computers.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/password_auth_providers.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/password_auth_providers.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/postgres.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/postgres.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -159,8 +159,7 @@
|
|||
|
||||
<div style="break-before: page; page-break-before: always;"></div><h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
|
||||
<p>Welcome to the documentation repository for Synapse, a
|
||||
<a href="https://matrix.org">Matrix</a> homeserver implementation developed by the matrix.org core
|
||||
team.</p>
|
||||
<a href="https://matrix.org">Matrix</a> homeserver implementation developed by Element.</p>
|
||||
<h2 id="installing-and-using-synapse"><a class="header" href="#installing-and-using-synapse">Installing and using Synapse</a></h2>
|
||||
<p>This documentation covers topics for <strong>installation</strong>, <strong>configuration</strong> and
|
||||
<strong>maintenance</strong> of your Synapse process:</p>
|
||||
|
@ -199,7 +198,7 @@ following documentation:</p>
|
|||
<li>
|
||||
<p>Read the <a href="development/contributing_guide.html">Contributing Guide</a>. It is meant
|
||||
to walk new contributors through the process of developing and submitting a
|
||||
change to the Synapse codebase (which is <a href="https://github.com/matrix-org/synapse">hosted on
|
||||
change to the Synapse codebase (which is <a href="https://github.com/element-hq/synapse">hosted on
|
||||
GitHub</a>).</p>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -209,9 +208,9 @@ how to <a href="development/contributing_guide.html#run-the-linters">lint</a> an
|
|||
<a href="development/contributing_guide.html#8-test-test-test">test</a> your code.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Look at <a href="https://github.com/matrix-org/synapse/issues">the issue tracker</a> for
|
||||
<p>Look at <a href="https://github.com/element-hq/synapse/issues">the issue tracker</a> for
|
||||
bugs to fix or features to add. If you're new, it may be best to start with
|
||||
those labeled <a href="https://github.com/matrix-org/synapse/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">good first
|
||||
those labeled <a href="https://github.com/element-hq/synapse/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">good first
|
||||
issue</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -227,17 +226,9 @@ do so!</p>
|
|||
</li>
|
||||
<li>
|
||||
<p>And finally, contribute to this documentation! The source for which is
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs">located here</a>.</p>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs">located here</a>.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="donating-to-synapse-development"><a class="header" href="#donating-to-synapse-development">Donating to Synapse development</a></h2>
|
||||
<p>Want to help keep Synapse going but don't know how to code? Synapse is a
|
||||
<a href="https://matrix.org">Matrix.org Foundation</a> project. Consider becoming a
|
||||
supporter on <a href="https://liberapay.com/matrixdotorg">Liberapay</a>,
|
||||
<a href="https://patreon.com/matrixdotorg">Patreon</a> or through
|
||||
<a href="https://paypal.me/matrixdotorg">PayPal</a> via a one-time donation.</p>
|
||||
<p>If you are an organisation or enterprise and would like to sponsor development,
|
||||
reach out to us over email at: support (at) matrix.org</p>
|
||||
<h2 id="reporting-a-security-vulnerability"><a class="header" href="#reporting-a-security-vulnerability">Reporting a security vulnerability</a></h2>
|
||||
<p>If you've found a security issue in Synapse or any other Matrix.org Foundation
|
||||
project, please report it to us in accordance with our <a href="https://www.matrix.org/security-disclosure-policy/">Security Disclosure
|
||||
|
@ -261,9 +252,9 @@ that your email address is probably <code>user@example.com</code> rather than
|
|||
for most users.</p>
|
||||
<h4 id="docker-images-and-ansible-playbooks"><a class="header" href="#docker-images-and-ansible-playbooks">Docker images and Ansible playbooks</a></h4>
|
||||
<p>There is an official synapse image available at
|
||||
<a href="https://hub.docker.com/r/matrixdotorg/synapse">https://hub.docker.com/r/matrixdotorg/synapse</a> or at <a href="https://ghcr.io/matrix-org/synapse"><code>ghcr.io/matrix-org/synapse</code></a>
|
||||
<a href="https://hub.docker.com/r/vectorim/synapse">https://hub.docker.com/r/vectorim/synapse</a> or at <a href="https://ghcr.io/element-hq/synapse"><code>ghcr.io/element-hq/synapse</code></a>
|
||||
which can be used with the docker-compose file available at
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/contrib/docker">contrib/docker</a>.
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/contrib/docker">contrib/docker</a>.
|
||||
Further information on this including configuration options is available in the README
|
||||
on hub.docker.com.</p>
|
||||
<p>Alternatively, Andreas Peters (previously Silvio Fricke) has contributed a
|
||||
|
@ -280,6 +271,7 @@ For more details, see
|
|||
<p>Matrix.org provides Debian/Ubuntu packages of Synapse, for the amd64
|
||||
architecture via <a href="https://packages.matrix.org/debian/">https://packages.matrix.org/debian/</a>.</p>
|
||||
<p>To install the latest release:</p>
|
||||
<p>TODO UPDATE ALL THIS</p>
|
||||
<pre><code class="language-sh">sudo apt install -y lsb-release wget apt-transport-https
|
||||
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" |
|
||||
|
@ -1822,7 +1814,7 @@ v1.61.0.</p>
|
|||
<tr><td>v1.83.0 – v1.84.1</td><td>v1.77.0</td></tr>
|
||||
<tr><td>v1.85.0 – v1.91.2</td><td>v1.83.0</td></tr>
|
||||
<tr><td>v1.92.0 – v1.97.0</td><td>v1.90.0</td></tr>
|
||||
<tr><td>v1.98.0 – v1.98.0</td><td>v1.96.0</td></tr>
|
||||
<tr><td>v1.98.0 – v1.99.0</td><td>v1.96.0</td></tr>
|
||||
</tbody></table>
|
||||
<h1 id="upgrading-to-v1930"><a class="header" href="#upgrading-to-v1930">Upgrading to v1.93.0</a></h1>
|
||||
<h2 id="minimum-supported-rust-version"><a class="header" href="#minimum-supported-rust-version">Minimum supported Rust version</a></h2>
|
||||
|
@ -1835,8 +1827,8 @@ date.</p>
|
|||
considered insecure - and from Synapse v1.71.0 forwards the application service token has also been sent via
|
||||
<a href="https://spec.matrix.org/v1.6/application-service-api/#authorization">the <code>Authorization</code> header</a>], making the insecure
|
||||
query parameter authorization redundant. Since removing the ability to continue to use query parameters could break
|
||||
backwards compatibility it has now been put behind a configuration option, <code>use_appservice_legacy_authorization</code>.<br />
|
||||
This option defaults to false, but can be activated by adding </p>
|
||||
backwards compatibility it has now been put behind a configuration option, <code>use_appservice_legacy_authorization</code>.
|
||||
This option defaults to false, but can be activated by adding</p>
|
||||
<pre><code class="language-yaml">use_appservice_legacy_authorization: true
|
||||
</code></pre>
|
||||
<p>to your configuration.</p>
|
||||
|
@ -1856,9 +1848,9 @@ packages or Docker images, no action is required.</p>
|
|||
<p>As mentioned previously in <a href="upgrade.html#upgrading-to-v1840">Upgrading to v1.84.0</a>, the following deprecated settings
|
||||
are being removed in this release of Synapse:</p>
|
||||
<ul>
|
||||
<li><a href="https://matrix-org.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_host"><code>worker_replication_host</code></a></li>
|
||||
<li><a href="https://matrix-org.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_http_port"><code>worker_replication_http_port</code></a></li>
|
||||
<li><a href="https://matrix-org.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_http_tls"><code>worker_replication_http_tls</code></a></li>
|
||||
<li><a href="https://element-hq.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_host"><code>worker_replication_host</code></a></li>
|
||||
<li><a href="https://element-hq.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_http_port"><code>worker_replication_http_port</code></a></li>
|
||||
<li><a href="https://element-hq.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_http_tls"><code>worker_replication_http_tls</code></a></li>
|
||||
</ul>
|
||||
<p>Please ensure that you have migrated to using <code>main</code> on your shared configuration's <code>instance_map</code>
|
||||
(or create one if necessary). This is required if you have <em><strong>any</strong></em> workers at all;
|
||||
|
@ -1945,7 +1937,7 @@ worker_listeners:
|
|||
worker_log_config: /etc/matrix-synapse/generic-worker-log.yaml
|
||||
|
||||
</code></pre>
|
||||
<p>Notes: </p>
|
||||
<p>Notes:</p>
|
||||
<ul>
|
||||
<li><code>tls</code> is optional but mirrors the functionality of <code>worker_replication_http_tls</code></li>
|
||||
</ul>
|
||||
|
@ -2105,7 +2097,7 @@ because current versions of Synapse emit both old and new names.</p>
|
|||
the names of Prometheus metrics.
|
||||
If you want to test your changes before legacy names are disabled by default,
|
||||
you may specify <code>enable_legacy_metrics: false</code> in your homeserver configuration.</p>
|
||||
<p>A list of affected metrics is available on the <a href="https://matrix-org.github.io/synapse/v1.69/metrics-howto.html?highlight=metrics%20deprecated#renaming-of-metrics--deprecation-of-old-names-in-12">Metrics How-to page</a>.</p>
|
||||
<p>A list of affected metrics is available on the <a href="https://element-hq.github.io/synapse/v1.69/metrics-howto.html?highlight=metrics%20deprecated#renaming-of-metrics--deprecation-of-old-names-in-12">Metrics How-to page</a>.</p>
|
||||
<h2 id="deprecation-of-the-generate_short_term_login_token-module-api-method"><a class="header" href="#deprecation-of-the-generate_short_term_login_token-module-api-method">Deprecation of the <code>generate_short_term_login_token</code> module API method</a></h2>
|
||||
<p>The following method of the module API has been deprecated, and is scheduled to
|
||||
be remove in v1.71.0:</p>
|
||||
|
@ -2145,7 +2137,7 @@ Synapse's database.</p>
|
|||
<h2 id="rust-requirement-when-building-from-source"><a class="header" href="#rust-requirement-when-building-from-source">Rust requirement when building from source.</a></h2>
|
||||
<p>Building from a source checkout of Synapse now requires a recent Rust compiler
|
||||
(currently Rust 1.58.1, but see also the
|
||||
<a href="https://matrix-org.github.io/synapse/latest/deprecation_policy.html">Platform Dependency Policy</a>).</p>
|
||||
<a href="https://element-hq.github.io/synapse/latest/deprecation_policy.html">Platform Dependency Policy</a>).</p>
|
||||
<p>Installations using</p>
|
||||
<ul>
|
||||
<li>Docker images <a href="https://hub.docker.com/r/matrixdotorg/synapse">from <code>matrixdotorg</code></a>,</li>
|
||||
|
@ -2193,7 +2185,7 @@ This removal was previously planned for Synapse 1.64.0, but was
|
|||
homeserver administrators more notice of the change.</p>
|
||||
<p>To continue to allow users to add email addresses to their homeserver accounts,
|
||||
and perform password resets, make sure that Synapse is configured with a working
|
||||
email server in the <a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#email"><code>email</code> configuration
|
||||
email server in the <a href="https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#email"><code>email</code> configuration
|
||||
section</a>
|
||||
(including, at a minimum, a <code>notif_from</code> setting.)</p>
|
||||
<p>Specifying an <code>email</code> setting under <code>account_threepid_delegates</code> will now cause
|
||||
|
@ -2202,7 +2194,7 @@ an error at startup.</p>
|
|||
<h2 id="deprecation-of-the-ability-to-delegate-e-mail-verification-to-identity-servers"><a class="header" href="#deprecation-of-the-ability-to-delegate-e-mail-verification-to-identity-servers">Deprecation of the ability to delegate e-mail verification to identity servers</a></h2>
|
||||
<p>Synapse v1.66.0 will remove the ability to delegate the tasks of verifying email address ownership, and password reset confirmation, to an identity server.</p>
|
||||
<p>If you require your homeserver to verify e-mail addresses or to support password resets via e-mail, please configure your homeserver with SMTP access so that it can send e-mails on its own behalf.
|
||||
<a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#email">Consult the configuration documentation for more information.</a></p>
|
||||
<a href="https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#email">Consult the configuration documentation for more information.</a></p>
|
||||
<p>The option that will be removed is <code>account_threepid_delegates.email</code>.</p>
|
||||
<h2 id="changes-to-the-event-replication-streams"><a class="header" href="#changes-to-the-event-replication-streams">Changes to the event replication streams</a></h2>
|
||||
<p>Synapse now includes a flag indicating if an event is an outlier when
|
||||
|
@ -2352,7 +2344,7 @@ has queries that can be used to check a database for this problem in advance.</p
|
|||
<p>The names of user devices are no longer visible to users on other homeservers by default.
|
||||
Device IDs are unaffected, as these are necessary to facilitate end-to-end encryption.</p>
|
||||
<p>To re-enable this functionality, set the
|
||||
<a href="https://matrix-org.github.io/synapse/v1.59/usage/configuration/config_documentation.html#federation"><code>allow_device_name_lookup_over_federation</code></a>
|
||||
<a href="https://element-hq.github.io/synapse/v1.59/usage/configuration/config_documentation.html#federation"><code>allow_device_name_lookup_over_federation</code></a>
|
||||
homeserver config option to <code>true</code>.</p>
|
||||
<h2 id="deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types"><a class="header" href="#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types">Deprecation of the <code>synapse.app.appservice</code> and <code>synapse.app.user_dir</code> worker application types</a></h2>
|
||||
<p>The <code>synapse.app.appservice</code> worker application type allowed you to configure a
|
||||
|
@ -2437,7 +2429,7 @@ be disabled by default in Synapse v1.58.0.</p>
|
|||
<h2 id="change-in-behaviour-for-postgresql-databases-with-unsafe-locale"><a class="header" href="#change-in-behaviour-for-postgresql-databases-with-unsafe-locale">Change in behaviour for PostgreSQL databases with unsafe locale</a></h2>
|
||||
<p>Synapse now refuses to start when using PostgreSQL with non-<code>C</code> values for <code>COLLATE</code> and
|
||||
<code>CTYPE</code> unless the config flag <code>allow_unsafe_locale</code>, found in the database section of
|
||||
the configuration file, is set to <code>true</code>. See the <a href="https://matrix-org.github.io/synapse/latest/postgres.html#fixing-incorrect-collate-or-ctype">PostgreSQL documentation</a>
|
||||
the configuration file, is set to <code>true</code>. See the <a href="https://element-hq.github.io/synapse/latest/postgres.html#fixing-incorrect-collate-or-ctype">PostgreSQL documentation</a>
|
||||
for more information and instructions on how to fix a database with incorrect values.</p>
|
||||
<h1 id="upgrading-to-v1550"><a class="header" href="#upgrading-to-v1550">Upgrading to v1.55.0</a></h1>
|
||||
<h2 id="synctl-script-has-been-moved"><a class="header" href="#synctl-script-has-been-moved"><code>synctl</code> script has been moved</a></h2>
|
||||
|
@ -2467,7 +2459,7 @@ please upgrade Mjolnir to version 1.3.2 or later before upgrading Synapse.</p>
|
|||
<p>This release removes support for the <code>structured: true</code> logging configuration
|
||||
which was deprecated in Synapse v1.23.0. If your logging configuration contains
|
||||
<code>structured: true</code> then it should be modified based on the
|
||||
<a href="https://matrix-org.github.io/synapse/v1.56/structured_logging.html#upgrading-from-legacy-structured-logging-configuration">structured logging documentation</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/v1.56/structured_logging.html#upgrading-from-legacy-structured-logging-configuration">structured logging documentation</a>.</p>
|
||||
<h1 id="upgrading-to-v1530"><a class="header" href="#upgrading-to-v1530">Upgrading to v1.53.0</a></h1>
|
||||
<h2 id="dropping-support-for-webclient-listeners-and-non-https-web_client_location"><a class="header" href="#dropping-support-for-webclient-listeners-and-non-https-web_client_location">Dropping support for <code>webclient</code> listeners and non-HTTP(S) <code>web_client_location</code></a></h2>
|
||||
<p>Per the deprecation notice in Synapse v1.51.0, listeners of type <code>webclient</code>
|
||||
|
@ -2510,10 +2502,10 @@ becomes stable.</p>
|
|||
<h2 id="removal-of-user_may_create_room_with_invites"><a class="header" href="#removal-of-user_may_create_room_with_invites">Removal of <code>user_may_create_room_with_invites</code></a></h2>
|
||||
<p>As announced with the release of <a href="upgrade.html#deprecation-of-the-user_may_create_room_with_invites-module-callback">Synapse 1.47.0</a>,
|
||||
the deprecated <code>user_may_create_room_with_invites</code> module callback has been removed.</p>
|
||||
<p>Modules relying on it can instead implement <a href="https://matrix-org.github.io/synapse/latest/modules/spam_checker_callbacks.html#user_may_invite"><code>user_may_invite</code></a>
|
||||
and use the <a href="https://github.com/matrix-org/synapse/blob/872f23b95fa980a61b0866c1475e84491991fa20/synapse/module_api/__init__.py#L869-L876"><code>get_room_state</code></a>
|
||||
<p>Modules relying on it can instead implement <a href="https://element-hq.github.io/synapse/latest/modules/spam_checker_callbacks.html#user_may_invite"><code>user_may_invite</code></a>
|
||||
and use the <a href="https://github.com/element-hq/synapse/blob/872f23b95fa980a61b0866c1475e84491991fa20/synapse/module_api/__init__.py#L869-L876"><code>get_room_state</code></a>
|
||||
module API to infer whether the invite is happening while creating a room (see <a href="https://github.com/matrix-org/synapse-domain-rule-checker/blob/e7d092dd9f2a7f844928771dbfd9fd24c2332e48/synapse_domain_rule_checker/__init__.py#L56-L89">this function</a>
|
||||
as an example). Alternately, modules can also implement <a href="https://matrix-org.github.io/synapse/latest/modules/third_party_rules_callbacks.html#on_create_room"><code>on_create_room</code></a>.</p>
|
||||
as an example). Alternately, modules can also implement <a href="https://element-hq.github.io/synapse/latest/modules/third_party_rules_callbacks.html#on_create_room"><code>on_create_room</code></a>.</p>
|
||||
<h1 id="upgrading-to-v1520"><a class="header" href="#upgrading-to-v1520">Upgrading to v1.52.0</a></h1>
|
||||
<h2 id="twisted-security-release"><a class="header" href="#twisted-security-release">Twisted security release</a></h2>
|
||||
<p>Note that <a href="https://github.com/twisted/twisted/releases/tag/twisted-22.1.0">Twisted 22.1.0</a>
|
||||
|
@ -2543,12 +2535,12 @@ longer supported upstream.</p>
|
|||
<li><code>POST /_synapse/admin/v1/<room_id>/delete</code></li>
|
||||
</ul>
|
||||
<p>Any scripts still using the above APIs should be converted to use the
|
||||
<a href="https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api">Delete Room API</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/latest/admin_api/rooms.html#delete-room-api">Delete Room API</a>.</p>
|
||||
<h2 id="deprecation-of-the-user_may_create_room_with_invites-module-callback"><a class="header" href="#deprecation-of-the-user_may_create_room_with_invites-module-callback">Deprecation of the <code>user_may_create_room_with_invites</code> module callback</a></h2>
|
||||
<p>The <code>user_may_create_room_with_invites</code> is deprecated and will be removed in a future
|
||||
version of Synapse. Modules implementing this callback can instead implement
|
||||
<a href="https://matrix-org.github.io/synapse/latest/modules/spam_checker_callbacks.html#user_may_invite"><code>user_may_invite</code></a>
|
||||
and use the <a href="https://github.com/matrix-org/synapse/blob/872f23b95fa980a61b0866c1475e84491991fa20/synapse/module_api/__init__.py#L869-L876"><code>get_room_state</code></a>
|
||||
<a href="https://element-hq.github.io/synapse/latest/modules/spam_checker_callbacks.html#user_may_invite"><code>user_may_invite</code></a>
|
||||
and use the <a href="https://github.com/element-hq/synapse/blob/872f23b95fa980a61b0866c1475e84491991fa20/synapse/module_api/__init__.py#L869-L876"><code>get_room_state</code></a>
|
||||
module API method to infer whether the invite is happening in the context of creating a
|
||||
room.</p>
|
||||
<p>We plan to remove this callback in January 2022.</p>
|
||||
|
@ -2565,7 +2557,7 @@ no longer mirrored to storage providers. These two directories can be safely
|
|||
deleted from any configured storage providers to reclaim space.</p>
|
||||
<h1 id="upgrading-to-v1430"><a class="header" href="#upgrading-to-v1430">Upgrading to v1.43.0</a></h1>
|
||||
<h2 id="the-spaces-summary-apis-can-now-be-handled-by-workers"><a class="header" href="#the-spaces-summary-apis-can-now-be-handled-by-workers">The spaces summary APIs can now be handled by workers</a></h2>
|
||||
<p>The <a href="https://matrix-org.github.io/synapse/latest/workers.html#available-worker-applications">available worker applications documentation</a>
|
||||
<p>The <a href="https://element-hq.github.io/synapse/latest/workers.html#available-worker-applications">available worker applications documentation</a>
|
||||
has been updated to reflect that calls to the <code>/spaces</code>, <code>/hierarchy</code>, and
|
||||
<code>/summary</code> endpoints can now be routed to workers for both client API and
|
||||
federation requests.</p>
|
||||
|
@ -2578,11 +2570,11 @@ federation requests.</p>
|
|||
<li><code>POST /_synapse/admin/v1/shutdown_room/<room_id></code></li>
|
||||
</ul>
|
||||
<p>Any scripts still using the above APIs should be converted to use the
|
||||
<a href="https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api">Delete Room API</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/latest/admin_api/rooms.html#delete-room-api">Delete Room API</a>.</p>
|
||||
<h2 id="user-interactive-authentication-fallback-templates-can-now-display-errors"><a class="header" href="#user-interactive-authentication-fallback-templates-can-now-display-errors">User-interactive authentication fallback templates can now display errors</a></h2>
|
||||
<p>This may affect you if you make use of custom HTML templates for the
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/synapse/res/templates/recaptcha.html">reCAPTCHA (<code>synapse/res/templates/recaptcha.html</code>)</a> or
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/synapse/res/templates/terms.html">terms (<code>synapse/res/templates/terms.html</code>)</a> fallback pages.</p>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/synapse/res/templates/recaptcha.html">reCAPTCHA (<code>synapse/res/templates/recaptcha.html</code>)</a> or
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/synapse/res/templates/terms.html">terms (<code>synapse/res/templates/terms.html</code>)</a> fallback pages.</p>
|
||||
<p>The template is now provided an <code>error</code> variable if the authentication
|
||||
process failed. See the default templates linked above for an example.</p>
|
||||
<h2 id="removal-of-out-of-date-email-pushers"><a class="header" href="#removal-of-out-of-date-email-pushers">Removal of out-of-date email pushers</a></h2>
|
||||
|
@ -2617,11 +2609,11 @@ details.</p>
|
|||
configuration file are now deprecated. Server admins should use the new
|
||||
<code>templates.custom_template_directory</code> setting in the configuration file and use one single
|
||||
custom template directory for all aforementioned features. Template file names remain
|
||||
unchanged. See <a href="https://matrix-org.github.io/synapse/latest/templates.html">the related documentation</a>
|
||||
unchanged. See <a href="https://element-hq.github.io/synapse/latest/templates.html">the related documentation</a>
|
||||
for more information and examples.</p>
|
||||
<p>We plan to remove support for these settings in October 2021.</p>
|
||||
<h2 id="_synapseadminv1usersuseridmedia-must-be-handled-by-media-workers"><a class="header" href="#_synapseadminv1usersuseridmedia-must-be-handled-by-media-workers"><code>/_synapse/admin/v1/users/{userId}/media</code> must be handled by media workers</a></h2>
|
||||
<p>The <a href="https://matrix-org.github.io/synapse/latest/workers.html#synapseappmedia_repository">media repository worker documentation</a>
|
||||
<p>The <a href="https://element-hq.github.io/synapse/latest/workers.html#synapseappmedia_repository">media repository worker documentation</a>
|
||||
has been updated to reflect that calls to <code>/_synapse/admin/v1/users/{userId}/media</code>
|
||||
must now be handled by media repository workers. This is due to the new <code>DELETE</code> method
|
||||
of this endpoint modifying the media store.</p>
|
||||
|
@ -2933,7 +2925,7 @@ lock down external access to the Admin API endpoints.</p>
|
|||
<p>This release deprecates use of the <code>structured: true</code> logging
|
||||
configuration for structured logging. If your logging configuration
|
||||
contains <code>structured: true</code> then it should be modified based on the
|
||||
<a href="https://matrix-org.github.io/synapse/v1.56/structured_logging.html#upgrading-from-legacy-structured-logging-configuration">structured logging documentation</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/v1.56/structured_logging.html#upgrading-from-legacy-structured-logging-configuration">structured logging documentation</a>.</p>
|
||||
<p>The <code>structured</code> and <code>drains</code> logging options are now deprecated and
|
||||
should be replaced by standard logging configuration of <code>handlers</code> and
|
||||
<code>formatters</code>.</p>
|
||||
|
@ -2966,7 +2958,7 @@ endpoint can be handled</p>
|
|||
update your reverse proxy configuration to reflect this change.</p>
|
||||
<h2 id="new-html-templates"><a class="header" href="#new-html-templates">New HTML templates</a></h2>
|
||||
<p>A new HTML template,
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/synapse/res/templates/password_reset_confirmation.html">password_reset_confirmation.html</a>,
|
||||
<a href="https://github.com/element-hq/synapse/blob/develop/synapse/res/templates/password_reset_confirmation.html">password_reset_confirmation.html</a>,
|
||||
has been added to the <code>synapse/res/templates</code> directory. If you are
|
||||
using a custom template directory, you may want to copy the template
|
||||
over and modify it.</p>
|
||||
|
@ -3008,7 +3000,7 @@ updated.</p>
|
|||
<p>When setting up worker processes, we now recommend the use of a Redis
|
||||
server for replication. <strong>The old direct TCP connection method is
|
||||
deprecated and will be removed in a future release.</strong> See
|
||||
the <a href="https://matrix-org.github.io/synapse/v1.66/workers.html">worker documentation</a> for more details.</p>
|
||||
the <a href="https://element-hq.github.io/synapse/v1.66/workers.html">worker documentation</a> for more details.</p>
|
||||
<h1 id="upgrading-to-v1140"><a class="header" href="#upgrading-to-v1140">Upgrading to v1.14.0</a></h1>
|
||||
<p>This version includes a database update which is run as part of the
|
||||
upgrade, and which may take a couple of minutes in the case of a large
|
||||
|
@ -3046,7 +3038,7 @@ INSERT INTO background_updates (update_name, progress_json, depends_on) VALUES
|
|||
is configured to use SSO and a custom
|
||||
<code>sso_redirect_confirm_template_dir</code> configuration then these templates
|
||||
will need to be copied from
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/synapse/res/templates"><code>synapse/res/templates</code></a> into that directory.</p>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/synapse/res/templates"><code>synapse/res/templates</code></a> into that directory.</p>
|
||||
<h2 id="synapse-sso-plugins-method-deprecation"><a class="header" href="#synapse-sso-plugins-method-deprecation">Synapse SSO Plugins Method Deprecation</a></h2>
|
||||
<p>Plugins using the <code>complete_sso_login</code> method of
|
||||
<code>synapse.module_api.ModuleApi</code> should update to using the async/await
|
||||
|
@ -3177,7 +3169,7 @@ included.</p>
|
|||
<p>Synapse will expect these files to exist inside the configured template
|
||||
directory, and <strong>will fail to start</strong> if they are absent. To view the
|
||||
default templates, see
|
||||
<a href="https://github.com/matrix-org/synapse/tree/master/synapse/res/templates">synapse/res/templates</a>.</p>
|
||||
<a href="https://github.com/element-hq/synapse/tree/master/synapse/res/templates">synapse/res/templates</a>.</p>
|
||||
<h2 id="3pid-verification-changes"><a class="header" href="#3pid-verification-changes">3pid verification changes</a></h2>
|
||||
<p><strong>Note: As of this release, users will be unable to add phone numbers or
|
||||
email addresses to their accounts, without changes to the Synapse
|
||||
|
@ -3729,7 +3721,7 @@ release of Synapse.</p>
|
|||
<p>If you want to get up and running quickly with a trio of homeservers in a
|
||||
private federation, there is a script in the <code>demo</code> directory. This is mainly
|
||||
useful just for development purposes. See
|
||||
<a href="https://matrix-org.github.io/synapse/develop/development/demo.html">demo scripts</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/develop/development/demo.html">demo scripts</a>.</p>
|
||||
<div style="break-before: page; page-break-before: always;"></div><h1 id="configuration-2"><a class="header" href="#configuration-2">Configuration</a></h1>
|
||||
<p>This section contains information on tweaking Synapse via the various options in the configuration file. A configuration
|
||||
file should have been generated when you <a href="usage/configuration/../../setup/installation.html">installed Synapse</a>.</p>
|
||||
|
@ -4199,7 +4191,7 @@ for <a href="usage/configuration/../../workers.html">workers</a> and containers
|
|||
# that unwraps TLS.
|
||||
#
|
||||
# If you plan to use a reverse proxy, please see
|
||||
# https://matrix-org.github.io/synapse/latest/reverse_proxy.html.
|
||||
# https://element-hq.github.io/synapse/latest/reverse_proxy.html.
|
||||
#
|
||||
- port: 8008
|
||||
tls: false
|
||||
|
@ -4230,7 +4222,7 @@ for <a href="usage/configuration/../../workers.html">workers</a> and containers
|
|||
# conflicts, and providing enhanced security through system file permissions.
|
||||
#
|
||||
# Note that x_forwarded will default to true, when using a UNIX socket. Please see
|
||||
# https://matrix-org.github.io/synapse/latest/reverse_proxy.html.
|
||||
# https://element-hq.github.io/synapse/latest/reverse_proxy.html.
|
||||
#
|
||||
- path: /run/synapse/main_public.sock
|
||||
type: http
|
||||
|
@ -4335,6 +4327,12 @@ has missed. Disabled by default.</p>
|
|||
notifications for new users. Enabled by default.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>notif_delay_before_mail</code>: The time to wait before emailing about a notification.
|
||||
This gives the user a chance to view the message via push or an open client.
|
||||
Defaults to 10 minutes.</p>
|
||||
<p><em>New in Synapse 1.99.0.</em></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>client_base_url</code>: Custom URL for client links within the email notifications. By default
|
||||
links will be based on "https://matrix.to". (This setting used to be called <code>riot_base_url</code>;
|
||||
the old name is still supported for backwards-compatibility but is now deprecated.)</p>
|
||||
|
@ -4935,7 +4933,7 @@ caches:
|
|||
</code></pre>
|
||||
<p>If you are running multiple workers, you must individually update the worker
|
||||
config file and send this signal to each worker process.</p>
|
||||
<p>If you're using the <a href="https://github.com/matrix-org/synapse/blob/develop/contrib/systemd/matrix-synapse.service">example systemd service</a>
|
||||
<p>If you're using the <a href="https://github.com/element-hq/synapse/blob/develop/contrib/systemd/matrix-synapse.service">example systemd service</a>
|
||||
file in Synapse's <code>contrib</code> directory, you can send a <code>SIGHUP</code> signal by using
|
||||
<code>systemctl reload matrix-synapse</code>.</p>
|
||||
<hr />
|
||||
|
@ -5944,7 +5942,7 @@ existing sessions until they are refreshed.</p>
|
|||
<pre><code class="language-yaml">refreshable_access_token_lifetime: 10m
|
||||
</code></pre>
|
||||
<hr />
|
||||
<h3 id="refresh_token_lifetime-24h"><a class="header" href="#refresh_token_lifetime-24h"><code>refresh_token_lifetime: 24h</code></a></h3>
|
||||
<h3 id="refresh_token_lifetime"><a class="header" href="#refresh_token_lifetime"><code>refresh_token_lifetime</code></a></h3>
|
||||
<p>Time that a refresh token remains valid for (provided that it is not
|
||||
exchanged for another one first).
|
||||
This option can be used to automatically log-out inactive sessions.
|
||||
|
@ -6014,6 +6012,9 @@ Defaults to false.</p>
|
|||
<h3 id="sentry"><a class="header" href="#sentry"><code>sentry</code></a></h3>
|
||||
<p>Use this option to enable sentry integration. Provide the DSN assigned to you by sentry
|
||||
with the <code>dsn</code> setting.</p>
|
||||
<p>An optional <code>environment</code> field can be used to specify an environment. This allows
|
||||
for log maintenance based on different environments, ensuring better organization
|
||||
and analysis..</p>
|
||||
<p>NOTE: While attempts are made to ensure that the logs don't contain
|
||||
any sensitive information, this cannot be guaranteed. By enabling
|
||||
this option the sentry server may therefore receive sensitive
|
||||
|
@ -6021,6 +6022,7 @@ information, and it in turn may then disseminate sensitive information
|
|||
through insecure notification channels if so configured.</p>
|
||||
<p>Example configuration:</p>
|
||||
<pre><code class="language-yaml">sentry:
|
||||
environment: "production"
|
||||
dsn: "..."
|
||||
</code></pre>
|
||||
<hr />
|
||||
|
@ -6832,7 +6834,7 @@ validation will fail without configuring audiences.</li>
|
|||
<li><code>enabled</code>: Defaults to true.
|
||||
Set to false to disable password authentication.
|
||||
Set to <code>only_for_reauth</code> to allow users with existing passwords to use them
|
||||
to log in and reauthenticate, whilst preventing new users from setting passwords.</li>
|
||||
to reauthenticate (not log in), whilst preventing new users from setting passwords.</li>
|
||||
<li><code>localdb_enabled</code>: Set to false to disable authentication against the local password
|
||||
database. This is ignored if <code>enabled</code> is false, and is only useful
|
||||
if you have other <code>password_providers</code>. Defaults to true.</li>
|
||||
|
@ -7047,15 +7049,20 @@ notices.</p>
|
|||
<li><code>system_mxid_display_name</code>: set the display name of the "notices" user</li>
|
||||
<li><code>system_mxid_avatar_url</code>: set the avatar for the "notices" user</li>
|
||||
<li><code>room_name</code>: set the room name of the server notices room</li>
|
||||
<li><code>room_avatar_url</code>: optional string. The room avatar to use for server notice rooms. If set to the empty string <code>""</code>, notice rooms will not be given an avatar. Defaults to the empty string. <em>Added in Synapse 1.99.0.</em></li>
|
||||
<li><code>room_topic</code>: optional string. The topic to use for server notice rooms. If set to the empty string <code>""</code>, notice rooms will not be given a topic. Defaults to the empty string. <em>Added in Synapse 1.99.0.</em></li>
|
||||
<li><code>auto_join</code>: boolean. If true, the user will be automatically joined to the room instead of being invited.
|
||||
Defaults to false. <em>Added in Synapse 1.98.0.</em></li>
|
||||
</ul>
|
||||
<p>Note that the name, topic and avatar of existing server notice rooms will only be updated when a new notice event is sent.</p>
|
||||
<p>Example configuration:</p>
|
||||
<pre><code class="language-yaml">server_notices:
|
||||
system_mxid_localpart: notices
|
||||
system_mxid_display_name: "Server Notices"
|
||||
system_mxid_avatar_url: "mxc://server.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
system_mxid_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
room_name: "Server Notices"
|
||||
room_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
room_topic: "Room used by your server admin to notice you of important information"
|
||||
auto_join: true
|
||||
</code></pre>
|
||||
<hr />
|
||||
|
@ -7618,12 +7625,12 @@ a fresh config using Synapse by following the instructions in
|
|||
<pre><code class="language-yaml"># This file is maintained as an up-to-date snapshot of the default
|
||||
# homeserver.yaml configuration generated by Synapse. You can find a
|
||||
# complete accounting of possible configuration options at
|
||||
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
#
|
||||
# It is *not* intended to be copied and used as the basis for a real
|
||||
# homeserver.yaml. Instead, if you are starting from scratch, please generate
|
||||
# a fresh config using Synapse by following the instructions in
|
||||
# https://matrix-org.github.io/synapse/latest/setup/installation.html.
|
||||
# https://element-hq.github.io/synapse/latest/setup/installation.html.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
|
@ -7637,7 +7644,7 @@ a fresh config using Synapse by following the instructions in
|
|||
#
|
||||
# For more information on how to configure Synapse, including a complete accounting of
|
||||
# each option, go to docs/usage/configuration/config_documentation.md or
|
||||
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
server_name: "SERVERNAME"
|
||||
pid_file: DATADIR/homeserver.pid
|
||||
listeners:
|
||||
|
@ -7677,7 +7684,7 @@ It should be named <code><SERVERNAME>.log.config</code> by default.</p>
|
|||
# be ingested by ELK stacks. See [2] for details.
|
||||
#
|
||||
# [1]: https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema
|
||||
# [2]: https://matrix-org.github.io/synapse/latest/structured_logging.html
|
||||
# [2]: https://element-hq.github.io/synapse/latest/structured_logging.html
|
||||
|
||||
version: 1
|
||||
|
||||
|
@ -7816,7 +7823,7 @@ remote endpoint at 10.1.2.3:9999.</p>
|
|||
<div style="break-before: page; page-break-before: always;"></div><h1 id="templates"><a class="header" href="#templates">Templates</a></h1>
|
||||
<p>Synapse uses parametrised templates to generate the content of emails it sends and
|
||||
webpages it shows to users.</p>
|
||||
<p>By default, Synapse will use the templates listed <a href="https://github.com/matrix-org/synapse/tree/master/synapse/res/templates">here</a>.
|
||||
<p>By default, Synapse will use the templates listed <a href="https://github.com/element-hq/synapse/tree/master/synapse/res/templates">here</a>.
|
||||
Server admins can configure an additional directory for Synapse to look for templates
|
||||
in, allowing them to specify custom templates:</p>
|
||||
<pre><code class="language-yaml">templates:
|
||||
|
@ -7939,7 +7946,7 @@ and failure that a user will see when they confirm the password reset flow using
|
|||
page above.
|
||||
When rendering, <code>password_reset_success.html</code> is given no variable, and
|
||||
<code>password_reset_failure.html</code> is given a <code>failure_reason</code>, which contains the reason
|
||||
for the password reset failure. </li>
|
||||
for the password reset failure.</li>
|
||||
<li><code>registration_success.html</code> and <code>registration_failure.html</code>: HTML pages for success and
|
||||
failure that a user will see when they follow the link in an address verification email
|
||||
sent during registration.
|
||||
|
@ -8895,7 +8902,7 @@ usually returned as part of the <a href="https://spec.matrix.org/latest/client-s
|
|||
<h3 id="default-openid-mapping-provider"><a class="header" href="#default-openid-mapping-provider">Default OpenID Mapping Provider</a></h3>
|
||||
<p>Synapse has a built-in OpenID mapping provider if a custom provider isn't
|
||||
specified in the config. It is located at
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/synapse/handlers/oidc.py"><code>synapse.handlers.oidc.JinjaOidcMappingProvider</code></a>.</p>
|
||||
<a href="https://github.com/element-hq/synapse/blob/develop/synapse/handlers/oidc.py"><code>synapse.handlers.oidc.JinjaOidcMappingProvider</code></a>.</p>
|
||||
<h2 id="saml-mapping-providers"><a class="header" href="#saml-mapping-providers">SAML Mapping Providers</a></h2>
|
||||
<p>The SAML mapping provider can be customized by editing the
|
||||
<a href="usage/configuration/config_documentation.html#saml2_config"><code>saml2_config.user_mapping_provider.module</code></a>
|
||||
|
@ -9010,7 +9017,7 @@ complete registration using methods from the <code>ModuleApi</code>.</p>
|
|||
<h3 id="default-saml-mapping-provider"><a class="header" href="#default-saml-mapping-provider">Default SAML Mapping Provider</a></h3>
|
||||
<p>Synapse has a built-in SAML mapping provider if a custom provider isn't
|
||||
specified in the config. It is located at
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/synapse/handlers/saml.py"><code>synapse.handlers.saml.DefaultSamlMappingProvider</code></a>.</p>
|
||||
<a href="https://github.com/element-hq/synapse/blob/develop/synapse/handlers/saml.py"><code>synapse.handlers.saml.DefaultSamlMappingProvider</code></a>.</p>
|
||||
<div style="break-before: page; page-break-before: always;"></div><h2 style="color:red">
|
||||
This page of the Synapse documentation is now deprecated. For up to date
|
||||
documentation on setting up or writing a password auth provider module, please see
|
||||
|
@ -9438,13 +9445,15 @@ section, which should look like this:</p>
|
|||
<pre><code class="language-yaml">server_notices:
|
||||
system_mxid_localpart: server
|
||||
system_mxid_display_name: "Server Notices"
|
||||
system_mxid_avatar_url: "mxc://server.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
system_mxid_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
room_name: "Server Notices"
|
||||
room_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
room_topic: "Room used by your server admin to notice you of important information"
|
||||
auto_join: true
|
||||
</code></pre>
|
||||
<p>The only compulsory setting is <code>system_mxid_localpart</code>, which defines the user
|
||||
id of the Server Notices user, as above. <code>room_name</code> defines the name of the
|
||||
room which will be created.</p>
|
||||
room which will be created, <code>room_avatar_url</code> its avatar and <code>room_topic</code> its topic.</p>
|
||||
<p><code>system_mxid_display_name</code> and <code>system_mxid_avatar_url</code> can be used to set the
|
||||
displayname and avatar of the Server Notices user.</p>
|
||||
<p><code>auto_join</code> will autojoin users to the notices room instead of sending an invite.</p>
|
||||
|
@ -9468,7 +9477,7 @@ database and shows a success page.</p>
|
|||
<p>To enable this, first create templates for the policy and success pages.
|
||||
These should be stored on the local filesystem.</p>
|
||||
<p>These templates use the <a href="http://jinja.pocoo.org">Jinja2</a> templating language,
|
||||
and <a href="https://github.com/matrix-org/synapse/tree/develop/docs/privacy_policy_templates/">docs/privacy_policy_templates</a>
|
||||
and <a href="https://github.com/element-hq/synapse/tree/develop/docs/privacy_policy_templates/">docs/privacy_policy_templates</a>
|
||||
gives examples of the sort of thing that can be done.</p>
|
||||
<p>Note that the templates must be stored under a name giving the language of the
|
||||
template - currently this must always be <code>en</code> (for "English");
|
||||
|
@ -9949,7 +9958,7 @@ the <code>synapse.module_api.ModuleApi</code> class. The configuration is a dict
|
|||
either the output of the module's <code>parse_config</code> static method (see below), or the
|
||||
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>
|
||||
<a href="https://github.com/element-hq/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
|
||||
|
@ -10000,7 +10009,7 @@ methods. The callback functions are passed to these methods as keyword arguments
|
|||
the callback name as the argument name and the function as its value. A
|
||||
<code>register_[...]_callbacks</code> method exists for each category.</p>
|
||||
<p>Callbacks for each category can be found on their respective page of the
|
||||
<a href="https://matrix-org.github.io/synapse">Synapse documentation website</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse">Synapse documentation website</a>.</p>
|
||||
<h2 id="caching-1"><a class="header" href="#caching-1">Caching</a></h2>
|
||||
<p><em>Added in Synapse 1.74.0.</em></p>
|
||||
<p>Modules can leverage Synapse's caching tools to manage their own cached functions. This
|
||||
|
@ -10591,7 +10600,7 @@ wishing this callback to be called on every profile change are encouraged to dis
|
|||
per-room profiles globally using the <code>allow_per_room_profiles</code> configuration setting in
|
||||
Synapse's configuration file.
|
||||
This callback is not called when registering a user, even when setting it through the
|
||||
<a href="https://matrix-org.github.io/synapse/latest/modules/password_auth_provider_callbacks.html#get_displayname_for_registration"><code>get_displayname_for_registration</code></a>
|
||||
<a href="https://element-hq.github.io/synapse/latest/modules/password_auth_provider_callbacks.html#get_displayname_for_registration"><code>get_displayname_for_registration</code></a>
|
||||
module callback.</p>
|
||||
<p>If multiple modules implement this callback, Synapse runs them all in order.</p>
|
||||
<h3 id="on_user_deactivation_status_changed"><a class="header" href="#on_user_deactivation_status_changed"><code>on_user_deactivation_status_changed</code></a></h3>
|
||||
|
@ -11260,8 +11269,8 @@ virtualenv, these can be installed with:</p>
|
|||
<pre><code class="language-sh">pip install "matrix-synapse[redis]"
|
||||
</code></pre>
|
||||
<p>Note that these dependencies are included when synapse is installed with <code>pip install matrix-synapse[all]</code>. They are also included in the debian packages from
|
||||
<code>matrix.org</code> and in the docker images at
|
||||
https://hub.docker.com/r/matrixdotorg/synapse/.</p>
|
||||
<code>packages.matrix.org</code> and in the docker images at
|
||||
https://hub.docker.com/r/ectorim/synapse/.</p>
|
||||
<p>To make effective use of the workers, you will need to configure an HTTP
|
||||
reverse-proxy such as nginx or haproxy, which will direct incoming requests to
|
||||
the correct worker, or to the main synapse instance. See
|
||||
|
@ -11602,7 +11611,7 @@ of the main process to a particular worker.</p>
|
|||
<li>An <a href="usage/configuration/config_documentation.html#listeners">HTTP <code>replication</code> listener</a> configured,</li>
|
||||
<li>Have a <a href="usage/configuration/config_documentation.html#worker_name"><code>worker_name</code></a>
|
||||
and be listed in the <a href="usage/configuration/config_documentation.html#instance_map"><code>instance_map</code></a>
|
||||
config. </li>
|
||||
config.</li>
|
||||
<li>Have the main process declared on the <a href="usage/configuration/config_documentation.html#instance_map"><code>instance_map</code></a> as well.</li>
|
||||
</ul>
|
||||
<p>Note: The same worker can handle multiple streams, but unless otherwise documented,
|
||||
|
@ -11767,7 +11776,7 @@ worker application type.</p>
|
|||
<h4 id="push-notifications"><a class="header" href="#push-notifications">Push Notifications</a></h4>
|
||||
<p>You can designate generic worker to sending push notifications to
|
||||
a <a href="https://spec.matrix.org/v1.5/push-gateway-api/">push gateway</a> such as
|
||||
<a href="https://github.com/matrix-org/sygnal">sygnal</a> and email.</p>
|
||||
<a href="https://github.com/vector-im/sygnal">sygnal</a> and email.</p>
|
||||
<p>This will stop the main process sending push notifications.</p>
|
||||
<p>The workers responsible for sending push notifications can be defined using the
|
||||
<a href="usage/configuration/config_documentation.html#pusher_instances"><code>pusher_instances</code></a>
|
||||
|
@ -11974,9 +11983,9 @@ managing workers. It provides a <code>matrix-synapse</code> service for the mast
|
|||
well as a <code>matrix-synapse-worker@</code> service template for any workers you
|
||||
require. Additionally, to group the required services, it sets up a
|
||||
<code>matrix-synapse.target</code>.</p>
|
||||
<p>See the folder <a href="https://github.com/matrix-org/synapse/tree/develop/docs/systemd-with-workers/system/">system</a>
|
||||
<p>See the folder <a href="https://github.com/element-hq/synapse/tree/develop/docs/systemd-with-workers/system/">system</a>
|
||||
for the systemd unit files.</p>
|
||||
<p>The folder <a href="https://github.com/matrix-org/synapse/tree/develop/docs/systemd-with-workers/workers/">workers</a>
|
||||
<p>The folder <a href="https://github.com/element-hq/synapse/tree/develop/docs/systemd-with-workers/workers/">workers</a>
|
||||
contains an example configuration for the <code>generic_worker</code> worker.</p>
|
||||
<h2 id="synapse-configuration-files"><a class="header" href="#synapse-configuration-files">Synapse configuration files</a></h2>
|
||||
<p>See <a href="systemd-with-workers/../workers.html">the worker documentation</a> for information on how to set up the
|
||||
|
@ -12003,7 +12012,7 @@ the provided <code>*.service</code> files accordingly.</p>
|
|||
<h2 id="set-up"><a class="header" href="#set-up">Set up</a></h2>
|
||||
<ol>
|
||||
<li>Adjust synapse configuration files as above.</li>
|
||||
<li>Copy the <code>*.service</code> and <code>*.target</code> files in <a href="https://github.com/matrix-org/synapse/tree/develop/docs/systemd-with-workers/system/">system</a>
|
||||
<li>Copy the <code>*.service</code> and <code>*.target</code> files in <a href="https://github.com/element-hq/synapse/tree/develop/docs/systemd-with-workers/system/">system</a>
|
||||
to <code>/etc/systemd/system</code>.</li>
|
||||
<li>Run <code>systemctl daemon-reload</code> to tell systemd to load the new unit files.</li>
|
||||
<li>Run <code>systemctl enable matrix-synapse.service</code>. This will configure the
|
||||
|
@ -12038,7 +12047,7 @@ systemctl restart matrix-synapse.target
|
|||
<h2 id="hardening"><a class="header" href="#hardening">Hardening</a></h2>
|
||||
<p><strong>Optional:</strong> If further hardening is desired, the file
|
||||
<code>override-hardened.conf</code> may be copied from
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/contrib/systemd/">contrib/systemd/override-hardened.conf</a>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/contrib/systemd/">contrib/systemd/override-hardened.conf</a>
|
||||
in this repository to the location
|
||||
<code>/etc/systemd/system/matrix-synapse.service.d/override-hardened.conf</code> (the
|
||||
directory may have to be created). It enables certain sandboxing features in
|
||||
|
@ -14255,11 +14264,12 @@ granting them access to the Admin API, among other things.</p>
|
|||
</li>
|
||||
<li>
|
||||
<p><code>deactivated</code> - <strong>bool</strong>, optional. If unspecified, deactivation state will be left unchanged.</p>
|
||||
<p>Note: the <code>password</code> field must also be set if both of the following are true:</p>
|
||||
<p>Note:</p>
|
||||
<ul>
|
||||
<li><code>deactivated</code> is set to <code>false</code> and the user was previously deactivated (you are reactivating this user)</li>
|
||||
<li>Users are allowed to set their password on this homeserver (both <code>password_config.enabled</code> and
|
||||
<code>password_config.localdb_enabled</code> config options are set to <code>true</code>).
|
||||
<li>For the password field there is no strict check of the necessity for its presence.
|
||||
It is possible to have active users without a password, e.g. when authenticating with OIDC is configured.
|
||||
You must check yourself whether a password is required when reactivating a user or not.</li>
|
||||
<li>It is not possible to set a password if the config option <code>password_config.localdb_enabled</code> is set <code>false</code>.
|
||||
Users' passwords are wiped upon account deactivation, hence the need to set a new one here.</li>
|
||||
</ul>
|
||||
<p>Note: a user cannot be erased with this API. For more details on
|
||||
|
@ -14395,7 +14405,7 @@ User objects contain the following fields:</p>
|
|||
<li><code>is_guest</code> - bool - Status if that user is a guest account.</li>
|
||||
<li><code>admin</code> - bool - Status if that user is a server administrator.</li>
|
||||
<li><code>user_type</code> - string - Type of the user. Normal users are type <code>None</code>.
|
||||
This allows user type specific behaviour. There are also types <code>support</code> and <code>bot</code>. </li>
|
||||
This allows user type specific behaviour. There are also types <code>support</code> and <code>bot</code>.</li>
|
||||
<li><code>deactivated</code> - bool - Status if that user has been marked as deactivated.</li>
|
||||
<li><code>erased</code> - bool - Status if that user has been marked as erased.</li>
|
||||
<li><code>shadow_banned</code> - bool - Status if that user has been marked as shadow banned.</li>
|
||||
|
@ -15477,7 +15487,7 @@ ensures that access to the <code>manhole</code> is only possible for local users
|
|||
--mount type=volume,src=synapse-data,dst=/data \
|
||||
-p 8008:8008 \
|
||||
-p 127.0.0.1:9000:9000 \
|
||||
matrixdotorg/synapse:latest
|
||||
vectorim/synapse:latest
|
||||
</code></pre>
|
||||
<h4 id="native-config"><a class="header" href="#native-config">Native config</a></h4>
|
||||
<p>If you are not using docker, set <code>bind_addresses</code> to <code>['::1', '127.0.0.1']</code> as shown.
|
||||
|
@ -15599,8 +15609,8 @@ the listener port configured with the <code>metrics</code> resource.</p>
|
|||
<p>Restart Prometheus.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Consider using the <a href="https://github.com/matrix-org/synapse/tree/master/contrib/grafana/">grafana dashboard</a>
|
||||
and required <a href="https://github.com/matrix-org/synapse/tree/master/contrib/prometheus/">recording rules</a> </p>
|
||||
<p>Consider using the <a href="https://github.com/element-hq/synapse/tree/master/contrib/grafana/">grafana dashboard</a>
|
||||
and required <a href="https://github.com/element-hq/synapse/tree/master/contrib/prometheus/">recording rules</a></p>
|
||||
</li>
|
||||
</ol>
|
||||
<h2 id="monitoring-workers"><a class="header" href="#monitoring-workers">Monitoring workers</a></h2>
|
||||
|
@ -15860,6 +15870,7 @@ consider using one of the following known implementations:</p>
|
|||
<ul>
|
||||
<li><a href="https://github.com/matrix-org/panopticon">Matrix.org's Panopticon</a></li>
|
||||
<li><a href="https://gitlab.com/famedly/infra/services/barad-dur">Famedly's Barad-dûr</a></li>
|
||||
<li><a href="https://github.com/loelkes/synapse-usage-exporter">Synapse Usage Exporter</a> for Prometheus</li>
|
||||
</ul>
|
||||
<div style="break-before: page; page-break-before: always;"></div><h1 id="monthly-active-users"><a class="header" href="#monthly-active-users">Monthly Active Users</a></h1>
|
||||
<p>Synapse can be configured to record the number of monthly active users (also referred to as MAU) on a given homeserver.
|
||||
|
@ -15929,11 +15940,11 @@ registered accounts on the homeserver.</p>
|
|||
<p>It is possible to monitor much of the internal state of Synapse using <a href="https://prometheus.io">Prometheus</a>
|
||||
metrics and <a href="https://grafana.com/">Grafana</a>.
|
||||
A guide for configuring Synapse to provide metrics is available <a href="usage/administration/../../metrics-howto.html">here</a>
|
||||
and information on setting up Grafana is <a href="https://github.com/matrix-org/synapse/tree/master/contrib/grafana">here</a>.
|
||||
and information on setting up Grafana is <a href="https://github.com/element-hq/synapse/tree/master/contrib/grafana">here</a>.
|
||||
In this setup, Prometheus will periodically scrape the information Synapse provides and
|
||||
store a record of it over time. Grafana is then used as an interface to query and
|
||||
present this information through a series of pretty graphs.</p>
|
||||
<p>Once you have grafana set up, and assuming you're using <a href="https://github.com/matrix-org/synapse/blob/master/contrib/grafana/synapse.json">our grafana dashboard template</a>, look for the following graphs when debugging a slow/overloaded Synapse:</p>
|
||||
<p>Once you have grafana set up, and assuming you're using <a href="https://github.com/element-hq/synapse/blob/master/contrib/grafana/synapse.json">our grafana dashboard template</a>, look for the following graphs when debugging a slow/overloaded Synapse:</p>
|
||||
<h2 id="message-event-send-time"><a class="header" href="#message-event-send-time">Message Event Send Time</a></h2>
|
||||
<p><img src="https://user-images.githubusercontent.com/1342360/82239409-a1c8e900-9930-11ea-8081-e4614e0c63f4.png" alt="image" /></p>
|
||||
<p>This, along with the CPU and Memory graphs, is a good way to check the general health of your Synapse instance. It represents how long it takes for a user on your homeserver to send a message.</p>
|
||||
|
@ -15960,7 +15971,7 @@ present this information through a series of pretty graphs.</p>
|
|||
<p>This is quite a useful graph. It shows how many times Synapse attempts to retrieve a piece of data from a cache which the cache did not contain, thus resulting in a call to the database. We can see here that the <code>_get_joined_profile_from_event_id</code> cache is being requested a lot, and often the data we're after is not cached.</p>
|
||||
<p>Cross-referencing this with the Eviction Rate graph, which shows that entries are being evicted from <code>_get_joined_profile_from_event_id</code> quite often:</p>
|
||||
<p><img src="https://user-images.githubusercontent.com/1342360/82240766-de95df80-9932-11ea-8c15-5acfc57c48da.png" alt="image" /></p>
|
||||
<p>we should probably consider raising the size of that cache by raising its cache factor (a multiplier value for the size of an individual cache). Information on doing so is available <a href="https://github.com/matrix-org/synapse/blob/ee421e524478c1ad8d43741c27379499c2f6135c/docs/sample_config.yaml#L608-L642">here</a> (note that the configuration of individual cache factors through the configuration file is available in Synapse v1.14.0+, whereas doing so through environment variables has been supported for a very long time). Note that this will increase Synapse's overall memory usage.</p>
|
||||
<p>we should probably consider raising the size of that cache by raising its cache factor (a multiplier value for the size of an individual cache). Information on doing so is available <a href="https://github.com/element-hq/synapse/blob/ee421e524478c1ad8d43741c27379499c2f6135c/docs/sample_config.yaml#L608-L642">here</a> (note that the configuration of individual cache factors through the configuration file is available in Synapse v1.14.0+, whereas doing so through environment variables has been supported for a very long time). Note that this will increase Synapse's overall memory usage.</p>
|
||||
<h2 id="forward-extremities"><a class="header" href="#forward-extremities">Forward Extremities</a></h2>
|
||||
<p><img src="https://user-images.githubusercontent.com/1342360/82241440-13566680-9934-11ea-8b88-ba468db937ed.png" alt="image" /></p>
|
||||
<p>Forward extremities are the leaf events at the end of a DAG in a room, aka events that have no children. The more that exist in a room, the more <a href="https://spec.matrix.org/v1.1/server-server-api/#room-state-resolution">state resolution</a> that Synapse needs to perform (hint: it's an expensive operation). While Synapse has code to prevent too many of these existing at one time in a room, bugs can sometimes make them crop up again.</p>
|
||||
|
@ -16171,7 +16182,7 @@ WHERE room_stats_state.room_id = event_json.room_id" | psql -d synapse -h l
|
|||
<h2 id="compression-tool"><a class="header" href="#compression-tool">Compression tool</a></h2>
|
||||
<p>There is a tool at https://github.com/matrix-org/rust-synapse-compress-state which can compress the <code>state_groups_state</code> on a room by-room basis (essentially, it reduces the number of "full" state groups). This can result in dramatic reductions of the storage used.</p>
|
||||
<div style="break-before: page; page-break-before: always;"></div><h1 id="request-log-format"><a class="header" href="#request-log-format">Request log format</a></h1>
|
||||
<p>HTTP request logs are written by synapse (see <a href="https://github.com/matrix-org/synapse/tree/develop/synapse/http/site.py"><code>synapse/http/site.py</code></a> for details).</p>
|
||||
<p>HTTP request logs are written by synapse (see <a href="https://github.com/element-hq/synapse/tree/develop/synapse/http/site.py"><code>synapse/http/site.py</code></a> for details).</p>
|
||||
<p>See the following for how to decode the dense data available from the default logging configuration.</p>
|
||||
<pre><code>2020-10-01 12:00:00,000 - synapse.access.http.8008 - 311 - INFO - PUT-1000- 192.168.0.1 - 8008 - {another-matrix-server.com} Processed request: 0.100sec/-0.000sec (0.000sec, 0.000sec) (0.001sec/0.090sec/3) 11B !200 "PUT /_matrix/federation/v1/send/1600000000000 HTTP/1.1" "Synapse/1.20.1" [0 dbevts]
|
||||
-AAAAAAAAAAAAAAAAAAAAA- -BBBBBBBBBBBBBBBBBBBBBB- -C- -DD- -EEEEEE- -FFFFFFFFF- -GG- -HHHHHHHHHHHHHHHHHHHHHHH- -IIIIII- -JJJJJJJ- -KKKKKK-, -LLLLLL- -MMMMMMM- -NNNNNN- O -P- -QQ- -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR- -SSSSSSSSSSSS- -TTTTTT-
|
||||
|
@ -16417,14 +16428,15 @@ you see this failure mode so we can help debug it, however.</p>
|
|||
<div style="break-before: page; page-break-before: always;"></div><h1 id="contributing"><a class="header" href="#contributing">Contributing</a></h1>
|
||||
<p>This document aims to get you started with contributing to Synapse!</p>
|
||||
<h1 id="1-who-can-contribute-to-synapse"><a class="header" href="#1-who-can-contribute-to-synapse">1. Who can contribute to Synapse?</a></h1>
|
||||
<p>Everyone is welcome to contribute code to <a href="https://github.com/matrix-org">matrix.org
|
||||
projects</a>, provided that they are willing to
|
||||
license their contributions under the same license as the project itself. We
|
||||
follow a simple 'inbound=outbound' model for contributions: the act of
|
||||
submitting an 'inbound' contribution means that the contributor agrees to
|
||||
license the code under the same terms as the project's overall 'outbound'
|
||||
license - in our case, this is almost always Apache Software License v2 (see
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/LICENSE">LICENSE</a>).</p>
|
||||
<p>Everyone is welcome to contribute code to
|
||||
<a href="https://github.com/element-hq/synapse">Synapse</a>, provided that they are willing
|
||||
to license their contributions to Element under a <a href="https://cla-assistant.io/element-hq/synapse">Contributor License
|
||||
Agreement</a> (CLA). This ensures that
|
||||
their contribution will be made available under an OSI-approved open-source
|
||||
license, currently Affero General Public License v3 (AGPLv3).</p>
|
||||
<p>Please see the
|
||||
<a href="https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/">Element blog post</a>
|
||||
for the full rationale.</p>
|
||||
<h1 id="2-what-do-i-need"><a class="header" href="#2-what-do-i-need">2. What do I need?</a></h1>
|
||||
<p>If you are running Windows, the Windows Subsystem for Linux (WSL) is strongly
|
||||
recommended for development. More information about WSL can be found at
|
||||
|
@ -16477,8 +16489,8 @@ cp docs/sample_log_config.yaml log_config.yaml
|
|||
<ul>
|
||||
<li>Set a <code>server_name</code></li>
|
||||
<li>Adjusting paths to be correct for your system like the <code>log_config</code> to point to the log config you just copied</li>
|
||||
<li>Using a <a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#database">PostgreSQL database instead of SQLite</a></li>
|
||||
<li>Adding a <a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#registration_shared_secret"><code>registration_shared_secret</code></a> so you can use <a href="https://matrix-org.github.io/synapse/latest/setup/installation.html#registering-a-user"><code>register_new_matrix_user</code> command</a>.</li>
|
||||
<li>Using a <a href="https://vector-im.github.io/synapse/latest/usage/configuration/config_documentation.html#database">PostgreSQL database instead of SQLite</a></li>
|
||||
<li>Adding a <a href="https://vector-im.github.io/synapse/latest/usage/configuration/config_documentation.html#registration_shared_secret"><code>registration_shared_secret</code></a> so you can use <a href="https://vector-im.github.io/synapse/latest/setup/installation.html#registering-a-user"><code>register_new_matrix_user</code> command</a>.</li>
|
||||
</ul>
|
||||
<p>And then run Synapse with the following command:</p>
|
||||
<pre><code class="language-sh">poetry run python -m synapse.app.homeserver -c homeserver.yaml
|
||||
|
@ -16491,19 +16503,19 @@ resolve any issues and re-run until successful.</p>
|
|||
<h1 id="5-get-in-touch"><a class="header" href="#5-get-in-touch">5. Get in touch.</a></h1>
|
||||
<p>Join our developer community on Matrix: <a href="https://matrix.to/#/#synapse-dev:matrix.org">#synapse-dev:matrix.org</a>!</p>
|
||||
<h1 id="6-pick-an-issue"><a class="header" href="#6-pick-an-issue">6. Pick an issue.</a></h1>
|
||||
<p>Fix your favorite problem or perhaps find a <a href="https://github.com/matrix-org/synapse/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22">Good First Issue</a>
|
||||
<p>Fix your favorite problem or perhaps find a <a href="https://github.com/element-hq/synapse/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22">Good First Issue</a>
|
||||
to work on.</p>
|
||||
<h1 id="7-turn-coffee-into-code-and-documentation"><a class="header" href="#7-turn-coffee-into-code-and-documentation">7. Turn coffee into code and documentation!</a></h1>
|
||||
<p>There is a growing amount of documentation located in the
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs"><code>docs</code></a>
|
||||
directory, with a rendered version <a href="https://matrix-org.github.io/synapse">available online</a>.
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs"><code>docs</code></a>
|
||||
directory, with a rendered version <a href="https://vector-im.github.io/synapse">available online</a>.
|
||||
This documentation is intended primarily for sysadmins running their
|
||||
own Synapse instance, as well as developers interacting externally with
|
||||
Synapse.
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs/development"><code>docs/development</code></a>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs/development"><code>docs/development</code></a>
|
||||
exists primarily to house documentation for
|
||||
Synapse developers.
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs/admin_api"><code>docs/admin_api</code></a> houses documentation
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs/admin_api"><code>docs/admin_api</code></a> houses documentation
|
||||
regarding Synapse's Admin API, which is used mostly by sysadmins and external
|
||||
service developers.</p>
|
||||
<p>Synapse's code style is documented <a href="development/../code_style.html">here</a>. Please follow
|
||||
|
@ -16511,12 +16523,9 @@ it, including the conventions for <a href="development/../code_style.html#config
|
|||
options and documentation</a>.</p>
|
||||
<p>We welcome improvements and additions to our documentation itself! When
|
||||
writing new pages, please
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/docs#adding-to-the-documentation">build <code>docs</code> to a book</a>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/docs#adding-to-the-documentation">build <code>docs</code> to a book</a>
|
||||
to check that your contributions render correctly. The docs are written in
|
||||
<a href="https://guides.github.com/features/mastering-markdown/">GitHub-Flavoured Markdown</a>.</p>
|
||||
<p>Some documentation also exists in <a href="https://github.com/matrix-org/synapse/wiki">Synapse's GitHub
|
||||
Wiki</a>, although this is primarily
|
||||
contributed to by community authors.</p>
|
||||
<p>When changes are made to any Rust code then you must call either <code>poetry install</code>
|
||||
or <code>maturin develop</code> (if installed) to rebuild the Rust code. Using <a href="https://github.com/PyO3/maturin"><code>maturin</code></a>
|
||||
is quicker than <code>poetry install</code>, so is recommended when making frequent
|
||||
|
@ -16631,7 +16640,7 @@ configuration:</p>
|
|||
<li>To run with Postgres, supply the <code>-e POSTGRES=1 -e MULTI_POSTGRES=1</code> environment flags.</li>
|
||||
<li>To run with Synapse in worker mode, supply the <code>-e WORKERS=1 -e REDIS=1</code> environment flags (in addition to the Postgres flags).</li>
|
||||
</ul>
|
||||
<p>For more details about other configurations, see the <a href="https://github.com/matrix-org/sytest/blob/develop/docker/README.md">Docker-specific documentation in the SyTest repo</a>.</p>
|
||||
<p>For more details about other configurations, see the <a href="https://github.com/vector-im/sytest/blob/develop/docker/README.md">Docker-specific documentation in the SyTest repo</a>.</p>
|
||||
<h2 id="run-the-integration-tests-complement"><a class="header" href="#run-the-integration-tests-complement">Run the integration tests (<a href="https://github.com/matrix-org/complement">Complement</a>).</a></h2>
|
||||
<p><a href="https://github.com/matrix-org/complement">Complement</a> is a suite of black box tests that can be run on any homeserver implementation. It can also be thought of as end-to-end (e2e) tests.</p>
|
||||
<p>It's often nice to develop on Synapse and write Complement tests at the same time.
|
||||
|
@ -16653,7 +16662,7 @@ Here is how to run your local Synapse checkout against your local Complement che
|
|||
<li>If setting <code>WORKERS=1</code>, optionally set <code>WORKER_TYPES=</code> to declare which worker
|
||||
types you wish to test. A simple comma-delimited string containing the worker types
|
||||
defined from the <code>WORKERS_CONFIG</code> template in
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/docker/configure_workers_and_start.py#L54">here</a>.
|
||||
<a href="https://github.com/element-hq/synapse/blob/develop/docker/configure_workers_and_start.py#L54">here</a>.
|
||||
A safe example would be <code>WORKER_TYPES="federation_inbound, federation_sender, synchrotron"</code>.
|
||||
See the <a href="development/../workers.html">worker documentation</a> for additional information on workers.</li>
|
||||
</ul>
|
||||
|
@ -16707,7 +16716,7 @@ in the format of <code>PRnumber.type</code>. The type can be one of the followin
|
|||
<li><code>removal</code> (also used for deprecations)</li>
|
||||
<li><code>misc</code> (for internal-only changes)</li>
|
||||
</ul>
|
||||
<p>This file will become part of our <a href="https://github.com/matrix-org/synapse/blob/master/CHANGES.md">changelog</a> at the next
|
||||
<p>This file will become part of our <a href="https://github.com/element-hq/synapse/blob/master/CHANGES.md">changelog</a> at the next
|
||||
release, so the content of the file should be a short description of your
|
||||
change in the same style as the rest of the changelog. The file can contain Markdown
|
||||
formatting, and must end with a full stop (.) or an exclamation mark (!) for
|
||||
|
@ -16735,7 +16744,7 @@ chicken-and-egg problem.</p>
|
|||
add the changelog file to your branch, or:</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Look at the <a href="https://github.com/matrix-org/synapse/issues?q=">list of all
|
||||
<p>Look at the <a href="https://github.com/element-hq/synapse/issues?q=">list of all
|
||||
issues/PRs</a>, add one to the
|
||||
highest number you see, and quickly open the PR before somebody else claims
|
||||
your number.</p>
|
||||
|
@ -16762,70 +16771,16 @@ directory, you will need both a regular newsfragment <em>and</em> an entry in th
|
|||
debian changelog. (Though typically such changes should be submitted as two
|
||||
separate pull requests.)</p>
|
||||
<h2 id="sign-off"><a class="header" href="#sign-off">Sign off</a></h2>
|
||||
<p>In order to have a concrete record that your contribution is intentional
|
||||
and you agree to license it under the same terms as the project's license, we've adopted the
|
||||
same lightweight approach that the Linux Kernel
|
||||
<a href="https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin%3E">submitting patches process</a>,
|
||||
<a href="https://github.com/docker/docker/blob/master/CONTRIBUTING.md">Docker</a>, and many other
|
||||
projects use: the DCO (<a href="http://developercertificate.org/">Developer Certificate of Origin</a>).
|
||||
This is a simple declaration that you wrote
|
||||
the contribution or otherwise have the right to contribute it to Matrix:</p>
|
||||
<pre><code>Developer Certificate of Origin
|
||||
Version 1.1
|
||||
|
||||
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
||||
660 York Street, Suite 102,
|
||||
San Francisco, CA 94110 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
Developer's Certificate of Origin 1.1
|
||||
|
||||
By making a contribution to this project, I certify that:
|
||||
|
||||
(a) The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the open source license
|
||||
indicated in the file; or
|
||||
|
||||
(b) The contribution is based upon previous work that, to the best
|
||||
of my knowledge, is covered under an appropriate open source
|
||||
license and I have the right under that license to submit that
|
||||
work with modifications, whether created in whole or in part
|
||||
by me, under the same open source license (unless I am
|
||||
permitted to submit under a different license), as indicated
|
||||
in the file; or
|
||||
|
||||
(c) The contribution was provided directly to me by some other
|
||||
person who certified (a), (b) or (c) and I have not modified
|
||||
it.
|
||||
|
||||
(d) I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off) is
|
||||
maintained indefinitely and may be redistributed consistent with
|
||||
this project or the open source license(s) involved.
|
||||
</code></pre>
|
||||
<p>If you agree to this for your contribution, then all that's needed is to
|
||||
include the line in your commit or pull request comment:</p>
|
||||
<pre><code>Signed-off-by: Your Name <your@email.example.org>
|
||||
</code></pre>
|
||||
<p>After you make a PR a comment from @CLAassistant will appear asking you to sign
|
||||
the <a href="https://cla-assistant.io/element-hq/synapse">CLA</a>.
|
||||
This will link a page to allow you to confirm that you have read and agreed to
|
||||
the CLA by signing in with GitHub.</p>
|
||||
<p>Alternatively, you can sign off before opening a PR by going to
|
||||
<a href="https://cla-assistant.io/element-hq/synapse">https://cla-assistant.io/element-hq/synapse</a>.</p>
|
||||
<p>We accept contributions under a legally identifiable name, such as
|
||||
your name on government documentation or common-law names (names
|
||||
claimed by legitimate usage or repute). Unfortunately, we cannot
|
||||
accept anonymous contributions at this time.</p>
|
||||
<p>Git allows you to add this signoff automatically when using the <code>-s</code>
|
||||
flag to <code>git commit</code>, which uses the name and email set in your
|
||||
<code>user.name</code> and <code>user.email</code> git configs.</p>
|
||||
<h3 id="private-sign-off"><a class="header" href="#private-sign-off">Private Sign off</a></h3>
|
||||
<p>If you would like to provide your legal name privately to the Matrix.org
|
||||
Foundation (instead of in a public commit or comment), you can do so
|
||||
by emailing your legal name and a link to the pull request to
|
||||
<a href="mailto:dco@matrix.org?subject=Private%20sign%20off">dco@matrix.org</a>.
|
||||
It helps to include "sign off" or similar in the subject line. You will then
|
||||
be instructed further.</p>
|
||||
<p>Once private sign off is complete, doing so for future contributions will not
|
||||
be required.</p>
|
||||
<h1 id="10-turn-feedback-into-better-code"><a class="header" href="#10-turn-feedback-into-better-code">10. Turn feedback into better code.</a></h1>
|
||||
<p>Once the Pull Request is opened, you will see a few things:</p>
|
||||
<ol>
|
||||
|
@ -17058,10 +17013,10 @@ before. Here, by way of an arbitrary example, is the top of <code>git log --grap
|
|||
<p>Note how the commit comment explains clearly what is changing and why. Also
|
||||
note the <em>absence</em> of merge commits, as well as the absence of commits called
|
||||
things like (to pick a few culprits):
|
||||
<a href="https://github.com/matrix-org/synapse/commit/84691da6c">“pep8”</a>, <a href="https://github.com/matrix-org/synapse/commit/474810d9d">“fix broken
|
||||
<a href="https://github.com/element-hq/synapse/commit/84691da6c">“pep8”</a>, <a href="https://github.com/element-hq/synapse/commit/474810d9d">“fix broken
|
||||
test”</a>,
|
||||
<a href="https://github.com/matrix-org/synapse/commit/c9d72e457">“oops”</a>,
|
||||
<a href="https://github.com/matrix-org/synapse/commit/836358823">“typo”</a>, or <a href="https://github.com/matrix-org/synapse/commit/707374d5d">“Who's
|
||||
<a href="https://github.com/element-hq/synapse/commit/c9d72e457">“oops”</a>,
|
||||
<a href="https://github.com/element-hq/synapse/commit/836358823">“typo”</a>, or <a href="https://github.com/element-hq/synapse/commit/707374d5d">“Who's
|
||||
the president?”</a>.</p>
|
||||
<p>There are a number of reasons why keeping a clean commit history is a good
|
||||
thing:</p>
|
||||
|
@ -17172,7 +17127,7 @@ the history of Synapse), we've had two releases in flight at once. Obviously,
|
|||
<code>release-v1.2</code> is more-stable than <code>release-v1.3</code>. <a href="development/git.html#a3">^</a></p>
|
||||
<div style="break-before: page; page-break-before: always;"></div><h1 id="synapse-demo-setup"><a class="header" href="#synapse-demo-setup">Synapse demo setup</a></h1>
|
||||
<p><strong>DO NOT USE THESE DEMO SERVERS IN PRODUCTION</strong></p>
|
||||
<p>Requires you to have a <a href="https://matrix-org.github.io/synapse/develop/development/contributing_guide.html#4-install-the-dependencies">Synapse development environment setup</a>.</p>
|
||||
<p>Requires you to have a <a href="https://element-hq.github.io/synapse/develop/development/contributing_guide.html#4-install-the-dependencies">Synapse development environment setup</a>.</p>
|
||||
<p>The demo setup allows running three federation Synapse servers, with server
|
||||
names <code>localhost:8480</code>, <code>localhost:8481</code>, and <code>localhost:8482</code>.</p>
|
||||
<p>You can access them via any Matrix client over HTTP at <code>localhost:8080</code>,
|
||||
|
@ -17705,9 +17660,9 @@ phonenumbers = [
|
|||
]
|
||||
</code></pre>
|
||||
<p>We can see this pinned version inside the docker image for that release:</p>
|
||||
<pre><code>$ docker pull matrixdotorg/synapse:v1.57.0
|
||||
<pre><code>$ docker pull vectorim/synapse:v1.97.0
|
||||
...
|
||||
$ docker run --entrypoint pip matrixdotorg/synapse:v1.57.0 show phonenumbers
|
||||
$ docker run --entrypoint pip vectorim/synapse:v1.97.0 show phonenumbers
|
||||
Name: phonenumbers
|
||||
Version: 8.12.44
|
||||
Summary: Python version of Google's common library for parsing, formatting, storing and validating international phone numbers.
|
||||
|
@ -18537,7 +18492,7 @@ minimal.</p>
|
|||
the classes interact, can be found in
|
||||
<code>synapse/replication/tcp/__init__.py</code></p>
|
||||
<div style="break-before: page; page-break-before: always;"></div><h2 id="streams"><a class="header" href="#streams">Streams</a></h2>
|
||||
<p>Synapse has a concept of "streams", which are roughly described in <a href="https://github.com/matrix-org/synapse/blob/develop/synapse/storage/util/id_generators.py"><code>id_generators.py</code></a>.
|
||||
<p>Synapse has a concept of "streams", which are roughly described in <a href="https://github.com/element-hq/synapse/blob/develop/synapse/storage/util/id_generators.py"><code>id_generators.py</code></a>.
|
||||
Generally speaking, streams are a series of notifications that something in Synapse's database has changed that the application might need to respond to.
|
||||
For example:</p>
|
||||
<ul>
|
||||
|
@ -18545,9 +18500,9 @@ For example:</p>
|
|||
<li>The account data stream reports changes to users' <a href="https://spec.matrix.org/v1.7/client-server-api/#client-config">account data</a>.</li>
|
||||
<li>The to-device stream reports when a device has a new <a href="https://spec.matrix.org/v1.7/client-server-api/#send-to-device-messaging">to-device message</a>.</li>
|
||||
</ul>
|
||||
<p>See <a href="https://github.com/matrix-org/synapse/blob/develop/synapse/replication/tcp/streams/__init__.py"><code>synapse.replication.tcp.streams</code></a> for the full list of streams.</p>
|
||||
<p>See <a href="https://github.com/element-hq/synapse/blob/develop/synapse/replication/tcp/streams/__init__.py"><code>synapse.replication.tcp.streams</code></a> for the full list of streams.</p>
|
||||
<p>It is very helpful to understand the streams mechanism when working on any part of Synapse that needs to respond to changes—especially if those changes are made by different workers.
|
||||
To that end, let's describe streams formally, paraphrasing from the docstring of <a href="https://github.com/matrix-org/synapse/blob/a719b703d9bd0dade2565ddcad0e2f3a7a9d4c37/synapse/storage/util/id_generators.py#L96"><code>AbstractStreamIdGenerator</code></a>.</p>
|
||||
To that end, let's describe streams formally, paraphrasing from the docstring of <a href="https://github.com/element-hq/synapse/blob/a719b703d9bd0dade2565ddcad0e2f3a7a9d4c37/synapse/storage/util/id_generators.py#L96"><code>AbstractStreamIdGenerator</code></a>.</p>
|
||||
<h3 id="definition"><a class="header" href="#definition">Definition</a></h3>
|
||||
<p>A stream is an append-only log <code>T1, T2, ..., Tn, ...</code> of facts<sup class="footnote-reference"><a href="#1">1</a></sup> which grows over time.
|
||||
Only "writers" can add facts to a stream, and there may be multiple writers.</p>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/replication.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/replication.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/reverse_proxy.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/reverse_proxy.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/room_and_user_statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/room_and_user_statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# This file is maintained as an up-to-date snapshot of the default
|
||||
# homeserver.yaml configuration generated by Synapse. You can find a
|
||||
# complete accounting of possible configuration options at
|
||||
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
#
|
||||
# It is *not* intended to be copied and used as the basis for a real
|
||||
# homeserver.yaml. Instead, if you are starting from scratch, please generate
|
||||
# a fresh config using Synapse by following the instructions in
|
||||
# https://matrix-org.github.io/synapse/latest/setup/installation.html.
|
||||
# https://element-hq.github.io/synapse/latest/setup/installation.html.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
|||
#
|
||||
# For more information on how to configure Synapse, including a complete accounting of
|
||||
# each option, go to docs/usage/configuration/config_documentation.md or
|
||||
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
server_name: "SERVERNAME"
|
||||
pid_file: DATADIR/homeserver.pid
|
||||
listeners:
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# be ingested by ELK stacks. See [2] for details.
|
||||
#
|
||||
# [1]: https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema
|
||||
# [2]: https://matrix-org.github.io/synapse/latest/structured_logging.html
|
||||
# [2]: https://element-hq.github.io/synapse/latest/structured_logging.html
|
||||
|
||||
version: 1
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/server_notices.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/server_notices.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -192,13 +192,15 @@ section, which should look like this:</p>
|
|||
<pre><code class="language-yaml">server_notices:
|
||||
system_mxid_localpart: server
|
||||
system_mxid_display_name: "Server Notices"
|
||||
system_mxid_avatar_url: "mxc://server.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
system_mxid_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
room_name: "Server Notices"
|
||||
room_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
room_topic: "Room used by your server admin to notice you of important information"
|
||||
auto_join: true
|
||||
</code></pre>
|
||||
<p>The only compulsory setting is <code>system_mxid_localpart</code>, which defines the user
|
||||
id of the Server Notices user, as above. <code>room_name</code> defines the name of the
|
||||
room which will be created.</p>
|
||||
room which will be created, <code>room_avatar_url</code> its avatar and <code>room_topic</code> its topic.</p>
|
||||
<p><code>system_mxid_display_name</code> and <code>system_mxid_avatar_url</code> can be used to set the
|
||||
displayname and avatar of the Server Notices user.</p>
|
||||
<p><code>auto_join</code> will autojoin users to the notices room instead of sending an invite.</p>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/setup/forward_proxy.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/setup/forward_proxy.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/setup/installation.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/setup/installation.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -178,9 +178,9 @@ that your email address is probably <code>user@example.com</code> rather than
|
|||
for most users.</p>
|
||||
<h4 id="docker-images-and-ansible-playbooks"><a class="header" href="#docker-images-and-ansible-playbooks">Docker images and Ansible playbooks</a></h4>
|
||||
<p>There is an official synapse image available at
|
||||
<a href="https://hub.docker.com/r/matrixdotorg/synapse">https://hub.docker.com/r/matrixdotorg/synapse</a> or at <a href="https://ghcr.io/matrix-org/synapse"><code>ghcr.io/matrix-org/synapse</code></a>
|
||||
<a href="https://hub.docker.com/r/vectorim/synapse">https://hub.docker.com/r/vectorim/synapse</a> or at <a href="https://ghcr.io/element-hq/synapse"><code>ghcr.io/element-hq/synapse</code></a>
|
||||
which can be used with the docker-compose file available at
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/contrib/docker">contrib/docker</a>.
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/contrib/docker">contrib/docker</a>.
|
||||
Further information on this including configuration options is available in the README
|
||||
on hub.docker.com.</p>
|
||||
<p>Alternatively, Andreas Peters (previously Silvio Fricke) has contributed a
|
||||
|
@ -197,6 +197,7 @@ For more details, see
|
|||
<p>Matrix.org provides Debian/Ubuntu packages of Synapse, for the amd64
|
||||
architecture via <a href="https://packages.matrix.org/debian/">https://packages.matrix.org/debian/</a>.</p>
|
||||
<p>To install the latest release:</p>
|
||||
<p>TODO UPDATE ALL THIS</p>
|
||||
<pre><code class="language-sh">sudo apt install -y lsb-release wget apt-transport-https
|
||||
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" |
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/setup/turn/coturn.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/setup/turn/coturn.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/setup/turn/eturnal.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/setup/turn/eturnal.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/sso_mapping_providers.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/sso_mapping_providers.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -300,7 +300,7 @@ usually returned as part of the <a href="https://spec.matrix.org/latest/client-s
|
|||
<h3 id="default-openid-mapping-provider"><a class="header" href="#default-openid-mapping-provider">Default OpenID Mapping Provider</a></h3>
|
||||
<p>Synapse has a built-in OpenID mapping provider if a custom provider isn't
|
||||
specified in the config. It is located at
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/synapse/handlers/oidc.py"><code>synapse.handlers.oidc.JinjaOidcMappingProvider</code></a>.</p>
|
||||
<a href="https://github.com/element-hq/synapse/blob/develop/synapse/handlers/oidc.py"><code>synapse.handlers.oidc.JinjaOidcMappingProvider</code></a>.</p>
|
||||
<h2 id="saml-mapping-providers"><a class="header" href="#saml-mapping-providers">SAML Mapping Providers</a></h2>
|
||||
<p>The SAML mapping provider can be customized by editing the
|
||||
<a href="usage/configuration/config_documentation.html#saml2_config"><code>saml2_config.user_mapping_provider.module</code></a>
|
||||
|
@ -415,7 +415,7 @@ complete registration using methods from the <code>ModuleApi</code>.</p>
|
|||
<h3 id="default-saml-mapping-provider"><a class="header" href="#default-saml-mapping-provider">Default SAML Mapping Provider</a></h3>
|
||||
<p>Synapse has a built-in SAML mapping provider if a custom provider isn't
|
||||
specified in the config. It is located at
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/synapse/handlers/saml.py"><code>synapse.handlers.saml.DefaultSamlMappingProvider</code></a>.</p>
|
||||
<a href="https://github.com/element-hq/synapse/blob/develop/synapse/handlers/saml.py"><code>synapse.handlers.saml.DefaultSamlMappingProvider</code></a>.</p>
|
||||
|
||||
</main>
|
||||
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/structured_logging.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/structured_logging.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/synctl_workers.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/synctl_workers.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/systemd-with-workers/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/systemd-with-workers/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -165,9 +165,9 @@ managing workers. It provides a <code>matrix-synapse</code> service for the mast
|
|||
well as a <code>matrix-synapse-worker@</code> service template for any workers you
|
||||
require. Additionally, to group the required services, it sets up a
|
||||
<code>matrix-synapse.target</code>.</p>
|
||||
<p>See the folder <a href="https://github.com/matrix-org/synapse/tree/develop/docs/systemd-with-workers/system/">system</a>
|
||||
<p>See the folder <a href="https://github.com/element-hq/synapse/tree/develop/docs/systemd-with-workers/system/">system</a>
|
||||
for the systemd unit files.</p>
|
||||
<p>The folder <a href="https://github.com/matrix-org/synapse/tree/develop/docs/systemd-with-workers/workers/">workers</a>
|
||||
<p>The folder <a href="https://github.com/element-hq/synapse/tree/develop/docs/systemd-with-workers/workers/">workers</a>
|
||||
contains an example configuration for the <code>generic_worker</code> worker.</p>
|
||||
<h2 id="synapse-configuration-files"><a class="header" href="#synapse-configuration-files">Synapse configuration files</a></h2>
|
||||
<p>See <a href="../workers.html">the worker documentation</a> for information on how to set up the
|
||||
|
@ -194,7 +194,7 @@ the provided <code>*.service</code> files accordingly.</p>
|
|||
<h2 id="set-up"><a class="header" href="#set-up">Set up</a></h2>
|
||||
<ol>
|
||||
<li>Adjust synapse configuration files as above.</li>
|
||||
<li>Copy the <code>*.service</code> and <code>*.target</code> files in <a href="https://github.com/matrix-org/synapse/tree/develop/docs/systemd-with-workers/system/">system</a>
|
||||
<li>Copy the <code>*.service</code> and <code>*.target</code> files in <a href="https://github.com/element-hq/synapse/tree/develop/docs/systemd-with-workers/system/">system</a>
|
||||
to <code>/etc/systemd/system</code>.</li>
|
||||
<li>Run <code>systemctl daemon-reload</code> to tell systemd to load the new unit files.</li>
|
||||
<li>Run <code>systemctl enable matrix-synapse.service</code>. This will configure the
|
||||
|
@ -229,7 +229,7 @@ systemctl restart matrix-synapse.target
|
|||
<h2 id="hardening"><a class="header" href="#hardening">Hardening</a></h2>
|
||||
<p><strong>Optional:</strong> If further hardening is desired, the file
|
||||
<code>override-hardened.conf</code> may be copied from
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/contrib/systemd/">contrib/systemd/override-hardened.conf</a>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/contrib/systemd/">contrib/systemd/override-hardened.conf</a>
|
||||
in this repository to the location
|
||||
<code>/etc/systemd/system/matrix-synapse.service.d/override-hardened.conf</code> (the
|
||||
directory may have to be created). It enables certain sandboxing features in
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/tcp_replication.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/tcp_replication.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/templates.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/templates.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -162,7 +162,7 @@
|
|||
<h1 id="templates"><a class="header" href="#templates">Templates</a></h1>
|
||||
<p>Synapse uses parametrised templates to generate the content of emails it sends and
|
||||
webpages it shows to users.</p>
|
||||
<p>By default, Synapse will use the templates listed <a href="https://github.com/matrix-org/synapse/tree/master/synapse/res/templates">here</a>.
|
||||
<p>By default, Synapse will use the templates listed <a href="https://github.com/element-hq/synapse/tree/master/synapse/res/templates">here</a>.
|
||||
Server admins can configure an additional directory for Synapse to look for templates
|
||||
in, allowing them to specify custom templates:</p>
|
||||
<pre><code class="language-yaml">templates:
|
||||
|
@ -285,7 +285,7 @@ and failure that a user will see when they confirm the password reset flow using
|
|||
page above.
|
||||
When rendering, <code>password_reset_success.html</code> is given no variable, and
|
||||
<code>password_reset_failure.html</code> is given a <code>failure_reason</code>, which contains the reason
|
||||
for the password reset failure. </li>
|
||||
for the password reset failure.</li>
|
||||
<li><code>registration_success.html</code> and <code>registration_failure.html</code>: HTML pages for success and
|
||||
failure that a user will see when they follow the link in an address verification email
|
||||
sent during registration.
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/turn-howto.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/turn-howto.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/upgrade.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/upgrade.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -266,7 +266,7 @@ v1.61.0.</p>
|
|||
<tr><td>v1.83.0 – v1.84.1</td><td>v1.77.0</td></tr>
|
||||
<tr><td>v1.85.0 – v1.91.2</td><td>v1.83.0</td></tr>
|
||||
<tr><td>v1.92.0 – v1.97.0</td><td>v1.90.0</td></tr>
|
||||
<tr><td>v1.98.0 – v1.98.0</td><td>v1.96.0</td></tr>
|
||||
<tr><td>v1.98.0 – v1.99.0</td><td>v1.96.0</td></tr>
|
||||
</tbody></table>
|
||||
<h1 id="upgrading-to-v1930"><a class="header" href="#upgrading-to-v1930">Upgrading to v1.93.0</a></h1>
|
||||
<h2 id="minimum-supported-rust-version"><a class="header" href="#minimum-supported-rust-version">Minimum supported Rust version</a></h2>
|
||||
|
@ -279,8 +279,8 @@ date.</p>
|
|||
considered insecure - and from Synapse v1.71.0 forwards the application service token has also been sent via
|
||||
<a href="https://spec.matrix.org/v1.6/application-service-api/#authorization">the <code>Authorization</code> header</a>], making the insecure
|
||||
query parameter authorization redundant. Since removing the ability to continue to use query parameters could break
|
||||
backwards compatibility it has now been put behind a configuration option, <code>use_appservice_legacy_authorization</code>.<br />
|
||||
This option defaults to false, but can be activated by adding </p>
|
||||
backwards compatibility it has now been put behind a configuration option, <code>use_appservice_legacy_authorization</code>.
|
||||
This option defaults to false, but can be activated by adding</p>
|
||||
<pre><code class="language-yaml">use_appservice_legacy_authorization: true
|
||||
</code></pre>
|
||||
<p>to your configuration.</p>
|
||||
|
@ -300,9 +300,9 @@ packages or Docker images, no action is required.</p>
|
|||
<p>As mentioned previously in <a href="#upgrading-to-v1840">Upgrading to v1.84.0</a>, the following deprecated settings
|
||||
are being removed in this release of Synapse:</p>
|
||||
<ul>
|
||||
<li><a href="https://matrix-org.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_host"><code>worker_replication_host</code></a></li>
|
||||
<li><a href="https://matrix-org.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_http_port"><code>worker_replication_http_port</code></a></li>
|
||||
<li><a href="https://matrix-org.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_http_tls"><code>worker_replication_http_tls</code></a></li>
|
||||
<li><a href="https://element-hq.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_host"><code>worker_replication_host</code></a></li>
|
||||
<li><a href="https://element-hq.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_http_port"><code>worker_replication_http_port</code></a></li>
|
||||
<li><a href="https://element-hq.github.io/synapse/v1.86/usage/configuration/config_documentation.html#worker_replication_http_tls"><code>worker_replication_http_tls</code></a></li>
|
||||
</ul>
|
||||
<p>Please ensure that you have migrated to using <code>main</code> on your shared configuration's <code>instance_map</code>
|
||||
(or create one if necessary). This is required if you have <em><strong>any</strong></em> workers at all;
|
||||
|
@ -389,7 +389,7 @@ worker_listeners:
|
|||
worker_log_config: /etc/matrix-synapse/generic-worker-log.yaml
|
||||
|
||||
</code></pre>
|
||||
<p>Notes: </p>
|
||||
<p>Notes:</p>
|
||||
<ul>
|
||||
<li><code>tls</code> is optional but mirrors the functionality of <code>worker_replication_http_tls</code></li>
|
||||
</ul>
|
||||
|
@ -549,7 +549,7 @@ because current versions of Synapse emit both old and new names.</p>
|
|||
the names of Prometheus metrics.
|
||||
If you want to test your changes before legacy names are disabled by default,
|
||||
you may specify <code>enable_legacy_metrics: false</code> in your homeserver configuration.</p>
|
||||
<p>A list of affected metrics is available on the <a href="https://matrix-org.github.io/synapse/v1.69/metrics-howto.html?highlight=metrics%20deprecated#renaming-of-metrics--deprecation-of-old-names-in-12">Metrics How-to page</a>.</p>
|
||||
<p>A list of affected metrics is available on the <a href="https://element-hq.github.io/synapse/v1.69/metrics-howto.html?highlight=metrics%20deprecated#renaming-of-metrics--deprecation-of-old-names-in-12">Metrics How-to page</a>.</p>
|
||||
<h2 id="deprecation-of-the-generate_short_term_login_token-module-api-method"><a class="header" href="#deprecation-of-the-generate_short_term_login_token-module-api-method">Deprecation of the <code>generate_short_term_login_token</code> module API method</a></h2>
|
||||
<p>The following method of the module API has been deprecated, and is scheduled to
|
||||
be remove in v1.71.0:</p>
|
||||
|
@ -589,7 +589,7 @@ Synapse's database.</p>
|
|||
<h2 id="rust-requirement-when-building-from-source"><a class="header" href="#rust-requirement-when-building-from-source">Rust requirement when building from source.</a></h2>
|
||||
<p>Building from a source checkout of Synapse now requires a recent Rust compiler
|
||||
(currently Rust 1.58.1, but see also the
|
||||
<a href="https://matrix-org.github.io/synapse/latest/deprecation_policy.html">Platform Dependency Policy</a>).</p>
|
||||
<a href="https://element-hq.github.io/synapse/latest/deprecation_policy.html">Platform Dependency Policy</a>).</p>
|
||||
<p>Installations using</p>
|
||||
<ul>
|
||||
<li>Docker images <a href="https://hub.docker.com/r/matrixdotorg/synapse">from <code>matrixdotorg</code></a>,</li>
|
||||
|
@ -637,7 +637,7 @@ This removal was previously planned for Synapse 1.64.0, but was
|
|||
homeserver administrators more notice of the change.</p>
|
||||
<p>To continue to allow users to add email addresses to their homeserver accounts,
|
||||
and perform password resets, make sure that Synapse is configured with a working
|
||||
email server in the <a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#email"><code>email</code> configuration
|
||||
email server in the <a href="https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#email"><code>email</code> configuration
|
||||
section</a>
|
||||
(including, at a minimum, a <code>notif_from</code> setting.)</p>
|
||||
<p>Specifying an <code>email</code> setting under <code>account_threepid_delegates</code> will now cause
|
||||
|
@ -646,7 +646,7 @@ an error at startup.</p>
|
|||
<h2 id="deprecation-of-the-ability-to-delegate-e-mail-verification-to-identity-servers"><a class="header" href="#deprecation-of-the-ability-to-delegate-e-mail-verification-to-identity-servers">Deprecation of the ability to delegate e-mail verification to identity servers</a></h2>
|
||||
<p>Synapse v1.66.0 will remove the ability to delegate the tasks of verifying email address ownership, and password reset confirmation, to an identity server.</p>
|
||||
<p>If you require your homeserver to verify e-mail addresses or to support password resets via e-mail, please configure your homeserver with SMTP access so that it can send e-mails on its own behalf.
|
||||
<a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#email">Consult the configuration documentation for more information.</a></p>
|
||||
<a href="https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#email">Consult the configuration documentation for more information.</a></p>
|
||||
<p>The option that will be removed is <code>account_threepid_delegates.email</code>.</p>
|
||||
<h2 id="changes-to-the-event-replication-streams"><a class="header" href="#changes-to-the-event-replication-streams">Changes to the event replication streams</a></h2>
|
||||
<p>Synapse now includes a flag indicating if an event is an outlier when
|
||||
|
@ -796,7 +796,7 @@ has queries that can be used to check a database for this problem in advance.</p
|
|||
<p>The names of user devices are no longer visible to users on other homeservers by default.
|
||||
Device IDs are unaffected, as these are necessary to facilitate end-to-end encryption.</p>
|
||||
<p>To re-enable this functionality, set the
|
||||
<a href="https://matrix-org.github.io/synapse/v1.59/usage/configuration/config_documentation.html#federation"><code>allow_device_name_lookup_over_federation</code></a>
|
||||
<a href="https://element-hq.github.io/synapse/v1.59/usage/configuration/config_documentation.html#federation"><code>allow_device_name_lookup_over_federation</code></a>
|
||||
homeserver config option to <code>true</code>.</p>
|
||||
<h2 id="deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types"><a class="header" href="#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types">Deprecation of the <code>synapse.app.appservice</code> and <code>synapse.app.user_dir</code> worker application types</a></h2>
|
||||
<p>The <code>synapse.app.appservice</code> worker application type allowed you to configure a
|
||||
|
@ -881,7 +881,7 @@ be disabled by default in Synapse v1.58.0.</p>
|
|||
<h2 id="change-in-behaviour-for-postgresql-databases-with-unsafe-locale"><a class="header" href="#change-in-behaviour-for-postgresql-databases-with-unsafe-locale">Change in behaviour for PostgreSQL databases with unsafe locale</a></h2>
|
||||
<p>Synapse now refuses to start when using PostgreSQL with non-<code>C</code> values for <code>COLLATE</code> and
|
||||
<code>CTYPE</code> unless the config flag <code>allow_unsafe_locale</code>, found in the database section of
|
||||
the configuration file, is set to <code>true</code>. See the <a href="https://matrix-org.github.io/synapse/latest/postgres.html#fixing-incorrect-collate-or-ctype">PostgreSQL documentation</a>
|
||||
the configuration file, is set to <code>true</code>. See the <a href="https://element-hq.github.io/synapse/latest/postgres.html#fixing-incorrect-collate-or-ctype">PostgreSQL documentation</a>
|
||||
for more information and instructions on how to fix a database with incorrect values.</p>
|
||||
<h1 id="upgrading-to-v1550"><a class="header" href="#upgrading-to-v1550">Upgrading to v1.55.0</a></h1>
|
||||
<h2 id="synctl-script-has-been-moved"><a class="header" href="#synctl-script-has-been-moved"><code>synctl</code> script has been moved</a></h2>
|
||||
|
@ -911,7 +911,7 @@ please upgrade Mjolnir to version 1.3.2 or later before upgrading Synapse.</p>
|
|||
<p>This release removes support for the <code>structured: true</code> logging configuration
|
||||
which was deprecated in Synapse v1.23.0. If your logging configuration contains
|
||||
<code>structured: true</code> then it should be modified based on the
|
||||
<a href="https://matrix-org.github.io/synapse/v1.56/structured_logging.html#upgrading-from-legacy-structured-logging-configuration">structured logging documentation</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/v1.56/structured_logging.html#upgrading-from-legacy-structured-logging-configuration">structured logging documentation</a>.</p>
|
||||
<h1 id="upgrading-to-v1530"><a class="header" href="#upgrading-to-v1530">Upgrading to v1.53.0</a></h1>
|
||||
<h2 id="dropping-support-for-webclient-listeners-and-non-https-web_client_location"><a class="header" href="#dropping-support-for-webclient-listeners-and-non-https-web_client_location">Dropping support for <code>webclient</code> listeners and non-HTTP(S) <code>web_client_location</code></a></h2>
|
||||
<p>Per the deprecation notice in Synapse v1.51.0, listeners of type <code>webclient</code>
|
||||
|
@ -954,10 +954,10 @@ becomes stable.</p>
|
|||
<h2 id="removal-of-user_may_create_room_with_invites"><a class="header" href="#removal-of-user_may_create_room_with_invites">Removal of <code>user_may_create_room_with_invites</code></a></h2>
|
||||
<p>As announced with the release of <a href="#deprecation-of-the-user_may_create_room_with_invites-module-callback">Synapse 1.47.0</a>,
|
||||
the deprecated <code>user_may_create_room_with_invites</code> module callback has been removed.</p>
|
||||
<p>Modules relying on it can instead implement <a href="https://matrix-org.github.io/synapse/latest/modules/spam_checker_callbacks.html#user_may_invite"><code>user_may_invite</code></a>
|
||||
and use the <a href="https://github.com/matrix-org/synapse/blob/872f23b95fa980a61b0866c1475e84491991fa20/synapse/module_api/__init__.py#L869-L876"><code>get_room_state</code></a>
|
||||
<p>Modules relying on it can instead implement <a href="https://element-hq.github.io/synapse/latest/modules/spam_checker_callbacks.html#user_may_invite"><code>user_may_invite</code></a>
|
||||
and use the <a href="https://github.com/element-hq/synapse/blob/872f23b95fa980a61b0866c1475e84491991fa20/synapse/module_api/__init__.py#L869-L876"><code>get_room_state</code></a>
|
||||
module API to infer whether the invite is happening while creating a room (see <a href="https://github.com/matrix-org/synapse-domain-rule-checker/blob/e7d092dd9f2a7f844928771dbfd9fd24c2332e48/synapse_domain_rule_checker/__init__.py#L56-L89">this function</a>
|
||||
as an example). Alternately, modules can also implement <a href="https://matrix-org.github.io/synapse/latest/modules/third_party_rules_callbacks.html#on_create_room"><code>on_create_room</code></a>.</p>
|
||||
as an example). Alternately, modules can also implement <a href="https://element-hq.github.io/synapse/latest/modules/third_party_rules_callbacks.html#on_create_room"><code>on_create_room</code></a>.</p>
|
||||
<h1 id="upgrading-to-v1520"><a class="header" href="#upgrading-to-v1520">Upgrading to v1.52.0</a></h1>
|
||||
<h2 id="twisted-security-release"><a class="header" href="#twisted-security-release">Twisted security release</a></h2>
|
||||
<p>Note that <a href="https://github.com/twisted/twisted/releases/tag/twisted-22.1.0">Twisted 22.1.0</a>
|
||||
|
@ -987,12 +987,12 @@ longer supported upstream.</p>
|
|||
<li><code>POST /_synapse/admin/v1/<room_id>/delete</code></li>
|
||||
</ul>
|
||||
<p>Any scripts still using the above APIs should be converted to use the
|
||||
<a href="https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api">Delete Room API</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/latest/admin_api/rooms.html#delete-room-api">Delete Room API</a>.</p>
|
||||
<h2 id="deprecation-of-the-user_may_create_room_with_invites-module-callback"><a class="header" href="#deprecation-of-the-user_may_create_room_with_invites-module-callback">Deprecation of the <code>user_may_create_room_with_invites</code> module callback</a></h2>
|
||||
<p>The <code>user_may_create_room_with_invites</code> is deprecated and will be removed in a future
|
||||
version of Synapse. Modules implementing this callback can instead implement
|
||||
<a href="https://matrix-org.github.io/synapse/latest/modules/spam_checker_callbacks.html#user_may_invite"><code>user_may_invite</code></a>
|
||||
and use the <a href="https://github.com/matrix-org/synapse/blob/872f23b95fa980a61b0866c1475e84491991fa20/synapse/module_api/__init__.py#L869-L876"><code>get_room_state</code></a>
|
||||
<a href="https://element-hq.github.io/synapse/latest/modules/spam_checker_callbacks.html#user_may_invite"><code>user_may_invite</code></a>
|
||||
and use the <a href="https://github.com/element-hq/synapse/blob/872f23b95fa980a61b0866c1475e84491991fa20/synapse/module_api/__init__.py#L869-L876"><code>get_room_state</code></a>
|
||||
module API method to infer whether the invite is happening in the context of creating a
|
||||
room.</p>
|
||||
<p>We plan to remove this callback in January 2022.</p>
|
||||
|
@ -1009,7 +1009,7 @@ no longer mirrored to storage providers. These two directories can be safely
|
|||
deleted from any configured storage providers to reclaim space.</p>
|
||||
<h1 id="upgrading-to-v1430"><a class="header" href="#upgrading-to-v1430">Upgrading to v1.43.0</a></h1>
|
||||
<h2 id="the-spaces-summary-apis-can-now-be-handled-by-workers"><a class="header" href="#the-spaces-summary-apis-can-now-be-handled-by-workers">The spaces summary APIs can now be handled by workers</a></h2>
|
||||
<p>The <a href="https://matrix-org.github.io/synapse/latest/workers.html#available-worker-applications">available worker applications documentation</a>
|
||||
<p>The <a href="https://element-hq.github.io/synapse/latest/workers.html#available-worker-applications">available worker applications documentation</a>
|
||||
has been updated to reflect that calls to the <code>/spaces</code>, <code>/hierarchy</code>, and
|
||||
<code>/summary</code> endpoints can now be routed to workers for both client API and
|
||||
federation requests.</p>
|
||||
|
@ -1022,11 +1022,11 @@ federation requests.</p>
|
|||
<li><code>POST /_synapse/admin/v1/shutdown_room/<room_id></code></li>
|
||||
</ul>
|
||||
<p>Any scripts still using the above APIs should be converted to use the
|
||||
<a href="https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api">Delete Room API</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/latest/admin_api/rooms.html#delete-room-api">Delete Room API</a>.</p>
|
||||
<h2 id="user-interactive-authentication-fallback-templates-can-now-display-errors"><a class="header" href="#user-interactive-authentication-fallback-templates-can-now-display-errors">User-interactive authentication fallback templates can now display errors</a></h2>
|
||||
<p>This may affect you if you make use of custom HTML templates for the
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/synapse/res/templates/recaptcha.html">reCAPTCHA (<code>synapse/res/templates/recaptcha.html</code>)</a> or
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/synapse/res/templates/terms.html">terms (<code>synapse/res/templates/terms.html</code>)</a> fallback pages.</p>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/synapse/res/templates/recaptcha.html">reCAPTCHA (<code>synapse/res/templates/recaptcha.html</code>)</a> or
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/synapse/res/templates/terms.html">terms (<code>synapse/res/templates/terms.html</code>)</a> fallback pages.</p>
|
||||
<p>The template is now provided an <code>error</code> variable if the authentication
|
||||
process failed. See the default templates linked above for an example.</p>
|
||||
<h2 id="removal-of-out-of-date-email-pushers"><a class="header" href="#removal-of-out-of-date-email-pushers">Removal of out-of-date email pushers</a></h2>
|
||||
|
@ -1061,11 +1061,11 @@ details.</p>
|
|||
configuration file are now deprecated. Server admins should use the new
|
||||
<code>templates.custom_template_directory</code> setting in the configuration file and use one single
|
||||
custom template directory for all aforementioned features. Template file names remain
|
||||
unchanged. See <a href="https://matrix-org.github.io/synapse/latest/templates.html">the related documentation</a>
|
||||
unchanged. See <a href="https://element-hq.github.io/synapse/latest/templates.html">the related documentation</a>
|
||||
for more information and examples.</p>
|
||||
<p>We plan to remove support for these settings in October 2021.</p>
|
||||
<h2 id="_synapseadminv1usersuseridmedia-must-be-handled-by-media-workers"><a class="header" href="#_synapseadminv1usersuseridmedia-must-be-handled-by-media-workers"><code>/_synapse/admin/v1/users/{userId}/media</code> must be handled by media workers</a></h2>
|
||||
<p>The <a href="https://matrix-org.github.io/synapse/latest/workers.html#synapseappmedia_repository">media repository worker documentation</a>
|
||||
<p>The <a href="https://element-hq.github.io/synapse/latest/workers.html#synapseappmedia_repository">media repository worker documentation</a>
|
||||
has been updated to reflect that calls to <code>/_synapse/admin/v1/users/{userId}/media</code>
|
||||
must now be handled by media repository workers. This is due to the new <code>DELETE</code> method
|
||||
of this endpoint modifying the media store.</p>
|
||||
|
@ -1377,7 +1377,7 @@ lock down external access to the Admin API endpoints.</p>
|
|||
<p>This release deprecates use of the <code>structured: true</code> logging
|
||||
configuration for structured logging. If your logging configuration
|
||||
contains <code>structured: true</code> then it should be modified based on the
|
||||
<a href="https://matrix-org.github.io/synapse/v1.56/structured_logging.html#upgrading-from-legacy-structured-logging-configuration">structured logging documentation</a>.</p>
|
||||
<a href="https://element-hq.github.io/synapse/v1.56/structured_logging.html#upgrading-from-legacy-structured-logging-configuration">structured logging documentation</a>.</p>
|
||||
<p>The <code>structured</code> and <code>drains</code> logging options are now deprecated and
|
||||
should be replaced by standard logging configuration of <code>handlers</code> and
|
||||
<code>formatters</code>.</p>
|
||||
|
@ -1410,7 +1410,7 @@ endpoint can be handled</p>
|
|||
update your reverse proxy configuration to reflect this change.</p>
|
||||
<h2 id="new-html-templates"><a class="header" href="#new-html-templates">New HTML templates</a></h2>
|
||||
<p>A new HTML template,
|
||||
<a href="https://github.com/matrix-org/synapse/blob/develop/synapse/res/templates/password_reset_confirmation.html">password_reset_confirmation.html</a>,
|
||||
<a href="https://github.com/element-hq/synapse/blob/develop/synapse/res/templates/password_reset_confirmation.html">password_reset_confirmation.html</a>,
|
||||
has been added to the <code>synapse/res/templates</code> directory. If you are
|
||||
using a custom template directory, you may want to copy the template
|
||||
over and modify it.</p>
|
||||
|
@ -1452,7 +1452,7 @@ updated.</p>
|
|||
<p>When setting up worker processes, we now recommend the use of a Redis
|
||||
server for replication. <strong>The old direct TCP connection method is
|
||||
deprecated and will be removed in a future release.</strong> See
|
||||
the <a href="https://matrix-org.github.io/synapse/v1.66/workers.html">worker documentation</a> for more details.</p>
|
||||
the <a href="https://element-hq.github.io/synapse/v1.66/workers.html">worker documentation</a> for more details.</p>
|
||||
<h1 id="upgrading-to-v1140"><a class="header" href="#upgrading-to-v1140">Upgrading to v1.14.0</a></h1>
|
||||
<p>This version includes a database update which is run as part of the
|
||||
upgrade, and which may take a couple of minutes in the case of a large
|
||||
|
@ -1490,7 +1490,7 @@ INSERT INTO background_updates (update_name, progress_json, depends_on) VALUES
|
|||
is configured to use SSO and a custom
|
||||
<code>sso_redirect_confirm_template_dir</code> configuration then these templates
|
||||
will need to be copied from
|
||||
<a href="https://github.com/matrix-org/synapse/tree/develop/synapse/res/templates"><code>synapse/res/templates</code></a> into that directory.</p>
|
||||
<a href="https://github.com/element-hq/synapse/tree/develop/synapse/res/templates"><code>synapse/res/templates</code></a> into that directory.</p>
|
||||
<h2 id="synapse-sso-plugins-method-deprecation"><a class="header" href="#synapse-sso-plugins-method-deprecation">Synapse SSO Plugins Method Deprecation</a></h2>
|
||||
<p>Plugins using the <code>complete_sso_login</code> method of
|
||||
<code>synapse.module_api.ModuleApi</code> should update to using the async/await
|
||||
|
@ -1621,7 +1621,7 @@ included.</p>
|
|||
<p>Synapse will expect these files to exist inside the configured template
|
||||
directory, and <strong>will fail to start</strong> if they are absent. To view the
|
||||
default templates, see
|
||||
<a href="https://github.com/matrix-org/synapse/tree/master/synapse/res/templates">synapse/res/templates</a>.</p>
|
||||
<a href="https://github.com/element-hq/synapse/tree/master/synapse/res/templates">synapse/res/templates</a>.</p>
|
||||
<h2 id="3pid-verification-changes"><a class="header" href="#3pid-verification-changes">3pid verification changes</a></h2>
|
||||
<p><strong>Note: As of this release, users will be unable to add phone numbers or
|
||||
email addresses to their accounts, without changes to the Synapse
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/background_updates.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/admin_api/background_updates.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/federation.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/admin_api/federation.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/admin_api/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/registration_tokens.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/admin_api/registration_tokens.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_faq.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/admin_faq.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/database_maintenance_tools.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/database_maintenance_tools.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/monitoring/reporting_homeserver_usage_statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/monitoring/reporting_homeserver_usage_statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -227,6 +227,7 @@ consider using one of the following known implementations:</p>
|
|||
<ul>
|
||||
<li><a href="https://github.com/matrix-org/panopticon">Matrix.org's Panopticon</a></li>
|
||||
<li><a href="https://gitlab.com/famedly/infra/services/barad-dur">Famedly's Barad-dûr</a></li>
|
||||
<li><a href="https://github.com/loelkes/synapse-usage-exporter">Synapse Usage Exporter</a> for Prometheus</li>
|
||||
</ul>
|
||||
|
||||
</main>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/monthly_active_users.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/monthly_active_users.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/request_log.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/request_log.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -160,7 +160,7 @@
|
|||
</div>
|
||||
|
||||
<h1 id="request-log-format"><a class="header" href="#request-log-format">Request log format</a></h1>
|
||||
<p>HTTP request logs are written by synapse (see <a href="https://github.com/matrix-org/synapse/tree/develop/synapse/http/site.py"><code>synapse/http/site.py</code></a> for details).</p>
|
||||
<p>HTTP request logs are written by synapse (see <a href="https://github.com/element-hq/synapse/tree/develop/synapse/http/site.py"><code>synapse/http/site.py</code></a> for details).</p>
|
||||
<p>See the following for how to decode the dense data available from the default logging configuration.</p>
|
||||
<pre><code>2020-10-01 12:00:00,000 - synapse.access.http.8008 - 311 - INFO - PUT-1000- 192.168.0.1 - 8008 - {another-matrix-server.com} Processed request: 0.100sec/-0.000sec (0.000sec, 0.000sec) (0.001sec/0.090sec/3) 11B !200 "PUT /_matrix/federation/v1/send/1600000000000 HTTP/1.1" "Synapse/1.20.1" [0 dbevts]
|
||||
-AAAAAAAAAAAAAAAAAAAAA- -BBBBBBBBBBBBBBBBBBBBBB- -C- -DD- -EEEEEE- -FFFFFFFFF- -GG- -HHHHHHHHHHHHHHHHHHHHHHH- -IIIIII- -JJJJJJJ- -KKKKKK-, -LLLLLL- -MMMMMMM- -NNNNNN- O -P- -QQ- -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR- -SSSSSSSSSSSS- -TTTTTT-
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/state_groups.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/state_groups.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/understanding_synapse_through_grafana_graphs.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/understanding_synapse_through_grafana_graphs.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -163,11 +163,11 @@
|
|||
<p>It is possible to monitor much of the internal state of Synapse using <a href="https://prometheus.io">Prometheus</a>
|
||||
metrics and <a href="https://grafana.com/">Grafana</a>.
|
||||
A guide for configuring Synapse to provide metrics is available <a href="../../metrics-howto.html">here</a>
|
||||
and information on setting up Grafana is <a href="https://github.com/matrix-org/synapse/tree/master/contrib/grafana">here</a>.
|
||||
and information on setting up Grafana is <a href="https://github.com/element-hq/synapse/tree/master/contrib/grafana">here</a>.
|
||||
In this setup, Prometheus will periodically scrape the information Synapse provides and
|
||||
store a record of it over time. Grafana is then used as an interface to query and
|
||||
present this information through a series of pretty graphs.</p>
|
||||
<p>Once you have grafana set up, and assuming you're using <a href="https://github.com/matrix-org/synapse/blob/master/contrib/grafana/synapse.json">our grafana dashboard template</a>, look for the following graphs when debugging a slow/overloaded Synapse:</p>
|
||||
<p>Once you have grafana set up, and assuming you're using <a href="https://github.com/element-hq/synapse/blob/master/contrib/grafana/synapse.json">our grafana dashboard template</a>, look for the following graphs when debugging a slow/overloaded Synapse:</p>
|
||||
<h2 id="message-event-send-time"><a class="header" href="#message-event-send-time">Message Event Send Time</a></h2>
|
||||
<p><img src="https://user-images.githubusercontent.com/1342360/82239409-a1c8e900-9930-11ea-8081-e4614e0c63f4.png" alt="image" /></p>
|
||||
<p>This, along with the CPU and Memory graphs, is a good way to check the general health of your Synapse instance. It represents how long it takes for a user on your homeserver to send a message.</p>
|
||||
|
@ -194,7 +194,7 @@ present this information through a series of pretty graphs.</p>
|
|||
<p>This is quite a useful graph. It shows how many times Synapse attempts to retrieve a piece of data from a cache which the cache did not contain, thus resulting in a call to the database. We can see here that the <code>_get_joined_profile_from_event_id</code> cache is being requested a lot, and often the data we're after is not cached.</p>
|
||||
<p>Cross-referencing this with the Eviction Rate graph, which shows that entries are being evicted from <code>_get_joined_profile_from_event_id</code> quite often:</p>
|
||||
<p><img src="https://user-images.githubusercontent.com/1342360/82240766-de95df80-9932-11ea-8c15-5acfc57c48da.png" alt="image" /></p>
|
||||
<p>we should probably consider raising the size of that cache by raising its cache factor (a multiplier value for the size of an individual cache). Information on doing so is available <a href="https://github.com/matrix-org/synapse/blob/ee421e524478c1ad8d43741c27379499c2f6135c/docs/sample_config.yaml#L608-L642">here</a> (note that the configuration of individual cache factors through the configuration file is available in Synapse v1.14.0+, whereas doing so through environment variables has been supported for a very long time). Note that this will increase Synapse's overall memory usage.</p>
|
||||
<p>we should probably consider raising the size of that cache by raising its cache factor (a multiplier value for the size of an individual cache). Information on doing so is available <a href="https://github.com/element-hq/synapse/blob/ee421e524478c1ad8d43741c27379499c2f6135c/docs/sample_config.yaml#L608-L642">here</a> (note that the configuration of individual cache factors through the configuration file is available in Synapse v1.14.0+, whereas doing so through environment variables has been supported for a very long time). Note that this will increase Synapse's overall memory usage.</p>
|
||||
<h2 id="forward-extremities"><a class="header" href="#forward-extremities">Forward Extremities</a></h2>
|
||||
<p><img src="https://user-images.githubusercontent.com/1342360/82241440-13566680-9934-11ea-8b88-ba468db937ed.png" alt="image" /></p>
|
||||
<p>Forward extremities are the leaf events at the end of a DAG in a room, aka events that have no children. The more that exist in a room, the more <a href="https://spec.matrix.org/v1.1/server-server-api/#room-state-resolution">state resolution</a> that Synapse needs to perform (hint: it's an expensive operation). While Synapse has code to prevent too many of these existing at one time in a room, bugs can sometimes make them crop up again.</p>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/useful_sql_for_admins.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/administration/useful_sql_for_admins.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/config_documentation.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/configuration/config_documentation.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -625,7 +625,7 @@ for <a href="../../workers.html">workers</a> and containers without listener e.g
|
|||
# that unwraps TLS.
|
||||
#
|
||||
# If you plan to use a reverse proxy, please see
|
||||
# https://matrix-org.github.io/synapse/latest/reverse_proxy.html.
|
||||
# https://element-hq.github.io/synapse/latest/reverse_proxy.html.
|
||||
#
|
||||
- port: 8008
|
||||
tls: false
|
||||
|
@ -656,7 +656,7 @@ for <a href="../../workers.html">workers</a> and containers without listener e.g
|
|||
# conflicts, and providing enhanced security through system file permissions.
|
||||
#
|
||||
# Note that x_forwarded will default to true, when using a UNIX socket. Please see
|
||||
# https://matrix-org.github.io/synapse/latest/reverse_proxy.html.
|
||||
# https://element-hq.github.io/synapse/latest/reverse_proxy.html.
|
||||
#
|
||||
- path: /run/synapse/main_public.sock
|
||||
type: http
|
||||
|
@ -761,6 +761,12 @@ has missed. Disabled by default.</p>
|
|||
notifications for new users. Enabled by default.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>notif_delay_before_mail</code>: The time to wait before emailing about a notification.
|
||||
This gives the user a chance to view the message via push or an open client.
|
||||
Defaults to 10 minutes.</p>
|
||||
<p><em>New in Synapse 1.99.0.</em></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>client_base_url</code>: Custom URL for client links within the email notifications. By default
|
||||
links will be based on "https://matrix.to". (This setting used to be called <code>riot_base_url</code>;
|
||||
the old name is still supported for backwards-compatibility but is now deprecated.)</p>
|
||||
|
@ -1361,7 +1367,7 @@ caches:
|
|||
</code></pre>
|
||||
<p>If you are running multiple workers, you must individually update the worker
|
||||
config file and send this signal to each worker process.</p>
|
||||
<p>If you're using the <a href="https://github.com/matrix-org/synapse/blob/develop/contrib/systemd/matrix-synapse.service">example systemd service</a>
|
||||
<p>If you're using the <a href="https://github.com/element-hq/synapse/blob/develop/contrib/systemd/matrix-synapse.service">example systemd service</a>
|
||||
file in Synapse's <code>contrib</code> directory, you can send a <code>SIGHUP</code> signal by using
|
||||
<code>systemctl reload matrix-synapse</code>.</p>
|
||||
<hr />
|
||||
|
@ -2370,7 +2376,7 @@ existing sessions until they are refreshed.</p>
|
|||
<pre><code class="language-yaml">refreshable_access_token_lifetime: 10m
|
||||
</code></pre>
|
||||
<hr />
|
||||
<h3 id="refresh_token_lifetime-24h"><a class="header" href="#refresh_token_lifetime-24h"><code>refresh_token_lifetime: 24h</code></a></h3>
|
||||
<h3 id="refresh_token_lifetime"><a class="header" href="#refresh_token_lifetime"><code>refresh_token_lifetime</code></a></h3>
|
||||
<p>Time that a refresh token remains valid for (provided that it is not
|
||||
exchanged for another one first).
|
||||
This option can be used to automatically log-out inactive sessions.
|
||||
|
@ -2440,6 +2446,9 @@ Defaults to false.</p>
|
|||
<h3 id="sentry"><a class="header" href="#sentry"><code>sentry</code></a></h3>
|
||||
<p>Use this option to enable sentry integration. Provide the DSN assigned to you by sentry
|
||||
with the <code>dsn</code> setting.</p>
|
||||
<p>An optional <code>environment</code> field can be used to specify an environment. This allows
|
||||
for log maintenance based on different environments, ensuring better organization
|
||||
and analysis..</p>
|
||||
<p>NOTE: While attempts are made to ensure that the logs don't contain
|
||||
any sensitive information, this cannot be guaranteed. By enabling
|
||||
this option the sentry server may therefore receive sensitive
|
||||
|
@ -2447,6 +2456,7 @@ information, and it in turn may then disseminate sensitive information
|
|||
through insecure notification channels if so configured.</p>
|
||||
<p>Example configuration:</p>
|
||||
<pre><code class="language-yaml">sentry:
|
||||
environment: "production"
|
||||
dsn: "..."
|
||||
</code></pre>
|
||||
<hr />
|
||||
|
@ -3258,7 +3268,7 @@ validation will fail without configuring audiences.</li>
|
|||
<li><code>enabled</code>: Defaults to true.
|
||||
Set to false to disable password authentication.
|
||||
Set to <code>only_for_reauth</code> to allow users with existing passwords to use them
|
||||
to log in and reauthenticate, whilst preventing new users from setting passwords.</li>
|
||||
to reauthenticate (not log in), whilst preventing new users from setting passwords.</li>
|
||||
<li><code>localdb_enabled</code>: Set to false to disable authentication against the local password
|
||||
database. This is ignored if <code>enabled</code> is false, and is only useful
|
||||
if you have other <code>password_providers</code>. Defaults to true.</li>
|
||||
|
@ -3473,15 +3483,20 @@ notices.</p>
|
|||
<li><code>system_mxid_display_name</code>: set the display name of the "notices" user</li>
|
||||
<li><code>system_mxid_avatar_url</code>: set the avatar for the "notices" user</li>
|
||||
<li><code>room_name</code>: set the room name of the server notices room</li>
|
||||
<li><code>room_avatar_url</code>: optional string. The room avatar to use for server notice rooms. If set to the empty string <code>""</code>, notice rooms will not be given an avatar. Defaults to the empty string. <em>Added in Synapse 1.99.0.</em></li>
|
||||
<li><code>room_topic</code>: optional string. The topic to use for server notice rooms. If set to the empty string <code>""</code>, notice rooms will not be given a topic. Defaults to the empty string. <em>Added in Synapse 1.99.0.</em></li>
|
||||
<li><code>auto_join</code>: boolean. If true, the user will be automatically joined to the room instead of being invited.
|
||||
Defaults to false. <em>Added in Synapse 1.98.0.</em></li>
|
||||
</ul>
|
||||
<p>Note that the name, topic and avatar of existing server notice rooms will only be updated when a new notice event is sent.</p>
|
||||
<p>Example configuration:</p>
|
||||
<pre><code class="language-yaml">server_notices:
|
||||
system_mxid_localpart: notices
|
||||
system_mxid_display_name: "Server Notices"
|
||||
system_mxid_avatar_url: "mxc://server.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
system_mxid_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
room_name: "Server Notices"
|
||||
room_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
|
||||
room_topic: "Room used by your server admin to notice you of important information"
|
||||
auto_join: true
|
||||
</code></pre>
|
||||
<hr />
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/homeserver_sample_config.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/configuration/homeserver_sample_config.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -172,12 +172,12 @@ a fresh config using Synapse by following the instructions in
|
|||
<pre><code class="language-yaml"># This file is maintained as an up-to-date snapshot of the default
|
||||
# homeserver.yaml configuration generated by Synapse. You can find a
|
||||
# complete accounting of possible configuration options at
|
||||
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
#
|
||||
# It is *not* intended to be copied and used as the basis for a real
|
||||
# homeserver.yaml. Instead, if you are starting from scratch, please generate
|
||||
# a fresh config using Synapse by following the instructions in
|
||||
# https://matrix-org.github.io/synapse/latest/setup/installation.html.
|
||||
# https://element-hq.github.io/synapse/latest/setup/installation.html.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
|
@ -191,7 +191,7 @@ a fresh config using Synapse by following the instructions in
|
|||
#
|
||||
# For more information on how to configure Synapse, including a complete accounting of
|
||||
# each option, go to docs/usage/configuration/config_documentation.md or
|
||||
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
|
||||
server_name: "SERVERNAME"
|
||||
pid_file: DATADIR/homeserver.pid
|
||||
listeners:
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/configuration/README.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -124,10 +124,10 @@
|
|||
<a href="../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
|
||||
<a href="https://github.com/element-hq/synapse" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
<a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/logging_sample_config.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<a href="https://github.com/element-hq/synapse/edit/develop/docs/usage/configuration/logging_sample_config.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||||
<i id="git-edit-button" class="fa fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -177,7 +177,7 @@ It should be named <code><SERVERNAME>.log.config</code> by default.</p>
|
|||
# be ingested by ELK stacks. See [2] for details.
|
||||
#
|
||||
# [1]: https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema
|
||||
# [2]: https://matrix-org.github.io/synapse/latest/structured_logging.html
|
||||
# [2]: https://element-hq.github.io/synapse/latest/structured_logging.html
|
||||
|
||||
version: 1
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue