summary refs log tree commit diff
path: root/develop/print.html
diff options
context:
space:
mode:
Diffstat (limited to 'develop/print.html')
-rw-r--r--develop/print.html184
1 files changed, 87 insertions, 97 deletions
diff --git a/develop/print.html b/develop/print.html
index 9750f16a17..69aed45f40 100644
--- a/develop/print.html
+++ b/develop/print.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>
@@ -158,9 +158,8 @@
                         </div>
 
                         <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>
+<p>Welcome to the documentation repository for Synapse, a
+<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 &quot;deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main&quot; |
@@ -546,11 +538,11 @@ TLS-enabled listener like so:</li>
 <ul>
 <li>
 <p>You will also need to add the options <code>tls_certificate_path</code> and
-<code>tls_private_key_path</code>. to your configuration file. You will need to manage provisioning of 
+<code>tls_private_key_path</code>. to your configuration file. You will need to manage provisioning of
 these certificates yourself.</p>
 </li>
 <li>
-<p>You can find more information about these options as well as how to configure synapse in the 
+<p>You can find more information about these options as well as how to configure synapse in the
 <a href="setup/../usage/configuration/config_documentation.html">configuration manual</a>.</p>
 <p>If you are using your own certificate, be sure to use a <code>.pem</code> file that
 includes the full certificate chain including any intermediate certificates
@@ -1832,12 +1824,12 @@ date.</p>
 <h1 id="upgrading-to-v1900"><a class="header" href="#upgrading-to-v1900">Upgrading to v1.90.0</a></h1>
 <h2 id="app-service-query-parameter-authorization-is-now-a-configuration-option"><a class="header" href="#app-service-query-parameter-authorization-is-now-a-configuration-option">App service query parameter authorization is now a configuration option</a></h2>
 <p>Synapse v1.81.0 deprecated application service authorization via query parameters as this is
-considered insecure - and from Synapse v1.71.0 forwards the application service token has also been sent via 
+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>
-<pre><code class="language-yaml">use_appservice_legacy_authorization: true 
+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>.
+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>
 <h1 id="upgrading-to-v1890"><a class="header" href="#upgrading-to-v1890">Upgrading to v1.89.0</a></h1>
@@ -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>
@@ -2008,8 +2000,8 @@ and vice versa.</p>
 <p>Once all workers are upgraded to v1.76 (or downgraded to v1.75), account data
 and device replication will resume as normal.</p>
 <h2 id="minimum-version-of-poetry-is-now-132"><a class="header" href="#minimum-version-of-poetry-is-now-132">Minimum version of Poetry is now 1.3.2</a></h2>
-<p>The minimum supported version of Poetry is now 1.3.2 (previously 1.2.0, <a href="upgrade.html#upgrading-to-v1670">since 
-Synapse 1.67</a>). If you have used <code>poetry install</code> to 
+<p>The minimum supported version of Poetry is now 1.3.2 (previously 1.2.0, <a href="upgrade.html#upgrading-to-v1670">since
+Synapse 1.67</a>). If you have used <code>poetry install</code> to
 install Synapse from a source checkout, you should upgrade poetry: see its
 <a href="https://python-poetry.org/docs/#installation">installation instructions</a>.
 For all other installation methods, no acction is required.</p>
@@ -2511,7 +2503,7 @@ becomes stable.</p>
 <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>
+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>
 <h1 id="upgrading-to-v1520"><a class="header" href="#upgrading-to-v1520">Upgrading to v1.52.0</a></h1>
@@ -2548,7 +2540,7 @@ longer supported upstream.</p>
 <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>
+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>
@@ -2581,8 +2573,8 @@ federation requests.</p>
 <a href="https://matrix-org.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>
@@ -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>
@@ -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
@@ -4941,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 />
@@ -6019,7 +6011,7 @@ Defaults to false.</p>
 <hr />
 <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>
+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>
@@ -7831,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:
@@ -7954,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.
@@ -8910,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>
@@ -9025,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
@@ -9485,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 &quot;English&quot;);
@@ -9966,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
@@ -10037,7 +10029,7 @@ from synapse.module_api import cached, ModuleApi
 class MyModule:
     def __init__(self, config: Any, api: ModuleApi):
         self.api = api
-        
+
         # Register the cached function so Synapse knows how to correctly invalidate
         # entries for it.
         self.api.register_cached_function(self.get_user_from_id)
@@ -10052,15 +10044,15 @@ class MyModule:
 
     async def do_something_with_users(self) -&gt; None:
         &quot;&quot;&quot;Calls the cached function and then invalidates an entry in its cache.&quot;&quot;&quot;
-        
+
         user_id = &quot;@alice:example.com&quot;
-        
+
         # Get the user. Since get_department_for_user is wrapped with a cache,
         # the return value for this user_id will be cached.
         department = await self.get_department_for_user(user_id)
-        
+
         # Do something with `department`...
-        
+
         # Let's say something has changed with our user, and the entry we have for
         # them in the cache is out of date, so we want to invalidate it.
         await self.api.invalidate_cache(self.get_department_for_user, (user_id,))
@@ -11277,8 +11269,8 @@ virtualenv, these can be installed with:</p>
 <pre><code class="language-sh">pip install &quot;matrix-synapse[redis]&quot;
 </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
