From ca98384a74e37206b93538b6857ae15ab12e760c Mon Sep 17 00:00:00 2001 From: erikjohnston Date: Tue, 6 Feb 2024 09:28:12 +0000 Subject: [PATCH] deploy: 505cdd044bd7086996b2ec476b488837f5b89ad3 --- develop/development/contributing_guide.html | 2 +- .../running_synapse_on_single_board_computers.html | 2 +- develop/print.html | 14 +++++++------- develop/setup/turn/coturn.html | 4 ++-- develop/setup/turn/eturnal.html | 4 ++-- develop/workers.html | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/develop/development/contributing_guide.html b/develop/development/contributing_guide.html index e30f8861a7..9c481b5c7c 100644 --- a/develop/development/contributing_guide.html +++ b/develop/development/contributing_guide.html @@ -374,7 +374,7 @@ configuration:

  • To run with Postgres, supply the -e POSTGRES=1 -e MULTI_POSTGRES=1 environment flags.
  • To run with Synapse in worker mode, supply the -e WORKERS=1 -e REDIS=1 environment flags (in addition to the Postgres flags).
  • -

    For more details about other configurations, see the Docker-specific documentation in the SyTest repo.

    +

    For more details about other configurations, see the Docker-specific documentation in the SyTest repo.

    Run the integration tests (Complement).

    Complement 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.

    It's often nice to develop on Synapse and write Complement tests at the same time. diff --git a/develop/other/running_synapse_on_single_board_computers.html b/develop/other/running_synapse_on_single_board_computers.html index 6d5ba8e88f..45be3f7cf6 100644 --- a/develop/other/running_synapse_on_single_board_computers.html +++ b/develop/other/running_synapse_on_single_board_computers.html @@ -167,7 +167,7 @@

    Presence

    This is the main reason people have a poor matrix experience on resource constrained homeservers. Element web will frequently be saying the server is offline while the python process will be pegged at 100% cpu. This feature is used to tell when other users are active (have a client app in the foreground) and therefore more likely to respond, but requires a lot of network activity to maintain even when nobody is talking in a room.

    Screenshot_2020-10-01_19-29-46

    -

    While synapse does have some performance issues with presence #3971, the fundamental problem is that this is an easy feature to implement for a centralised service at nearly no overhead, but federation makes it combinatorial #8055. There is also a client-side config option which disables the UI and idle tracking enable_presence_by_hs_url to blacklist the largest instances but I didn't notice much difference, so I recommend disabling the feature entirely at the server level as well.

    +

    While synapse does have some performance issues with presence #3971, the fundamental problem is that this is an easy feature to implement for a centralised service at nearly no overhead, but federation makes it combinatorial #8055. There is also a client-side config option which disables the UI and idle tracking enable_presence_by_hs_url to blacklist the largest instances but I didn't notice much difference, so I recommend disabling the feature entirely at the server level as well.

    Joining

    Joining a "large", federated room will initially fail with the below message in Element web, but waiting a while (10-60mins) and trying again will succeed without any issue. What counts as "large" is not message history, user count, connections to homeservers or even a simple count of the state events, it is instead how long the state resolution algorithm takes. However, each of those numbers are reasonable proxies, so we can use them as estimates since user count is one of the few things you see before joining.

    Screenshot_2020-10-02_17-15-06

    diff --git a/develop/print.html b/develop/print.html index f8feb8e73e..7bfd4e629f 100644 --- a/develop/print.html +++ b/develop/print.html @@ -1445,8 +1445,8 @@ basic installation and got it working.

    NB: If your TLS certificate was provided by Let's Encrypt, TLS/DTLS will not work with any Matrix client that uses Chromium's WebRTC library. This currently includes Element Android & iOS; for more details, see their -respective -issues as well as the underlying +respective +issues as well as the underlying WebRTC issue. Consider using a ZeroSSL certificate for your TURN server as a working alternative.

    @@ -1600,8 +1600,8 @@ basic installation and got it working.

    NB: If your TLS certificate was provided by Let's Encrypt, TLS/DTLS will not work with any Matrix client that uses Chromium's WebRTC library. This currently includes Element Android & iOS; for more details, see their -respective -issues as well as the underlying +respective +issues as well as the underlying WebRTC issue. Consider using a ZeroSSL certificate for your TURN server as a working alternative.

    @@ -11785,7 +11785,7 @@ worker application type.

    Push Notifications

    You can designate generic worker to sending push notifications to a push gateway such as -sygnal and email.

    +sygnal and email.

    This will stop the main process sending push notifications.

    The workers responsible for sending push notifications can be defined using the pusher_instances @@ -16649,7 +16649,7 @@ configuration:

  • To run with Postgres, supply the -e POSTGRES=1 -e MULTI_POSTGRES=1 environment flags.
  • To run with Synapse in worker mode, supply the -e WORKERS=1 -e REDIS=1 environment flags (in addition to the Postgres flags).
  • -

    For more details about other configurations, see the Docker-specific documentation in the SyTest repo.

    +

    For more details about other configurations, see the Docker-specific documentation in the SyTest repo.

    Run the integration tests (Complement).

    Complement 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.

    It's often nice to develop on Synapse and write Complement tests at the same time. @@ -19610,7 +19610,7 @@ and is consistent with the .deb packages released by Matrix.org.

    Presence

    This is the main reason people have a poor matrix experience on resource constrained homeservers. Element web will frequently be saying the server is offline while the python process will be pegged at 100% cpu. This feature is used to tell when other users are active (have a client app in the foreground) and therefore more likely to respond, but requires a lot of network activity to maintain even when nobody is talking in a room.

    Screenshot_2020-10-01_19-29-46

    -

    While synapse does have some performance issues with presence #3971, the fundamental problem is that this is an easy feature to implement for a centralised service at nearly no overhead, but federation makes it combinatorial #8055. There is also a client-side config option which disables the UI and idle tracking enable_presence_by_hs_url to blacklist the largest instances but I didn't notice much difference, so I recommend disabling the feature entirely at the server level as well.

    +

    While synapse does have some performance issues with presence #3971, the fundamental problem is that this is an easy feature to implement for a centralised service at nearly no overhead, but federation makes it combinatorial #8055. There is also a client-side config option which disables the UI and idle tracking enable_presence_by_hs_url to blacklist the largest instances but I didn't notice much difference, so I recommend disabling the feature entirely at the server level as well.

    Joining

    Joining a "large", federated room will initially fail with the below message in Element web, but waiting a while (10-60mins) and trying again will succeed without any issue. What counts as "large" is not message history, user count, connections to homeservers or even a simple count of the state events, it is instead how long the state resolution algorithm takes. However, each of those numbers are reasonable proxies, so we can use them as estimates since user count is one of the few things you see before joining.

    Screenshot_2020-10-02_17-15-06

    diff --git a/develop/setup/turn/coturn.html b/develop/setup/turn/coturn.html index 3a273bb076..bc91834882 100644 --- a/develop/setup/turn/coturn.html +++ b/develop/setup/turn/coturn.html @@ -274,8 +274,8 @@ basic installation and got it working.

    NB: If your TLS certificate was provided by Let's Encrypt, TLS/DTLS will not work with any Matrix client that uses Chromium's WebRTC library. This currently includes Element Android & iOS; for more details, see their -respective -issues as well as the underlying +respective +issues as well as the underlying WebRTC issue. Consider using a ZeroSSL certificate for your TURN server as a working alternative.

    diff --git a/develop/setup/turn/eturnal.html b/develop/setup/turn/eturnal.html index e6499b9868..c59606552c 100644 --- a/develop/setup/turn/eturnal.html +++ b/develop/setup/turn/eturnal.html @@ -267,8 +267,8 @@ basic installation and got it working.

    NB: If your TLS certificate was provided by Let's Encrypt, TLS/DTLS will not work with any Matrix client that uses Chromium's WebRTC library. This currently includes Element Android & iOS; for more details, see their -respective -issues as well as the underlying +respective +issues as well as the underlying WebRTC issue. Consider using a ZeroSSL certificate for your TURN server as a working alternative.

    diff --git a/develop/workers.html b/develop/workers.html index 392247367b..8f2bbb2977 100644 --- a/develop/workers.html +++ b/develop/workers.html @@ -711,7 +711,7 @@ worker application type.

    Push Notifications

    You can designate generic worker to sending push notifications to a push gateway such as -sygnal and email.

    +sygnal and email.

    This will stop the main process sending push notifications.

    The workers responsible for sending push notifications can be defined using the pusher_instances