Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move replication.tcp.streams into a package | Richard van der Hoff | 2019-03-27 | 4 | -35/+53 |
| | |||||
* | Fix/improve some docstrings in the replication code. (#4949) | Richard van der Hoff | 2019-03-27 | 3 | -7/+20 |
| | |||||
* | Support 3PID login in password providers (#4931) | Andrew Morgan | 2019-03-26 | 8 | -26/+137 |
| | | | | | Adds a new method, check_3pid_auth, which gives password providers the chance to allow authentication with third-party identifiers such as email or msisdn. | ||||
* | Use the state event amount for userdir import batching, not room count (#4944) | Amber Brown | 2019-03-27 | 2 | -8/+21 |
| | |||||
* | Make federation endpoints more tolerant of trailing slashes v2 (#4935) | Andrew Morgan | 2019-03-26 | 5 | -11/+13 |
| | | | Redo of https://github.com/matrix-org/synapse/pull/4840 | ||||
* | Fix ClientReplicationStreamProtocol.__str__ (#4929) | Richard van der Hoff | 2019-03-25 | 3 | -4/+6 |
| | | | | | | | | `__str__` depended on `self.addr`, which was absent from ClientReplicationStreamProtocol, so attempting to call str on such an object would raise an exception. We can calculate the peer addr from the transport, so there is no need for addr anyway. | ||||
* | Fix bug where read-receipts lost their timestamps (#4927) | Richard van der Hoff | 2019-03-25 | 8 | -12/+179 |
| | | | | | Make sure that they are sent correctly over the replication stream. Fixes: #4898 | ||||
* | Use an explicit dbname for postgres connections in the tests. (#4928) | Richard van der Hoff | 2019-03-25 | 2 | -18/+17 |
| | | | | | | I don't have a database with the same name as my user, so leaving the database name unset fails. While we're at it, clear out some unused stuff in the test setup. | ||||
* | Fix nginx example in ACME doc. (#4923) | Richard van der Hoff | 2019-03-25 | 2 | -1/+2 |
| | |||||
* | Refactor out state delta handling into its own class (#4917) | Amber Brown | 2019-03-25 | 5 | -110/+152 |
| | |||||
* | Merge pull request #4869 from matrix-org/erikj/yaml_load | Erik Johnston | 2019-03-22 | 8 | -11/+12 |
|\ | | | | | Fix yaml warnings by using safe_load | ||||
| * | Newsfile | Erik Johnston | 2019-03-22 | 1 | -0/+1 |
| | | |||||
| * | Use yaml safe_load | Erik Johnston | 2019-03-22 | 7 | -11/+11 |
| | | |||||
* | | Allow newsfragments to end with exclamation marks! (#4912) | Richard van der Hoff | 2019-03-21 | 2 | -2/+3 |
| | | |||||
* | | Some more porting to HomeserverTestCase and remove old RESTHelper (#4913) | Amber Brown | 2019-03-22 | 5 | -230/+124 |
| | | |||||
* | | Remove trailing slashes from outbound federation requests and retry on 400 ↵ | Andrew Morgan | 2019-03-21 | 5 | -17/+191 |
|\ \ | |/ |/| | | | | | (#4840) As per #3622, we remove trailing slashes from outbound federation requests. However, to ensure that we remain backwards compatible with previous versions of Synapse, if we receive a HTTP 400 with `M_UNRECOGNIZED`, then we are likely talking to an older version of Synapse in which case we retry with a trailing slash appended to the request path. | ||||
| * | Clean up backoff_on_404 and metehod calls | Andrew Morgan | 2019-03-21 | 1 | -9/+13 |
| | | |||||
| * | kwargs doesn't like commas on calling funcs either. TIL | Andrew Morgan | 2019-03-20 | 1 | -2/+2 |
| | | |||||
| * | lint | Andrew Morgan | 2019-03-20 | 2 | -3/+7 |
| | | |||||
| * | New test, fix issues | Andrew Morgan | 2019-03-20 | 2 | -49/+73 |
| | | |||||
| * | Fix comments. v0.99.2 -> v0.99.3 | Andrew Morgan | 2019-03-20 | 2 | -6/+6 |
| | | |||||
| * | Just return if not doing any trailing slash shennanigans | Andrew Morgan | 2019-03-20 | 1 | -0/+2 |
| | | |||||
| * | Federation test fixed! | Andrew Morgan | 2019-03-20 | 1 | -2/+5 |
| | | |||||
| * | lint | Andrew Morgan | 2019-03-18 | 1 | -1/+1 |
| | | |||||
| * | Better exception handling | Andrew Morgan | 2019-03-18 | 2 | -20/+18 |
| | | |||||
| * | Correct var name | Andrew Morgan | 2019-03-13 | 2 | -2/+56 |
| | | |||||
| * | receiving a 400 caused an exception. handle it | Andrew Morgan | 2019-03-13 | 1 | -5/+12 |
| | | |||||
| * | is this what purgatory feels like | Andrew Morgan | 2019-03-13 | 1 | -3/+3 |
| | | |||||
| * | i should have given up x3 | Andrew Morgan | 2019-03-13 | 1 | -39/+0 |
| | | |||||
| * | i should have given up x2 | Andrew Morgan | 2019-03-13 | 2 | -18/+52 |
| | | |||||
| * | i should have given up | Andrew Morgan | 2019-03-13 | 1 | -1/+1 |
| | | |||||
| * | there comes a time when you should give up. but you dont | Andrew Morgan | 2019-03-13 | 1 | -1/+1 |
| | | |||||
| * | as above | Andrew Morgan | 2019-03-13 | 1 | -2/+4 |
| | | |||||
| * | no kwargs today | Andrew Morgan | 2019-03-13 | 1 | -7/+12 |
| | | |||||
| * | Or perhaps I was the one who was drunk | Andrew Morgan | 2019-03-13 | 1 | -6/+3 |
| | | |||||
| * | go home python, you're drunk | Andrew Morgan | 2019-03-13 | 1 | -4/+2 |
| | | |||||
| * | Syntax checker is bork | Andrew Morgan | 2019-03-13 | 1 | -6/+5 |
| | | |||||
| * | Destructure again | Andrew Morgan | 2019-03-13 | 1 | -7/+8 |
| | | |||||
| * | Are you happy now | Andrew Morgan | 2019-03-13 | 1 | -2/+2 |
| | | |||||
| * | Syntax test | Andrew Morgan | 2019-03-13 | 1 | -6/+5 |
| | | |||||
| * | Remove testing code | Andrew Morgan | 2019-03-13 | 1 | -3/+0 |
| | | |||||
| * | Add missing docstring detail | Andrew Morgan | 2019-03-13 | 1 | -1/+1 |
| | | |||||
| * | Fix syntax issues | Andrew Morgan | 2019-03-13 | 1 | -7/+10 |
| | | |||||
| * | Switch to wrapper function around _send_request | Andrew Morgan | 2019-03-13 | 3 | -39/+78 |
| | | |||||
| * | Retry on 400:M_UNRECOGNIZED | Andrew Morgan | 2019-03-13 | 1 | -6/+10 |
| | | |||||
| * | Fix paranthesis indent | Andrew Morgan | 2019-03-13 | 1 | -1/+2 |
| | | |||||
| * | Add workaround note | Andrew Morgan | 2019-03-13 | 1 | -10/+4 |
| | | |||||
| * | Correct argument name | Andrew Morgan | 2019-03-12 | 1 | -2/+2 |
| | | |||||
| * | Cleaner way of implementing trailing slashes | Andrew Morgan | 2019-03-12 | 3 | -70/+66 |
| | | |||||
| * | and again | Andrew Morgan | 2019-03-11 | 1 | -1/+1 |
| | | |||||
| * | Fix syntax error | Andrew Morgan | 2019-03-11 | 1 | -1/+1 |
| | | |||||
| * | We're calling different functions now | Andrew Morgan | 2019-03-11 | 1 | -2/+2 |
| | | |||||
| * | Merge branch 'develop' into anoa/trailing_slashes_client | Andrew Morgan | 2019-03-11 | 5 | -12/+14 |
| |\ | |||||
| * \ | Merge branch 'develop' into anoa/trailing_slashes_client | Andrew Morgan | 2019-03-11 | 8 | -19/+57 |
| |\ \ | |||||
| * | | | lint | Andrew Morgan | 2019-03-08 | 1 | -1/+3 |
| | | | | |||||
| * | | | Add changelog | Andrew Morgan | 2019-03-08 | 1 | -0/+1 |
| | | | | |||||
| * | | | Retry certain federation requests on 404 | Andrew Morgan | 2019-03-08 | 2 | -5/+50 |
| | | | | |||||
| * | | | Remove trailing slashes from outbound federation requests | Andrew Morgan | 2019-03-08 | 1 | -7/+7 |
| | | | | |||||
* | | | | Merge pull request #4908 from matrix-org/erikj/block_peek_on_blocked_rooms | Erik Johnston | 2019-03-21 | 4 | -3/+77 |
|\ \ \ \ | | | | | | | | | | | Deny peeking into rooms that have been blocked | ||||
| * | | | | Update changelog.d/4908.bugfix | Richard van der Hoff | 2019-03-21 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | Co-Authored-By: erikjohnston <erikj@jki.re> | ||||
| * | | | | isort | Erik Johnston | 2019-03-21 | 1 | -1/+1 |
| | | | | | |||||
| * | | | | Newsfile | Erik Johnston | 2019-03-21 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Deny peeking into rooms that have been blocked | Erik Johnston | 2019-03-21 | 3 | -3/+76 |
| | | | | | |||||
* | | | | | Update Apache Setup To Remove Location Syntax (#4870) | Colin W | 2019-03-21 | 2 | -9/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This one should close #4841. Many thanks to @dev4223 for bringing it up and finding a solution. Signed-off-by: Colin White | ||||
* | | | | | Merge pull request #4904 from matrix-org/erikj/fix_shutdown | Erik Johnston | 2019-03-21 | 8 | -25/+137 |
|\ \ \ \ \ | | | | | | | | | | | | | Fixup shutdown room API | ||||
| * | | | | | Fix typo and add description | Erik Johnston | 2019-03-21 | 1 | -1/+5 |
| |/ / / / | |||||
| * | | | | Rejig testcase to make it more extensible | Erik Johnston | 2019-03-21 | 1 | -17/+22 |
| | | | | | |||||
| * | | | | Remove debug | Erik Johnston | 2019-03-21 | 1 | -1/+0 |
| | | | | | |||||
| * | | | | Add tests | Erik Johnston | 2019-03-21 | 1 | -1/+66 |
| | | | | | |||||
| * | | | | Fix upsert | Erik Johnston | 2019-03-21 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Revert spurious delete | Erik Johnston | 2019-03-20 | 1 | -0/+4 |
| | | | | | |||||
| * | | | | comment block_room | Erik Johnston | 2019-03-20 | 1 | -0/+9 |
| | | | | | |||||
| * | | | | Use flags | Erik Johnston | 2019-03-20 | 5 | -15/+17 |
| | | | | | |||||
| * | | | | Move requester check into assert_accepted_privacy_policy | Erik Johnston | 2019-03-20 | 1 | -5/+8 |
| | | | | | |||||
| * | | | | Newsfile | Erik Johnston | 2019-03-20 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Gracefully handle failing to kick user | Erik Johnston | 2019-03-20 | 1 | -19/+27 |
| | | | | | |||||
| * | | | | Log new room ID | Erik Johnston | 2019-03-20 | 1 | -1/+6 |
| | | | | | |||||
| * | | | | Only require consent for events with an associated request | Erik Johnston | 2019-03-20 | 1 | -1/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a number of instances where a server or admin may puppet a user to join/leave rooms, which we don't want to fail if the user has not consented to the privacy policy. We fix this by adding a check to test if the requester has an associated access_token, which is used as a proxy to answer the question of whether the action is being done on behalf of a real request from the user. | ||||
| * | | | | Allow blocking a room multiple times | Erik Johnston | 2019-03-20 | 1 | -2/+4 |
| | | | | | |||||
* | | | | | Merge pull request #4896 from matrix-org/erikj/disable_room_directory | Erik Johnston | 2019-03-21 | 7 | -3/+97 |
|\ \ \ \ \ | | | | | | | | | | | | | Add option to disable search room lists | ||||
| * | | | | | Add test | Erik Johnston | 2019-03-20 | 2 | -3/+58 |
| | | | | | | |||||
| * | | | | | Disable publishing to room list when its disabled | Erik Johnston | 2019-03-20 | 1 | -0/+8 |
| | | | | | | |||||
| * | | | | | Pull out config option | Erik Johnston | 2019-03-20 | 1 | -3/+3 |
| | | | | | | |||||
| * | | | | | Return before we log | Erik Johnston | 2019-03-20 | 1 | -4/+5 |
| | | | | | | |||||
| * | | | | | Fix up config comments | Erik Johnston | 2019-03-20 | 2 | -6/+8 |
| | | | | | | |||||
| * | | | | | Newsfile | Erik Johnston | 2019-03-19 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Add option to disable search room lists | Erik Johnston | 2019-03-19 | 3 | -0/+27 |
| | | | | | | | | | | | | | | | | | | | | | | | | This disables both local and remote room list searching. | ||||
* | | | | | | Log requests which are simulated by the unit tests. (#4905) | Richard van der Hoff | 2019-03-20 | 2 | -8/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | Rather than stubbing out the access_log, make it actually log the requests, which makes it a lot more obvious what is going on during tests. | ||||
* | | | | | | Merge pull request #4895 from matrix-org/erikj/disable_user_search | Erik Johnston | 2019-03-20 | 5 | -0/+73 |
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | Add option to disable searching in the user dir | ||||
| * | | | | | Add test | Erik Johnston | 2019-03-20 | 1 | -0/+52 |
| | | | | | | |||||
| * | | | | | Fix up sample config | Erik Johnston | 2019-03-20 | 2 | -4/+8 |
| | | | | | | |||||
| * | | | | | Update synapse/config/user_directory.py | Richard van der Hoff | 2019-03-20 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | Co-Authored-By: erikjohnston <erikj@jki.re> | ||||
| * | | | | | Update sample config | Erik Johnston | 2019-03-19 | 1 | -0/+3 |
| | | | | | | |||||
| * | | | | | Newsfile | Erik Johnston | 2019-03-19 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Add option to disable searching in the user dir | Erik Johnston | 2019-03-19 | 2 | -0/+13 |
| |/ / / / | | | | | | | | | | | | | | | | We still populate it, as it can still be accessed via the admin API. | ||||
* | | | | | Batching in the user directory import (#4900) | Amber Brown | 2019-03-21 | 2 | -0/+14 |
| | | | | | |||||
* | | | | | Add a config option for torture-testing worker replication. (#4902) | Richard van der Hoff | 2019-03-20 | 3 | -1/+23 |
| | | | | | | | | | | | | | | | Setting this to 50 or so makes a bunch of sytests fail in worker mode. | ||||
* | | | | | Batch up outgoing read-receipts to reduce federation traffic. (#4890) | Richard van der Hoff | 2019-03-20 | 7 | -22/+308 |
|/ / / / | | | | | | | | | | | | | Rate-limit outgoing read-receipts as per #4730. | ||||
* | | | | Merge pull request #4894 from matrix-org/erikj/postgres_tuning | Erik Johnston | 2019-03-19 | 2 | -2/+21 |
|\ \ \ \ | | | | | | | | | | | Add note on tuning postgres | ||||
| * | | | | Newsfile | Erik Johnston | 2019-03-19 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Add note on tuning postgres | Erik Johnston | 2019-03-19 | 1 | -2/+20 |
|/ / / / | |||||
* | | | | Merge pull request #4879 from matrix-org/erikj/test_old_deps | Erik Johnston | 2019-03-19 | 3 | -1/+21 |
|\ \ \ \ | | | | | | | | | | | Add py27-old test case to buildkite | ||||
| * | | | | Add comment back in | Erik Johnston | 2019-03-19 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Update newsfile | Erik Johnston | 2019-03-19 | 1 | -1/+1 |
| | | | | | |||||
| * | | | | Revert changes | Erik Johnston | 2019-03-19 | 1 | -12/+2 |
| | | | | | |||||
| * | | | | Bring py27-old into line with other test envs | Erik Johnston | 2019-03-18 | 1 | -0/+14 |
| | | | | | |||||
| * | | | | Add coverage to py27-old | Erik Johnston | 2019-03-18 | 1 | -3/+6 |
| | | | | | |||||
| * | | | | Newsfile | Erik Johnston | 2019-03-18 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Add py27-old test case to buildkite | Erik Johnston | 2019-03-18 | 1 | -0/+11 |
| | | | | | |||||
* | | | | | Merge pull request #4889 from matrix-org/rav/test_real_config | Richard van der Hoff | 2019-03-19 | 8 | -18/+44 |
|\ \ \ \ \ | | | | | | | | | | | | | Use a regular HomeServerConfig object for unit tests | ||||
| * | | | | | Fix RegistrationTestCase | Richard van der Hoff | 2019-03-19 | 1 | -2/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | turns out this relies on there being a `user_consent_version` set. | ||||
| * | | | | | changelog | Richard van der Hoff | 2019-03-19 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Use a regular HomeServerConfig object for unit tests | Richard van der Hoff | 2019-03-19 | 3 | -13/+25 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than using a Mock for the homeserver config, use a genuine HomeServerConfig object. This makes for a more realistic test, and means that we don't have to keep remembering to add things to the mock config every time we add a new config setting. | ||||
| * | | | | | Fix resource limits tests | Richard van der Hoff | 2019-03-19 | 1 | -2/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that we have a `server_notices_mxid` set, given that we are relying on it. | ||||
| * | | | | | Fix registration test | Richard van der Hoff | 2019-03-19 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Set allow_guest_access = True, since we rely on it * config doesn't have a `hostname` attribute; it is `server_name` | ||||
| * | | | | | Fix email test | Richard van der Hoff | 2019-03-19 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Mailer expects the config object to have `email_smtp_pass` and `email_riot_base_url` attributes (and it won't by default, because the default config impl doesn't set any of the attributes unless email_enable_notifs is set). | ||||
| * | | | | | Merge remote-tracking branch 'origin/develop' into HEAD | Richard van der Hoff | 2019-03-19 | 10 | -11/+45 |
| |\ \ \ \ \ | |||||
* | | | | | | | Merge pull request #4888 from matrix-org/rav/fix_disabled_hs | Richard van der Hoff | 2019-03-19 | 3 | -3/+24 |
|\| | | | | | | |/ / / / / |/| | | | | | Enforce hs_disabled_message correctly | ||||
| * | | | | | Enforce hs_disabled_message correctly | Richard van der Hoff | 2019-03-19 | 3 | -3/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug where hs_disabled_message was not enforced for 3pid-based requests if there was no server_notices_mxid configured. | ||||
* | | | | | | fix test_auto_create_auto_join_where_no_consent (#4886) | Neil Johnson | 2019-03-19 | 5 | -5/+39 |
| | | | | | | |||||
* | | | | | | Fix user directory background update (#4887) | Erik Johnston | 2019-03-19 | 2 | -1/+2 |
| | | | | | | |||||
* | | | | | | Merge remote-tracking branch 'origin/master' into develop | Richard van der Hoff | 2019-03-19 | 3 | -5/+4 |
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | |||||
| * | | | | | Repoint docs for federation (#4881) | Michael Kaye | 2019-03-19 | 2 | -1/+2 |
| | | | | | | |||||
| * | | | | | fix some typos in federate.md | Richard van der Hoff | 2019-03-15 | 1 | -4/+2 |
| | | | | | | |||||
* | | | | | | Comment out most options in the generated config. (#4863) | Richard van der Hoff | 2019-03-19 | 16 | -171/+230 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it so that most options in the config are optional, and commented out in the generated config. The reasons this is a good thing are as follows: * If we decide that we should change the default for an option, we can do so, and only those admins that have deliberately chosen to override that option will be stuck on the old setting. * It moves us towards a point where we can get rid of the super-surprising feature of synapse where the default settings for the config come from the generated yaml. * It makes setting up a test config for unit testing an order of magnitude easier (see forthcoming PR). * It makes the generated config more consistent, and hopefully easier for users to understand. | ||||
* | | | | | | Migrate the user directory initial population to a background task (#4864) | Amber Brown | 2019-03-19 | 8 | -301/+405 |
| | | | | | | |||||
* | | | | | | Add ratelimiting on failed login attempts (#4865) | Brendan Abolivier | 2019-03-18 | 6 | -5/+86 |
| |/ / / / |/| | | | | |||||
* | | | | | Add ratelimiting on login (#4821) | Brendan Abolivier | 2019-03-15 | 11 | -37/+259 |
| | | | | | | | | | | | | | | | Add two ratelimiters on login (per-IP address and per-userID). | ||||
* | | | | | Merge pull request #4855 from matrix-org/rav/refactor_transaction_queue | Richard van der Hoff | 2019-03-15 | 8 | -761/+865 |
|\ \ \ \ \ | | | | | | | | | | | | | Split TransactionQueue up | ||||
| * | | | | | changelog | Richard van der Hoff | 2019-03-13 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Rename and move the classes | Richard van der Hoff | 2019-03-13 | 7 | -811/+864 |
| | | | | | | |||||
| * | | | | | Factor per-destination stuff out of TransactionQueue | Richard van der Hoff | 2019-03-13 | 1 | -132/+182 |
| | | | | | | | | | | | | | | | | | | | | | | | | This is easier than having to have a million fields keyed on destination. | ||||
* | | | | | | Merge pull request #4852 from matrix-org/rav/move_rr_sending_to_worker | Richard van der Hoff | 2019-03-15 | 6 | -55/+111 |
|\| | | | | | | | | | | | | | | | | | Move client receipt processing to federation sender worker. | ||||
| * | | | | | changelog | Richard van der Hoff | 2019-03-13 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Move client receipt processing to federation sender worker. | Richard van der Hoff | 2019-03-13 | 4 | -33/+78 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly a prerequisite for #4730, but also fits with the general theme of "move everything off the master that we possibly can". | ||||
| * | | | | | declare a ReadReceipt class | Richard van der Hoff | 2019-03-13 | 2 | -24/+34 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm going to use this in queues and things, so it'll be useful to give it more of a structure. | ||||
* | | | | | | Merge pull request #4853 from matrix-org/erikj/worker_docker_ci | Erik Johnston | 2019-03-15 | 5 | -17/+54 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Allow passing --daemonize to workers | ||||
| * | | | | | | Correctly handle all command line options | Erik Johnston | 2019-03-14 | 3 | -16/+42 |
| | | | | | | | |||||
| * | | | | | | Newsfile | Erik Johnston | 2019-03-13 | 1 | -0/+1 |
| | | | | | | | |||||
| * | | | | | | Allow passing --daemonize to workers | Erik Johnston | 2019-03-13 | 2 | -1/+11 |
| | | | | | | | |||||
* | | | | | | | Add systemd setup that supports workers (#4662) | Luca Corbatto | 2019-03-15 | 6 | -0/+205 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This setup is a way to manage workers with systemd. It does however not require workers. You can use this setup without workers. You just have to make sure that the homeserver is forking and writes its PID file to the location the service is looking in. The currently distributed setup in the debian package does not work in conjunction with workers. * Adds changelog * Lets systemd handle the forking Sets all services to `type=simple` and disables daemonizing on the synapse side. * Formats readme to 80 columns per line * Allows for full restart of all workers * Changes README to reflect the new setup * Adds dot to end of changelog file * Removes surplus word Co-Authored-By: targodan <targodan@users.noreply.github.com> * Adds missing word Co-Authored-By: targodan <targodan@users.noreply.github.com> * Fixes linebreak Co-Authored-By: targodan <targodan@users.noreply.github.com> * Fixes unit type | ||||
* | | | | | | | Add some stuff back to the .gitignore (#4843) | Aaron Raimist | 2019-03-15 | 2 | -3/+8 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add some stuff back to the .gitignore Signed-off-by: Aaron Raimist <aaron@raim.ist> * Add changelog Signed-off-by: Aaron Raimist <aaron@raim.ist> * Reorder and remove old items from .gitignore Signed-off-by: Aaron Raimist <aaron@raim.ist> | ||||
* | | | | | | | Merge pull request #4859 from matrix-org/revert-4793-anoa/trailing_slashes | Erik Johnston | 2019-03-14 | 4 | -12/+11 |
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | Revert "Make federation endpoints more tolerant of trailing slashes for some endpoints" | ||||
| * | | | | | | | Revert "Make federation endpoints more tolerant of trailing slashes for some ↵ | Erik Johnston | 2019-03-14 | 4 | -12/+11 |
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | endpoints (#4793)" This reverts commit 290552fd836f4ae2dc1d893a7f72f7fff85365d3. | ||||
* | | | | | | | Merge pull request #4846 from matrix-org/hawkowl/userdir-search | Erik Johnston | 2019-03-14 | 11 | -138/+206 |
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | Improve searching in the userdir | ||||
| * | | | | | | fixup | Amber Brown | 2019-03-13 | 2 | -2/+2 |
| | | | | | | | |||||
| * | | | | | | fixup | Amber Brown | 2019-03-13 | 4 | -75/+17 |
| | | | | | | | |||||
| * | | | | | | fixup | Amber Brown | 2019-03-12 | 1 | -2/+2 |
| | | | | | | | |||||
| * | | | | | | fixup | Amber Brown | 2019-03-12 | 1 | -1/+1 |
| | | | | | | | |||||
| * | | | | | | fixup | Amber Brown | 2019-03-12 | 1 | -1/+2 |
| | | | | | | | |||||
| * | | | | | | fixup | Amber Brown | 2019-03-12 | 4 | -176/+159 |
| | | | | | | | |||||
| * | | | | | | fixup | Amber Brown | 2019-03-12 | 1 | -1/+1 |
| | | | | | | | |||||
| * | | | | | | use the old method | Amber Brown | 2019-03-12 | 1 | -3/+2 |
| | | | | | | | |||||
| * | | | | | | fix | Amber Brown | 2019-03-12 | 1 | -1/+1 |
| | | | | | | | |||||
| * | | | | | | pep8 | Amber Brown | 2019-03-12 | 1 | -2/+1 |
| | | | | | | | |||||
| * | | | | | | changelog | Amber Brown | 2019-03-12 | 1 | -0/+1 |
| | | | | | | | |||||
| * | | | | | | fixes | Amber Brown | 2019-03-12 | 4 | -52/+74 |
| | | | | | | | |||||
| * | | | | | | setup master | Amber Brown | 2019-03-11 | 1 | -0/+2 |
| | | | | | | | |||||
| * | | | | | | master startup | Amber Brown | 2019-03-11 | 2 | -0/+9 |
| | | | | | | | |||||
| * | | | | | | Merge remote-tracking branch 'origin/develop' into hawkowl/userdir-search | Amber Brown | 2019-03-11 | 8 | -19/+57 |
| |\ \ \ \ \ \ | | | |_|_|/ / | | |/| | | | | |||||
| * | | | | | | initial | Amber Brown | 2019-03-11 | 5 | -4/+114 |
| | |_|_|/ / | |/| | | | | |||||
* | | | | | | Document using a certificate with a full chain (#4849) | Andrew Morgan | 2019-03-13 | 4 | -2/+17 |
| | | | | | | |||||
* | | | | | | Merge branch 'master' of github.com:matrix-org/synapse into develop | Neil Johnson | 2019-03-12 | 5 | -154/+207 |
|\ \ \ \ \ \ | |_|_|/ / / |/| | | / / | | |_|/ / | |/| | | | |||||
| * | | | | fix orphaned sentence | Neil Johnson | 2019-03-12 | 1 | -1/+0 |
| | | | | | |||||
| * | | | | Neilj/improved delegation doc 2 (#4832) | Neil Johnson | 2019-03-12 | 4 | -148/+202 |
| | | | | | | | | | | | | | | | | | | | | | | | | | Improved federation configuration docs. Specifically detailing .well-known and SRV based delegation methods. Inspiration Valentin Lab <valentin.lab@kalysto.org> for https://github.com/matrix-org/synapse/pull/4781 | ||||
| * | | | | Add zwsp in bug report template (#4811) | Richard van der Hoff | 2019-03-06 | 1 | -6/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | Inserts a zero-width space in the `-->` which isn't supposed to close a comment. This used to be here but it got lost in d86826277d764217311d0d34a8e6143d09237a94. | ||||
* | | | | | Transfer local user's push rules on room upgrade (#4838) | Andrew Morgan | 2019-03-12 | 3 | -0/+62 |
| | | | | | | | | | | | | | | | Transfer push rules (notifications) on room upgrade | ||||
* | | | | | Clarify what registration_shared_secret allows for (#2885) (#4844) | Aaron Raimist | 2019-03-11 | 4 | -6/+7 |
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Clarify what registration_shared_secret allows for (#2885) Signed-off-by: Aaron Raimist <aaron@raim.ist> * Add changelog Signed-off-by: Aaron Raimist <aaron@raim.ist> | ||||
* | | | | Make federation endpoints more tolerant of trailing slashes for some ↵ | Andrew Morgan | 2019-03-11 | 4 | -11/+12 |
| | | | | | | | | | | | | | | | | | | | | endpoints (#4793) Server side of a solution towards #3622. | ||||
* | | | | Merge pull request #4847 from matrix-org/erikj/fix_stacktrace_keyring | Erik Johnston | 2019-03-11 | 2 | -2/+3 |
|\ \ \ \ | |_|_|/ |/| | | | Correctly log expected errors when fetching server keys | ||||
| * | | | Newsfile | Erik Johnston | 2019-03-11 | 1 | -0/+1 |
| | | | | |||||
| * | | | Correctly log expected errors when fetching server keys | Erik Johnston | 2019-03-11 | 1 | -2/+2 |
|/ / / | |||||
* | | | Merge pull request #4839 from matrix-org/anoa/no_captcha_tests | Andrew Morgan | 2019-03-11 | 2 | -0/+2 |
|\ \ \ | | | | | | | | | Disable captcha registration by default in tests | ||||
| * | | | Add changelog | Andrew Morgan | 2019-03-08 | 1 | -0/+1 |
| | | | | |||||
| * | | | Disable captcha registration by default in tests | Andrew Morgan | 2019-03-08 | 1 | -0/+1 |
| | |/ | |/| | |||||
* | | | fix incorrect encoding of filenames with spaces in (#2090) | Matthew Hodgson | 2019-03-11 | 2 | -3/+52 |
| | | | | | | | | | | | | fixes https://github.com/vector-im/riot-web/issues/3155 | ||||
* | | | Merge pull request #4837 from matrix-org/erikj/optional_prev_state | Erik Johnston | 2019-03-11 | 4 | -16/+3 |
|\ \ \ | |/ / |/| | | Make `prev_state` field optional | ||||
| * | | Add comment to schema | Erik Johnston | 2019-03-08 | 1 | -0/+2 |
| | | | |||||
| * | | Newsfile | Erik Johnston | 2019-03-08 | 1 | -0/+1 |
| | | | |||||
| * | | Make `prev_state` field optional | Erik Johnston | 2019-03-08 | 2 | -16/+0 |
|/ / | | | | | | | | | | | | | The `prev_state` field on events is not specced and so synapse shouldn't explode if an event is missing the field. Fixes #4787 | ||||
* | | Merge pull request #4814 from matrix-org/erikj/soft_fail_impl | Erik Johnston | 2019-03-08 | 5 | -1/+113 |
|\ \ | | | | | | | Implement soft fail | ||||
| * \ | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-03-08 | 40 | -503/+711 |
| |\ \ | |/ / |/| | | | | | erikj/soft_fail_impl | ||||
* | | | Merge pull request #4829 from matrix-org/erikj/device_list_seen_updates | Erik Johnston | 2019-03-08 | 2 | -3/+8 |
|\ \ \ | | | | | | | | | When re-syncing device lists reset the state | ||||
| * | | | Newsfile | Erik Johnston | 2019-03-07 | 1 | -0/+1 |
| | | | | |||||
| * | | | When re-syncing device lists reset the state | Erik Johnston | 2019-03-07 | 1 | -3/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We keep track of what stream IDs we've seen so that we know what updates we've handled or missed. If we re-sync we don't know if the updates we've seen are included in the re-sync (there may be a race), so we should reset the seen updates. | ||||
* | | | | Merge pull request #4828 from matrix-org/erikj/debug_device_lists | Erik Johnston | 2019-03-07 | 2 | -2/+39 |
|\ \ \ \ | |/ / / |/| | | | Add some debug logging for device list handling | ||||
| * | | | Newsfile | Erik Johnston | 2019-03-07 | 1 | -0/+1 |
| | | | | |||||
| * | | | Add some debug logging for device list handling | Erik Johnston | 2019-03-07 | 1 | -2/+38 |
|/ / / | |||||
* | | | Merge pull request #4824 from matrix-org/rav/docker_docs | Richard van der Hoff | 2019-03-07 | 2 | -4/+38 |
|\ \ \ | | | | | | | | | Document the `generate` option for the docker image. | ||||
| * | | | Document the `generate` option for the docker image. | Richard van der Hoff | 2019-03-07 | 2 | -4/+38 |
| | | | | |||||
* | | | | Debian package: fix warning during preconfiguration. (#4823) | Richard van der Hoff | 2019-03-07 | 2 | -1/+11 |
|\ \ \ \ | |||||
| * | | | | Debian package: fix warning during preconfiguration. | Richard van der Hoff | 2019-03-07 | 2 | -1/+11 |
| |/ / / | |||||
* | | | | Update example_log_config.yaml (#4820) | Richard van der Hoff | 2019-03-07 | 2 | -1/+3 |
| | | | | |||||
* | | | | Fix check-newsfragment for debian-only changes. (#4825) | Richard van der Hoff | 2019-03-07 | 2 | -7/+6 |
| | | | | |||||
* | | | | Rewrite userdir to be faster (#4537) | Amber Brown | 2019-03-07 | 6 | -409/+400 |
| | | | | |||||
* | | | | Reword the sample config header to be less scary (#4801) | Matthew Hodgson | 2019-03-07 | 3 | -10/+21 |
|/ / / | |||||
* | | | Merge pull request #4779 from matrix-org/travis/icons | Travis Ralston | 2019-03-06 | 4 | -7/+8 |
|\ \ \ | | | | | | | | | Use static locations for Riot icons | ||||
| * | | | Update changelog.d/4779.misc | Richard van der Hoff | 2019-03-06 | 1 | -1/+1 |
| | | | | | | | | | | | | Co-Authored-By: turt2live <travpc@gmail.com> | ||||
| * | | | Changelog | Travis Ralston | 2019-03-01 | 1 | -0/+1 |
| | | | | |||||
| * | | | Use static locations for Riot icons | Travis Ralston | 2019-03-01 | 3 | -7/+7 |
| | | | | | | | | | | | | See https://github.com/vector-im/riot-web/issues/9009 | ||||
* | | | | Merge pull request #4818 from matrix-org/erikj/prefill_client_ips | Erik Johnston | 2019-03-06 | 2 | -0/+3 |
|\ \ \ \ | | | | | | | | | | | Prefill client IPs cache on workers | ||||
| * | | | | Update changelog | Erik Johnston | 2019-03-06 | 2 | -1/+1 |
| | | | | | |||||
| * | | | | Newsfile | Erik Johnston | 2019-03-06 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Prefill client IPs cache on workers | Erik Johnston | 2019-03-06 | 1 | -0/+2 |
| | | | | | |||||
* | | | | | Merge pull request #4815 from matrix-org/erikj/docstrings | Erik Johnston | 2019-03-06 | 3 | -7/+46 |
|\ \ \ \ \ | | | | | | | | | | | | | Add docstrings from matrix-org-hotfixes | ||||
| * | | | | | Newsfile | Erik Johnston | 2019-03-06 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Add docstrings from matrix-org-hotfixes | Erik Johnston | 2019-03-06 | 2 | -7/+45 |
| |/ / / / | |||||
* | | | | | Merge pull request #4816 from matrix-org/erikj/4422_debug | Erik Johnston | 2019-03-06 | 2 | -7/+47 |
|\ \ \ \ \ | | | | | | | | | | | | | Port #4422 debug logging from hotfixes | ||||
| * | | | | | Newsfile | Erik Johnston | 2019-03-06 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Port #4422 debug logging from hotfixes | Erik Johnston | 2019-03-06 | 1 | -7/+46 |
| |/ / / / | |||||
* | | | | | Merge pull request #4817 from matrix-org/erikj/shutdown_room_message | Erik Johnston | 2019-03-06 | 2 | -11/+12 |
|\ \ \ \ \ | |/ / / / |/| | | | | Send message after room has been shutdown | ||||
| * | | | | Newsfile | Erik Johnston | 2019-03-06 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Send message after room has been shutdown | Erik Johnston | 2019-03-06 | 1 | -11/+11 |
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the explanation message is sent to the abuse room before any users are forced joined, which means it tends to get lost in the backlog of joins. So instead we send the message *after* we've forced joined everyone. | ||||
* | | | | Merge pull request #4792 from matrix-org/anoa/replication_tokens | Andrew Morgan | 2019-03-06 | 2 | -3/+29 |
|\ \ \ \ | | | | | | | | | | | Support batch updates in the worker sender | ||||
| * | | | | Simplify token replication logic | Andrew Morgan | 2019-03-05 | 1 | -23/+14 |
| | | | | | |||||
| * | | | | Clean up logic and add comments | Andrew Morgan | 2019-03-04 | 1 | -11/+18 |
| | | | | | |||||
| * | | | | Clearer branching, fix missing list clear | Andrew Morgan | 2019-03-04 | 1 | -4/+11 |
| | | | | | |||||
| * | | | | Add changelog | Andrew Morgan | 2019-03-04 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Prevent replication wedging | Andrew Morgan | 2019-03-04 | 1 | -4/+24 |
| | | | | | |||||
* | | | | | Merge pull request #4804 from ↵ | Brendan Abolivier | 2019-03-06 | 7 | -31/+40 |
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | matrix-org/babolivier/ratelimit_registration_improvements Improve ratelimit on registration | ||||
| * | | | | | Make registration ratelimiter separate from the main events one | Brendan Abolivier | 2019-03-06 | 3 | -2/+6 |
| | | | | | | |||||
| * | | | | | Revert "Split ratelimiters in two (one for events, one for registration)" | Brendan Abolivier | 2019-03-06 | 9 | -15/+11 |
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d7dbad3526136cfc9fdbd568635be5016fb637db. | ||||
| * | | | | | Add changelog | Brendan Abolivier | 2019-03-05 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Split ratelimiters in two (one for events, one for registration) | Brendan Abolivier | 2019-03-05 | 9 | -11/+15 |
| | | | | | | |||||
| * | | | | | Update sample config | Brendan Abolivier | 2019-03-05 | 1 | -11/+13 |
| | | | | | | |||||
| * | | | | | Move settings from registration to ratelimiting in config file | Brendan Abolivier | 2019-03-05 | 2 | -18/+20 |
|/ / / / / | |||||
| | | * | | Factor out soft fail checks | Erik Johnston | 2019-03-08 | 1 | -5/+22 |
| | | | | | |||||
| | | * | | Newsfile | Erik Johnston | 2019-03-06 | 1 | -0/+1 |
| | | | | | |||||
| | | * | | Implement soft fail | Erik Johnston | 2019-03-06 | 4 | -1/+95 |
| |_|/ / |/| | | | |||||
* | | | | Merge pull request #4772 from jbweston/jbweston/server-version-api | Erik Johnston | 2019-03-05 | 5 | -2/+85 |
|\ \ \ \ | | | | | | | | | | | Add 'server_version' endpoint to admin API | ||||
| * | | | | add API documentation | Joseph Weston | 2019-03-02 | 1 | -0/+22 |
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Joseph Weston <joseph@weston.cloud> | ||||
| * | | | | Add changelog and AUTHORS file entry | Joseph Weston | 2019-03-01 | 2 | -0/+4 |
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Joseph Weston <joseph@weston.cloud> | ||||
| * | | | | Add 'server_version' endpoint to admin API | Joseph Weston | 2019-03-01 | 2 | -1/+58 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This is required because the 'Server' HTTP header is not always passed through proxies. | ||||
| * | | | | Import 'admin' module rather than 'register_servlets' directly | Joseph Weston | 2019-03-01 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will later need also to import 'register_servlets' from the 'login' module, so we un-pollute the namespace now to keep the logical changes separate. | ||||
* | | | | | Add rate-limiting on registration (#4735) | Brendan Abolivier | 2019-03-05 | 17 | -54/+186 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rate-limiting for registration * Add unit test for registration rate limiting * Add config parameters for rate limiting on auth endpoints * Doc * Fix doc of rate limiting function Co-Authored-By: babolivier <contact@brendanabolivier.com> * Incorporate review * Fix config parsing * Fix linting errors * Set default config for auth rate limiting * Fix tests * Add changelog * Advance reactor instead of mocked clock * Move parameters to registration specific config and give them more sensible default values * Remove unused config options * Don't mock the rate limiter un MAU tests * Rename _register_with_store into register_with_store * Make CI happy * Remove unused import * Update sample config * Fix ratelimiting test for py2 * Add non-guest test | ||||
* | | | | | Merge pull request #4795 from matrix-org/anoa/configinatoractoring | Andrew Morgan | 2019-03-05 | 2 | -3/+4 |
|\ \ \ \ \ | | | | | | | | | | | | | Remove reference to that no longer exists in README | ||||
| * | | | | | Add changelog | Andrew Morgan | 2019-03-04 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Remove reference to that no longer exists in README | Andrew Morgan | 2019-03-04 | 1 | -3/+3 |
| | | | | | | |||||
* | | | | | | Merge pull request #4794 from matrix-org/anoa/erroneous_dollahs | Andrew Morgan | 2019-03-05 | 2 | -22/+23 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Remove unnecessary dollar signs | ||||
| * | | | | | | Add changelog | Andrew Morgan | 2019-03-04 | 1 | -0/+1 |
| | | | | | | | |||||
| * | | | | | | Remove unnecessary dollar signs | Andrew Morgan | 2019-03-04 | 1 | -22/+22 |
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | A dollar sign is already appended to the end of each PATH, so there's no need to add one in the PATH declaration as well. | ||||
* | | | | | | Merge pull request #4699 from matrix-org/erikj/stop_fed_not_in_room | Erik Johnston | 2019-03-05 | 4 | -29/+127 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Stop backpaginating when events not visible | ||||
| * | | | | | | clarify comments | Erik Johnston | 2019-03-05 | 3 | -10/+13 |
| | | | | | | | |||||
| * | | | | | | Fix missing null guard | Erik Johnston | 2019-03-04 | 1 | -1/+1 |
| | | | | | | | |||||
| * | | | | | | Only check history visibility when filtering | Erik Johnston | 2019-03-04 | 2 | -35/+46 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When filtering events to send to server we check more than just history visibility. However when deciding whether to backfill or not we only care about the history visibility. | ||||
| * | | | | | | s/get_forward_events/get_successor_events/ | Erik Johnston | 2019-03-04 | 2 | -3/+3 |
| | | | | | | | |||||
| * | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-03-04 | 101 | -535/+1462 |
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | erikj/stop_fed_not_in_room | ||||
| * | | | | | | | Update newsfile to have a full stop | Erik Johnston | 2019-02-27 | 1 | -1/+1 |
| | | | | | | | | |||||
| * | | | | | | | Update comments | Erik Johnston | 2019-02-27 | 1 | -3/+13 |
| | | | | | | | | |||||
| * | | | | | | | Newsfile | Erik Johnston | 2019-02-20 | 1 | -0/+1 |
| | | | | | | | |