@@ -11303,7 +11295,7 @@ file suitable for use with workers:</p>
 for the main process</li>
 <li>Secondly, you need to enable
 <a href="usage/configuration/config_documentation.html#redis">redis-based replication</a></li>
-<li>You will need to add an <a href="usage/configuration/config_documentation.html#instance_map"><code>instance_map</code></a> 
+<li>You will need to add an <a href="usage/configuration/config_documentation.html#instance_map"><code>instance_map</code></a>
 with the <code>main</code> process defined, as well as the relevant connection information from
 it's HTTP <code>replication</code> listener (defined in step 1 above).
 <ul>
@@ -11619,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,
@@ -11784,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>
@@ -11991,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
@@ -12020,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
@@ -12055,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
@@ -15494,7 +15486,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.
@@ -15616,8 +15608,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>
@@ -15943,14 +15935,14 @@ to filter by a specific service ID. This <em>also</em> includes non-application-
 <p><code>synapse_admin_mau_registered_reserved_users</code> records the number of users specified in <code>mau_limits_reserved_threepids</code> which have
 registered accounts on the homeserver.</p>
 <div style="break-before: page; page-break-before: always;"></div><h2 id="understanding-synapse-through-grafana-graphs"><a class="header" href="#understanding-synapse-through-grafana-graphs">Understanding Synapse through Grafana graphs</a></h2>
-<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>.
+<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/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>
@@ -15977,20 +15969,20 @@ 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>
 <p>If a room has &gt;10 forward extremities, it's worth checking which room is the culprit and potentially removing them using the SQL queries mentioned in <a href="https://github.com/matrix-org/synapse/issues/1760">#1760</a>.</p>
 <h2 id="garbage-collection"><a class="header" href="#garbage-collection">Garbage Collection</a></h2>
 <p><img src="https://user-images.githubusercontent.com/1342360/82241911-da6ac180-9934-11ea-9a0d-a311fe22acd0.png" alt="image" /></p>
-<p>Large spikes in garbage collection times (bigger than shown here, I'm talking in the 
-multiple seconds range), can cause lots of problems in Synapse performance. It's more an 
+<p>Large spikes in garbage collection times (bigger than shown here, I'm talking in the
+multiple seconds range), can cause lots of problems in Synapse performance. It's more an
 indicator of problems, and a symptom of other problems though, so check other graphs for what might be causing it.</p>
 <h2 id="final-thoughts"><a class="header" href="#final-thoughts">Final Thoughts</a></h2>
-<p>If you're still having performance problems with your Synapse instance and you've 
+<p>If you're still having performance problems with your Synapse instance and you've
 tried everything you can, it may just be a lack of system resources. Consider adding
-more CPU and RAM, and make use of <a href="usage/administration/../../workers.html">worker mode</a> 
+more CPU and RAM, and make use of <a href="usage/administration/../../workers.html">worker mode</a>
 to make use of multiple CPU cores / multiple machines for your homeserver.</p>
 <div style="break-before: page; page-break-before: always;"></div><h2 id="some-useful-sql-queries-for-synapse-admins"><a class="header" href="#some-useful-sql-queries-for-synapse-admins">Some useful SQL queries for Synapse Admins</a></h2>
 <h2 id="size-of-full-matrix-db"><a class="header" href="#size-of-full-matrix-db">Size of full matrix db</a></h2>
@@ -16188,7 +16180,7 @@ WHERE room_stats_state.room_id = event_json.room_id&quot; | 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 &quot;full&quot; 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 &quot;PUT /_matrix/federation/v1/send/1600000000000 HTTP/1.1&quot; &quot;Synapse/1.20.1&quot; [0 dbevts]
 -AAAAAAAAAAAAAAAAAAAAA-   -BBBBBBBBBBBBBBBBBBBBBB-   -C-   -DD-   -EEEEEE-  -FFFFFFFFF-   -GG-    -HHHHHHHHHHHHHHHHHHHHHHH-                     -IIIIII- -JJJJJJJ-  -KKKKKK-, -LLLLLL-  -MMMMMMM- -NNNNNN- O  -P- -QQ-  -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR-   -SSSSSSSSSSSS-   -TTTTTT-
@@ -16434,14 +16426,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
+<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 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>
+<a href="https://github.com/element-hq/synapse/blob/develop/LICENSE">LICENSE</a>).</p>
+<p>TODO THIS NEEDS UPDATING</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
@@ -16494,8 +16487,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
@@ -16508,19 +16501,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
@@ -16528,12 +16521,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
@@ -16648,7 +16638,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.
@@ -16670,7 +16660,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=&quot;federation_inbound, federation_sender, synchrotron&quot;</code>.
 See the <a href="development/../workers.html">worker documentation</a> for additional information on workers.</li>
 </ul>
@@ -16724,7 +16714,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
@@ -16752,7 +16742,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>
@@ -17075,10 +17065,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>
@@ -17722,9 +17712,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.
@@ -18554,7 +18544,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 &quot;streams&quot;, 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 &quot;streams&quot;, 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>
@@ -18562,9 +18552,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 &quot;writers&quot; can add facts to a stream, and there may be multiple writers.</p>