-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Conversation
df421c7
to
0d8caa0
Compare
38ed39a
to
0182447
Compare
Signed-off-by: Your Name <davidt@element.io>
I'm sorry, but... why is this needed? You didn't give any explanation as to why the current document is not adequate, or any comment with your PR or commit at all, and the new documentation is quite cheesy imo, which i think does not fit the style of this repository, or i might be wrong, but that's @callahad's decision. |
Ah, sorry about that, it has been discussed on #synapse-dev a few weeks ago. So, let me give a little bit more context. I started contributing to Synapse about 2 months ago. As a newcomer, I was completely lost in the documentation. There simply was no entry point for a newcomer, so I spent time annoying people online until I got my responses. Also, I took notes :) My objective was to turn
I make no claim that it's perfect, but I hope it's a step forward. |
Ah, no, my bad then, i missed a bit/lot of context, then. I'll give an assessment of the PR in a second, maybe, currently working on something else, but thank you for your contribution! 👍 |
I think this looks OK, let's see if anyone else has comments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is certainly an improvement, but I think there are a few things that need fixing up.
CONTRIBUTING.md
Outdated
## Run the integration tests. | ||
|
||
The integration tests run a full Synapse, including your changes, to | ||
see if anything was broken. They are slower than the unit tests but will | ||
typically catch more errors. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some misunderstanding here. tox
runs the same set of tests as trial
. I'm not entirely sure I'd describe those tests as integration tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, is there any way to run integration tests?
If not, I suppose that I should entirely remove this subsection.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Integration tests are run via sytest, we should probably point to the sytest repo that has it's own readme and not go into detail with it here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The previous version of the doc did exactly that: https://github.com/matrix-org/synapse/pull/9281/files#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L262-L265
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Integration tests are run via sytest, we should probably point to the sytest repo that has it's own readme and not go into detail with it here.
I believe that it would be better if at least an example was in this document.
Now, I just need to understand that README.md :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
still need to update the integration_tests section.
As an aside, I noticed the doc is quite inconsistent in its use of "Github" and "github". The correct styling, I think, is "GitHub". might be nice to clean this up if you're in there. No need to go and fix it all though.
CONTRIBUTING.md
Outdated
## Under Unix (macOS, Linux, BSD, ...) | ||
|
||
Once you have installed Python 3, please open a Terminal and run: | ||
Once you have installed Python 3 and added the source, please open a Terminal and run: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once you have installed Python 3 and added the source, please open a Terminal and run: | |
Once you have installed Python 3 and added the source, open a terminal and set up a virtualenv. For example: |
CONTRIBUTING.md
Outdated
3. `git push` your commit to your fork of Synapse; | ||
4. on Github, [create the Pull Request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request); | ||
5. add a [changelog entry](#changelog) and push it to your Pull Request; | ||
6. on Github, request review from `matrix.org / Synapse Core`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally we'll do this internally once we've done a first pass of triage.
6. on Github, request review from `matrix.org / Synapse Core`; |
(I'm not entirely sure it's even possible for people outside the organisation)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, it's still information that it took me 2 months to find so I'll try and find a way to mention it :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good! There's a few minor formatting changes that I'm going to go ahead and apply before merging. (Hope you don't mind!)
Synapse 1.28.0rc1 (2021-02-19) ============================== Note that this release drops support for ARMv7 in the official Docker images, due to repeated problems building for ARMv7 (and the associated maintenance burden this entails). This release also fixes the documentation included in v1.27.0 around the callback URI for SAML2 identity providers. If your server is configured to use single sign-on via a SAML2 IdP, you may need to make configuration changes. Please review [UPGRADE.rst](UPGRADE.rst) for more details on these changes. Removal warning --------------- The v1 list accounts API is deprecated and will be removed in a future release. This API was undocumented and misleading. It can be replaced by the [v2 list accounts API](https://github.com/matrix-org/synapse/blob/release-v1.28.0/docs/admin_api/user_admin_api.rst#list-accounts), which has been available since Synapse 1.7.0 (2019-12-13). Please check if you're using any scripts which use the admin API and replace `GET /_synapse/admin/v1/users/<user_id>` with `GET /_synapse/admin/v2/users`. Features -------- - New admin API to get the context of an event: `/_synapse/admin/rooms/{roomId}/context/{eventId}`. ([\#9150](#9150)) - Further improvements to the user experience of registration via single sign-on. ([\#9300](#9300), [\#9301](#9301)) - Add hook to spam checker modules that allow checking file uploads and remote downloads. ([\#9311](#9311)) - Add support for receiving OpenID Connect authentication responses via form `POST`s rather than `GET`s. ([\#9376](#9376)) - Add the shadow-banning status to the admin API for user info. ([\#9400](#9400)) Bugfixes -------- - Fix long-standing bug where sending email notifications would fail for rooms that the server had since left. ([\#9257](#9257)) - Fix bug in Synapse 1.27.0rc1 which meant the "session expired" error page during SSO registration was badly formatted. ([\#9296](#9296)) - Assert a maximum length for some parameters for spec compliance. ([\#9321](#9321), [\#9393](#9393)) - Fix additional errors when previewing URLs: "AttributeError 'NoneType' object has no attribute 'xpath'" and "ValueError: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.". ([\#9333](#9333)) - Fix a bug causing Synapse to impose the wrong type constraints on fields when processing responses from appservices to `/_matrix/app/v1/thirdparty/user/{protocol}`. ([\#9361](#9361)) - Fix bug where Synapse would occasionally stop reconnecting to Redis after the connection was lost. ([\#9391](#9391)) - Fix a long-standing bug when upgrading a room: "TypeError: '>' not supported between instances of 'NoneType' and 'int'". ([\#9395](#9395)) - Reduce the amount of memory used when generating the URL preview of a file that is larger than the `max_spider_size`. ([\#9421](#9421)) - Fix a long-standing bug in the deduplication of old presence, resulting in no deduplication. ([\#9425](#9425)) - The `ui_auth.session_timeout` config option can now be specified in terms of number of seconds/minutes/etc/. Contributed by Rishabh Arya. ([\#9426](#9426)) - Fix a bug introduced in v1.27.0: "TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType." related to the user directory. ([\#9428](#9428)) Updates to the Docker image --------------------------- - Drop support for ARMv7 in Docker images. ([\#9433](#9433)) Improved Documentation ---------------------- - Reorganize CHANGELOG.md. ([\#9281](#9281)) - Add note to `auto_join_rooms` config option explaining existing rooms must be publicly joinable. ([\#9291](#9291)) - Correct name of Synapse's service file in TURN howto. ([\#9308](#9308)) - Fix the braces in the `oidc_providers` section of the sample config. ([\#9317](#9317)) - Update installation instructions on Fedora. ([\#9322](#9322)) - Add HTTP/2 support to the nginx example configuration. Contributed by David Vo. ([\#9390](#9390)) - Update docs for using Gitea as OpenID provider. ([\#9404](#9404)) - Document that pusher instances are shardable. ([\#9407](#9407)) - Fix erroneous documentation from v1.27.0 about updating the SAML2 callback URL. ([\#9434](#9434)) Deprecations and Removals ------------------------- - Deprecate old admin API `GET /_synapse/admin/v1/users/<user_id>`. ([\#9429](#9429)) Internal Changes ---------------- - Fix 'object name reserved for internal use' errors with recent versions of SQLite. ([\#9003](#9003)) - Add experimental support for running Synapse with PyPy. ([\#9123](#9123)) - Deny access to additional IP addresses by default. ([\#9240](#9240)) - Update the `Cursor` type hints to better match PEP 249. ([\#9299](#9299)) - Add debug logging for SRV lookups. Contributed by @Bubu. ([\#9305](#9305)) - Improve logging for OIDC login flow. ([\#9307](#9307)) - Share the code for handling required attributes between the CAS and SAML handlers. ([\#9326](#9326)) - Clean up the code to load the metadata for OpenID Connect identity providers. ([\#9362](#9362)) - Convert tests to use `HomeserverTestCase`. ([\#9377](#9377), [\#9396](#9396)) - Update the version of black used to 20.8b1. ([\#9381](#9381)) - Allow OIDC config to override discovered values. ([\#9384](#9384)) - Remove some dead code from the acceptance of room invites path. ([\#9394](#9394)) - Clean up an unused method in the presence handler code. ([\#9408](#9408))
Synapse 1.28.0 (2021-02-25) =========================== Note that this release drops support for ARMv7 in the official Docker images, due to repeated problems building for ARMv7 (and the associated maintenance burden this entails). This release also fixes the documentation included in v1.27.0 around the callback URI for SAML2 identity providers. If your server is configured to use single sign-on via a SAML2 IdP, you may need to make configuration changes. Please review [UPGRADE.rst](UPGRADE.rst) for more details on these changes. Internal Changes ---------------- - Revert change in v1.28.0rc1 to remove the deprecated SAML endpoint. ([\#9474](matrix-org/synapse#9474)) Synapse 1.28.0rc1 (2021-02-19) ============================== Removal warning --------------- The v1 list accounts API is deprecated and will be removed in a future release. This API was undocumented and misleading. It can be replaced by the [v2 list accounts API](https://github.com/matrix-org/synapse/blob/release-v1.28.0/docs/admin_api/user_admin_api.rst#list-accounts), which has been available since Synapse 1.7.0 (2019-12-13). Please check if you're using any scripts which use the admin API and replace `GET /_synapse/admin/v1/users/<user_id>` with `GET /_synapse/admin/v2/users`. Features -------- - New admin API to get the context of an event: `/_synapse/admin/rooms/{roomId}/context/{eventId}`. ([\#9150](matrix-org/synapse#9150)) - Further improvements to the user experience of registration via single sign-on. ([\#9300](matrix-org/synapse#9300), [\#9301](matrix-org/synapse#9301)) - Add hook to spam checker modules that allow checking file uploads and remote downloads. ([\#9311](matrix-org/synapse#9311)) - Add support for receiving OpenID Connect authentication responses via form `POST`s rather than `GET`s. ([\#9376](matrix-org/synapse#9376)) - Add the shadow-banning status to the admin API for user info. ([\#9400](matrix-org/synapse#9400)) Bugfixes -------- - Fix long-standing bug where sending email notifications would fail for rooms that the server had since left. ([\#9257](matrix-org/synapse#9257)) - Fix bug introduced in Synapse 1.27.0rc1 which meant the "session expired" error page during SSO registration was badly formatted. ([\#9296](matrix-org/synapse#9296)) - Assert a maximum length for some parameters for spec compliance. ([\#9321](matrix-org/synapse#9321), [\#9393](matrix-org/synapse#9393)) - Fix additional errors when previewing URLs: "AttributeError 'NoneType' object has no attribute 'xpath'" and "ValueError: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.". ([\#9333](matrix-org/synapse#9333)) - Fix a bug causing Synapse to impose the wrong type constraints on fields when processing responses from appservices to `/_matrix/app/v1/thirdparty/user/{protocol}`. ([\#9361](matrix-org/synapse#9361)) - Fix bug where Synapse would occasionally stop reconnecting to Redis after the connection was lost. ([\#9391](matrix-org/synapse#9391)) - Fix a long-standing bug when upgrading a room: "TypeError: '>' not supported between instances of 'NoneType' and 'int'". ([\#9395](matrix-org/synapse#9395)) - Reduce the amount of memory used when generating the URL preview of a file that is larger than the `max_spider_size`. ([\#9421](matrix-org/synapse#9421)) - Fix a long-standing bug in the deduplication of old presence, resulting in no deduplication. ([\#9425](matrix-org/synapse#9425)) - The `ui_auth.session_timeout` config option can now be specified in terms of number of seconds/minutes/etc/. Contributed by Rishabh Arya. ([\#9426](matrix-org/synapse#9426)) - Fix a bug introduced in v1.27.0: "TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType." related to the user directory. ([\#9428](matrix-org/synapse#9428)) Updates to the Docker image --------------------------- - Drop support for ARMv7 in Docker images. ([\#9433](matrix-org/synapse#9433)) Improved Documentation ---------------------- - Reorganize CHANGELOG.md. ([\#9281](matrix-org/synapse#9281)) - Add note to `auto_join_rooms` config option explaining existing rooms must be publicly joinable. ([\#9291](matrix-org/synapse#9291)) - Correct name of Synapse's service file in TURN howto. ([\#9308](matrix-org/synapse#9308)) - Fix the braces in the `oidc_providers` section of the sample config. ([\#9317](matrix-org/synapse#9317)) - Update installation instructions on Fedora. ([\#9322](matrix-org/synapse#9322)) - Add HTTP/2 support to the nginx example configuration. Contributed by David Vo. ([\#9390](matrix-org/synapse#9390)) - Update docs for using Gitea as OpenID provider. ([\#9404](matrix-org/synapse#9404)) - Document that pusher instances are shardable. ([\#9407](matrix-org/synapse#9407)) - Fix erroneous documentation from v1.27.0 about updating the SAML2 callback URL. ([\#9434](matrix-org/synapse#9434)) Deprecations and Removals ------------------------- - Deprecate old admin API `GET /_synapse/admin/v1/users/<user_id>`. ([\#9429](matrix-org/synapse#9429)) Internal Changes ---------------- - Fix 'object name reserved for internal use' errors with recent versions of SQLite. ([\#9003](matrix-org/synapse#9003)) - Add experimental support for running Synapse with PyPy. ([\#9123](matrix-org/synapse#9123)) - Deny access to additional IP addresses by default. ([\#9240](matrix-org/synapse#9240)) - Update the `Cursor` type hints to better match PEP 249. ([\#9299](matrix-org/synapse#9299)) - Add debug logging for SRV lookups. Contributed by @Bubu. ([\#9305](matrix-org/synapse#9305)) - Improve logging for OIDC login flow. ([\#9307](matrix-org/synapse#9307)) - Share the code for handling required attributes between the CAS and SAML handlers. ([\#9326](matrix-org/synapse#9326)) - Clean up the code to load the metadata for OpenID Connect identity providers. ([\#9362](matrix-org/synapse#9362)) - Convert tests to use `HomeserverTestCase`. ([\#9377](matrix-org/synapse#9377), [\#9396](matrix-org/synapse#9396)) - Update the version of black used to 20.8b1. ([\#9381](matrix-org/synapse#9381)) - Allow OIDC config to override discovered values. ([\#9384](matrix-org/synapse#9384)) - Remove some dead code from the acceptance of room invites path. ([\#9394](matrix-org/synapse#9394)) - Clean up an unused method in the presence handler code. ([\#9408](matrix-org/synapse#9408)) Synapse 1.27.0 (2021-02-16) =========================== Note that this release includes a change in Synapse to use Redis as a cache ─ as well as a pub/sub mechanism ─ if Redis support is enabled for workers. No action is needed by server administrators, and we do not expect resource usage of the Redis instance to change dramatically. This release also changes the callback URI for OpenID Connect (OIDC) and SAML2 identity providers. If your server is configured to use single sign-on via an OIDC/OAuth2 or SAML2 IdP, you may need to make configuration changes. Please review [UPGRADE.rst](UPGRADE.rst) for more details on these changes. This release also changes escaping of variables in the HTML templates for SSO or email notifications. If you have customised these templates, please review [UPGRADE.rst](UPGRADE.rst) for more details on these changes. Bugfixes -------- - Fix building Docker images for armv7. ([\#9405](matrix-org/synapse#9405)) Synapse 1.27.0rc2 (2021-02-11) ============================== Features -------- - Further improvements to the user experience of registration via single sign-on. ([\#9297](matrix-org/synapse#9297)) Bugfixes -------- - Fix ratelimiting introduced in v1.27.0rc1 for invites to respect the `ratelimit` flag on application services. ([\#9302](matrix-org/synapse#9302)) - Do not automatically calculate `public_baseurl` since it can be wrong in some situations. Reverts behaviour introduced in v1.26.0. ([\#9313](matrix-org/synapse#9313)) Improved Documentation ---------------------- - Clarify the sample configuration for changes made to the template loading code. ([\#9310](matrix-org/synapse#9310)) Synapse 1.27.0rc1 (2021-02-02) ============================== Features -------- - Add an admin API for getting and deleting forward extremities for a room. ([\#9062](matrix-org/synapse#9062)) - Add an admin API for retrieving the current room state of a room. ([\#9168](matrix-org/synapse#9168)) - Add experimental support for allowing clients to pick an SSO Identity Provider ([MSC2858](matrix-org/matrix-spec-proposals#2858)). ([\#9183](matrix-org/synapse#9183), [\#9242](matrix-org/synapse#9242)) - Add an admin API endpoint for shadow-banning users. ([\#9209](matrix-org/synapse#9209)) - Add ratelimits to the 3PID `/requestToken` APIs. ([\#9238](matrix-org/synapse#9238)) - Add support to the OpenID Connect integration for adding the user's email address. ([\#9245](matrix-org/synapse#9245)) - Add ratelimits to invites in rooms and to specific users. ([\#9258](matrix-org/synapse#9258)) - Improve the user experience of setting up an account via single-sign on. ([\#9262](matrix-org/synapse#9262), [\#9272](matrix-org/synapse#9272), [\#9275](matrix-org/synapse#9275), [\#9276](matrix-org/synapse#9276), [\#9277](matrix-org/synapse#9277), [\#9286](matrix-org/synapse#9286), [\#9287](matrix-org/synapse#9287)) - Add phone home stats for encrypted messages. ([\#9283](matrix-org/synapse#9283)) - Update the redirect URI for OIDC authentication. ([\#9288](matrix-org/synapse#9288)) Bugfixes -------- - Fix spurious errors in logs when deleting a non-existant pusher. ([\#9121](matrix-org/synapse#9121)) - Fix a long-standing bug where Synapse would return a 500 error when a thumbnail did not exist (and auto-generation of thumbnails was not enabled). ([\#9163](matrix-org/synapse#9163)) - Fix a long-standing bug where an internal server error was raised when attempting to preview an HTML document in an unknown character encoding. ([\#9164](matrix-org/synapse#9164)) - Fix a long-standing bug where invalid data could cause errors when calculating the presentable room name for push. ([\#9165](matrix-org/synapse#9165)) - Fix bug where we sometimes didn't detect that Redis connections had died, causing workers to not see new data. ([\#9218](matrix-org/synapse#9218)) - Fix a bug where `None` was passed to Synapse modules instead of an empty dictionary if an empty module `config` block was provided in the homeserver config. ([\#9229](matrix-org/synapse#9229)) - Fix a bug in the `make_room_admin` admin API where it failed if the admin with the greatest power level was not in the room. Contributed by Pankaj Yadav. ([\#9235](matrix-org/synapse#9235)) - Prevent password hashes from getting dropped if a client failed threepid validation during a User Interactive Auth stage. Removes a workaround for an ancient bug in Riot Web <v0.7.4. ([\#9265](matrix-org/synapse#9265)) - Fix single-sign-on when the endpoints are routed to synapse workers. ([\#9271](matrix-org/synapse#9271)) Improved Documentation ---------------------- - Add docs for using Gitea as OpenID provider. ([\#9134](matrix-org/synapse#9134)) - Add link to Matrix VoIP tester for turn-howto. ([\#9135](matrix-org/synapse#9135)) - Add notes on integrating with Facebook for SSO login. ([\#9244](matrix-org/synapse#9244)) Deprecations and Removals ------------------------- - The `service_url` parameter in `cas_config` is deprecated in favor of `public_baseurl`. ([\#9199](matrix-org/synapse#9199)) - Add new endpoint `/_synapse/client/saml2` for SAML2 authentication callbacks, and deprecate the old endpoint `/_matrix/saml2`. ([\#9289](matrix-org/synapse#9289)) Internal Changes ---------------- - Add tests to `test_user.UsersListTestCase` for List Users Admin API. ([\#9045](matrix-org/synapse#9045)) - Various improvements to the federation client. ([\#9129](matrix-org/synapse#9129)) - Speed up chain cover calculation when persisting a batch of state events at once. ([\#9176](matrix-org/synapse#9176)) - Add a `long_description_type` to the package metadata. ([\#9180](matrix-org/synapse#9180)) - Speed up batch insertion when using PostgreSQL. ([\#9181](matrix-org/synapse#9181), [\#9188](matrix-org/synapse#9188)) - Emit an error at startup if different Identity Providers are configured with the same `idp_id`. ([\#9184](matrix-org/synapse#9184)) - Improve performance of concurrent use of `StreamIDGenerators`. ([\#9190](matrix-org/synapse#9190)) - Add some missing source directories to the automatic linting script. ([\#9191](matrix-org/synapse#9191)) - Precompute joined hosts and store in Redis. ([\#9198](matrix-org/synapse#9198), [\#9227](matrix-org/synapse#9227)) - Clean-up template loading code. ([\#9200](matrix-org/synapse#9200)) - Fix the Python 3.5 old dependencies build. ([\#9217](matrix-org/synapse#9217)) - Update `isort` to v5.7.0 to bypass a bug where it would disagree with `black` about formatting. ([\#9222](matrix-org/synapse#9222)) - Add type hints to handlers code. ([\#9223](matrix-org/synapse#9223), [\#9232](matrix-org/synapse#9232)) - Fix Debian package building on Ubuntu 16.04 LTS (Xenial). ([\#9254](matrix-org/synapse#9254)) - Minor performance improvement during TLS handshake. ([\#9255](matrix-org/synapse#9255)) - Refactor the generation of summary text for email notifications. ([\#9260](matrix-org/synapse#9260)) - Restore PyPy compatibility by not calling CPython-specific GC methods when under PyPy. ([\#9270](matrix-org/synapse#9270))
Pull Request Checklist
EventStore
toEventWorkerStore
.".code blocks
.