Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Rate limit early | Erik Johnston | 2019-05-02 | 1 | -2/+3 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-04-26 | 108 | -6218/+1842 |
|\ | | | | | | | erikj/ratelimit_3pid_invite | ||||
| * | Merge pull request #5103 from matrix-org/rav/fix_notif_loop | Richard van der Hoff | 2019-04-26 | 3 | -0/+24 |
| |\ | | | | | | | Fix infinite loop in presence handler | ||||
| | * | Fix infinite loop in presence handler | Richard van der Hoff | 2019-04-26 | 3 | -0/+24 |
| |/ | | | | | | | Fixes #5102 | ||||
| * | Merge remote-tracking branch 'origin/master' into develop | Richard van der Hoff | 2019-04-25 | 1 | -0/+2 |
| |\ | |||||
| | * | add gpg key fingerprint | Richard van der Hoff | 2019-04-22 | 1 | -0/+2 |
| | | | |||||
| * | | Merge pull request #5098 from matrix-org/rav/fix_pep_517 | Richard van der Hoff | 2019-04-25 | 3 | -2/+8 |
| |\ \ | | | | | | | | | Workarounds for pep-517 errors | ||||
| | * | | Changelog | Richard van der Hoff | 2019-04-25 | 1 | -0/+1 |
| | | | | |||||
| | * | | Add --no-pep-517 to README instructions | Richard van der Hoff | 2019-04-25 | 1 | -2/+2 |
| | | | | |||||
| | * | | set PIP_USE_PEP517 = False for tests | Richard van der Hoff | 2019-04-25 | 1 | -0/+5 |
| | | | | | | | | | | | | | | | | | | | | pip 19.1 otherwise complains about "editable mode is not supported for pyproject.toml-style projects" | ||||
| * | | | Fix handling of SYNAPSE_NO_TLS in docker image (#5005) | *=0=1=4=* | 2019-04-25 | 3 | -2/+16 |
| |/ / | |||||
| * | | Config option for verifying federation certificates (MSC 1711) (#4967) | Andrew Morgan | 2019-04-25 | 8 | -17/+158 |
| | | | |||||
| * | | Remove log error for .well-known/matrix/client (#4972) | Michael Kaye | 2019-04-24 | 2 | -1/+2 |
| | | | |||||
| * | | Prevent "producer not unregistered" message (#5009) | Amber Brown | 2019-04-24 | 2 | -0/+5 |
| | | | |||||
| * | | Merge pull request #5077 from matrix-org/babolivier/account_expiration | Brendan Abolivier | 2019-04-18 | 2 | -2/+7 |
| |\ \ | | | | | | | | | Don't crash on lack of expiry templates | ||||
| | * | | Don't crash on lack of expiry templates | Brendan Abolivier | 2019-04-18 | 2 | -2/+7 |
| | | | | |||||
| * | | | Merge remote-tracking branch 'origin/master' into develop | Richard van der Hoff | 2019-04-17 | 1 | -4/+24 |
| |\ \ \ | | | |/ | | |/| | |||||
| | * | | Update debian install docs for new key and repo (#5074) | Richard van der Hoff | 2019-04-17 | 1 | -5/+25 |
| | | | | |||||
| * | | | Merge pull request #5073 from matrix-org/babolivier/account_expiration | Brendan Abolivier | 2019-04-17 | 8 | -26/+246 |
| |\ \ \ | | | |/ | | |/| | Add some endpoints for account validity management | ||||
| | * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-04-17 | 216 | -10038/+5057 |
| | |\ \ | | |/ / | |/| | | | | | | babolivier/account_expiration | ||||
| * | | | Merge pull request #5047 from matrix-org/babolivier/account_expiration | Brendan Abolivier | 2019-04-17 | 17 | -43/+699 |
| |\ \ \ | | | | | | | | | | | Send out emails with links to extend an account's validity period | ||||
| * \ \ \ | Merge pull request #5071 from matrix-org/babolivier/3pid-check | Brendan Abolivier | 2019-04-17 | 2 | -0/+19 |
| |\ \ \ \ | | | | | | | | | | | | | Make sure we're not registering the same 3pid twice | ||||
| | * | | | | Make sure we're not registering the same 3pid twice | Brendan Abolivier | 2019-04-17 | 2 | -0/+19 |
| | | |_|/ | | |/| | | |||||
| * | | | | Merge pull request #5070 from matrix-org/erikj/postpath | Erik Johnston | 2019-04-17 | 2 | -8/+9 |
| |\ \ \ \ | | | | | | | | | | | | | Remove usage of request.postpath | ||||
| * \ \ \ \ | Merge pull request #5065 from matrix-org/erikj/fix_versions | Erik Johnston | 2019-04-16 | 2 | -1/+2 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | VersionRestServlet doesn't take a param | ||||
| | * | | | | | Newsfile | Erik Johnston | 2019-04-15 | 1 | -0/+1 |
| | | | | | | | |||||
| | * | | | | | VersionRestServlet doesn't take a param | Erik Johnston | 2019-04-15 | 1 | -1/+1 |
| | | | | | | | |||||
| * | | | | | | Use packages.matrix.org for packages (#5067) | Travis Ralston | 2019-04-16 | 2 | -3/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use packages.matrix.org for packages See https://github.com/vector-im/riot-web/issues/9497 (applies to more than just Olm) * changelog | ||||
| * | | | | | | Add systemd-python to optional dependencies (#4339) | Silke Hofstra | 2019-04-16 | 4 | -10/+13 |
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using systemd-python allows for logging to the systemd journal, as is documented in: `synapse/contrib/systemd/log_config.yaml`. Signed-off-by: Silke Hofstra <silke@slxh.eu> | ||||
| * | | | | | Merge pull request #5063 from matrix-org/erikj/move_endpoints | Erik Johnston | 2019-04-15 | 4 | -4/+21 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Move some rest endpoints to client reader | ||||
| * | | | | | | update grafana dashboard | Richard van der Hoff | 2019-04-13 | 1 | -5211/+1 |
| | | | | | | | |||||
| * | | | | | | Remove periods from copyright headers (#5046) | Andrew Morgan | 2019-04-11 | 12 | -11/+12 |
| | | | | | | | |||||
| * | | | | | | Merge pull request #5033 from matrix-org/erikj/fix_schema_delta | Erik Johnston | 2019-04-10 | 2 | -1/+4 |
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | Fix schema upgrade when dropping tables | ||||
| | * | | | | | | Newsfile | Erik Johnston | 2019-04-09 | 1 | -0/+1 |
| | | | | | | | | |||||
| | * | | | | | | Fix schema upgrade when dropping tables | Erik Johnston | 2019-04-09 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to drop tables in the correct order due to foreign table constraints (on `application_services`), otherwise the DROP TABLE command will fail. Introduced in #4992. | ||||
| * | | | | | | | Fix disappearing exceptions in manhole. (#5035) | Richard van der Hoff | 2019-04-10 | 2 | -2/+58 |
| | | | | | | | | | | | | | | | | | | | | | | | | Avoid sending syntax errors from the manhole to sentry. | ||||
| * | | | | | | | Merge pull request #5027 from matrix-org/babolivier/account_expiration | Brendan Abolivier | 2019-04-09 | 9 | -3/+143 |
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | Add time-based account expiration | ||||
| * | | | | | | | Merge pull request #5030 from matrix-org/rav/rewrite_g_s_v_k | Richard van der Hoff | 2019-04-09 | 5 | -91/+136 |
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | Rewrite Datastore.get_server_verify_keys | ||||
| | * | | | | | | | changelog | Richard van der Hoff | 2019-04-09 | 1 | -0/+1 |
| | | | | | | | | | |||||
| | * | | | | | | | Rewrite Datastore.get_server_verify_keys | Richard van der Hoff | 2019-04-09 | 3 | -52/+113 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite this so that it doesn't hammer the database. | ||||
| | * | | | | | | | Rewrite test_keys as a HomeserverTestCase | Richard van der Hoff | 2019-04-08 | 1 | -19/+15 |
| | | | | | | | | | |||||
| | * | | | | | | | Replace SlavedKeyStore with a shim | Richard van der Hoff | 2019-04-08 | 1 | -14/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | since we're pulling everything out of KeyStore anyway, we may as well simplify it. | ||||
| | * | | | | | | | Remove redundant merged_keys dict | Richard van der Hoff | 2019-04-08 | 1 | -8/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no point in collecting a merged dict of keys: it is sufficient to consider just the new keys which have been fetched by the most recent key_fetch_fns. | ||||
| * | | | | | | | | Bump psycopg requirement (#5032) | Richard van der Hoff | 2019-04-09 | 2 | -1/+4 |
| |/ / / / / / / | |||||
| * | | | | | | | Remove unused server_tls_certificates functions (#5028) | Richard van der Hoff | 2019-04-08 | 6 | -63/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These have been unused since #4120, and with the demise of perspectives, it is unlikely that they will ever be used again. | ||||
| * | | | | | | | add context to phonehome stats (#5020) | Neil Johnson | 2019-04-08 | 4 | -1/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add context to phonehome stats | ||||
| * | | | | | | | Merge pull request #5024 from matrix-org/rav/record_correct_server_in_serverkeys | Richard van der Hoff | 2019-04-08 | 3 | -1/+3 |
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | Fix from_server buglet in get_keys_from_perspectives | ||||
| | * | | | | | | | Fix from_server buglet in get_keys_from_perspectives | Richard van der Hoff | 2019-04-08 | 3 | -1/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make sure we store the name of the server the keys came from, rather than the origin server, after doing a fetch-from-perspectives. | ||||
| * | | | | | | | | drop tables listed in #1830 (#4992) | Neil Johnson | 2019-04-08 | 26 | -757/+43 |
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tables dropped: * application_services, * application_services_regex, * transaction_id_to_pdu, * stats_reporting * current_state_resets * event_content_hashes * event_destinations * event_edge_hashes * event_signatures * feedback * room_hosts * state_forward_extremities | ||||
| * | | | | | | | Merge pull request #5001 from matrix-org/rav/keyring_cleanups | Richard van der Hoff | 2019-04-08 | 4 | -33/+181 |
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | Cleanups in the Keyring | ||||
| | * | | | | | | | changelog | Richard van der Hoff | 2019-04-04 | 1 | -0/+1 |
| | | | | | | | | | |||||
| | * | | | | | | | Hoist server_name check out of process_v2_response | Richard van der Hoff | 2019-04-04 | 1 | -13/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's easier to check it in the caller than to complicate the interface with an extra param. | ||||
| | * | | | | | | | Clean up Keyring.process_v2_response | Richard van der Hoff | 2019-04-04 | 1 | -23/+46 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make this just return the key dict, rather than a single-entry dict mapping the server name to the key dict. It's easy for the caller to get the server name from from the response object anyway. | ||||
| | * | | | | | | | test for get_keys_from_perspectives | Richard van der Hoff | 2019-04-04 | 1 | -0/+67 |
| | | | | | | | | | |||||
| | * | | | | | | | add a test for get_keys_from_server | Richard van der Hoff | 2019-04-04 | 1 | -0/+63 |
| | | | | | | | | | |||||
| | * | | | | | | | Fix docstring on get_server_keys_json | Richard van der Hoff | 2019-04-04 | 1 | -2/+2 |
| | | | | | | | | | |||||
| * | | | | | | | | Add config option to block users from looking up 3PIDs (#5010) | Brendan Abolivier | 2019-04-04 | 6 | -1/+81 |
| | | | | | | | | | |||||
| | | | | | | | * | Add management endpoints for account validity | Brendan Abolivier | 2019-04-17 | 8 | -26/+246 |
| | | | | | | |/ | |||||
| | | | | | | * | Send out emails with links to extend an account's validity period | Brendan Abolivier | 2019-04-17 | 17 | -43/+699 |
| | | | |_|_|/ | | | |/| | | | |||||
| | | * | | | | Add account expiration feature | Brendan Abolivier | 2019-04-09 | 10 | -4/+144 |
| | | | |_|/ | | | |/| | | |||||
* | | | | | | Newsfile | Erik Johnston | 2019-04-26 | 1 | -0/+1 |
| | | | | | | |||||
* | | | | | | Ratelimit 3pid invites | Erik Johnston | 2019-04-26 | 1 | -0/+10 |
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | We do ratelimit sending the 3PID invite events, but that happens after spamming the identity server. | ||||
* | | | | | Newsfile | Erik Johnston | 2019-04-16 | 1 | -0/+1 |
| | | | | | |||||
* | | | | | Remove usage of request.postpath | Erik Johnston | 2019-04-16 | 1 | -8/+8 |
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | This is an undocumented variable in twisted, and relies on the servlet being mounted in the right way. This also breaks getting push rules on workers. | ||||
* | | | | Only handle GET requests for /push_rules | Erik Johnston | 2019-04-15 | 2 | -0/+10 |
| | | | | |||||
* | | | | Newsfile | Erik Johnston | 2019-04-15 | 1 | -0/+1 |
| | | | | |||||
* | | | | Move some rest endpoints to client reader | Erik Johnston | 2019-04-15 | 2 | -4/+10 |
|/ / / | |||||
* | | | Clean up the database pagination code (#5007) | Amber Brown | 2019-04-05 | 3 | -67/+64 |
| | | | | | | | | | | | | | | | | | | | | | | | | * rewrite & simplify * changelog * cleanup potential sql injection | ||||
* | | | Merge pull request #5002 from matrix-org/erikj/delete_group | Erik Johnston | 2019-04-04 | 6 | -0/+275 |
|\ \ \ | | | | | | | | | Add delete group admin API | ||||
| * | | | Newsfile | Erik Johnston | 2019-04-03 | 1 | -0/+1 |
| | | | | |||||
| * | | | Add unit test for deleting groups | Erik Johnston | 2019-04-03 | 1 | -0/+124 |
| | | | | |||||
| * | | | Add admin API for group deletion | Erik Johnston | 2019-04-03 | 2 | -0/+40 |
| | | | | |||||
| * | | | Add functions to delete a group | Erik Johnston | 2019-04-03 | 2 | -0/+110 |
| | | | | |||||
* | | | | Prevent kicking users who aren't in the room (#4999) | Andrew Morgan | 2019-04-04 | 2 | -0/+10 |
| | | | | | | | | | | | | Prevent kick events from succeeding if the user is not currently in the room. | ||||
* | | | | Avoid redundant URL encoding (#4555) | Marcel Krüger | 2019-04-04 | 2 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Do not double encode fallback redirect URL Signed-off-by: Marcel Fabian Krüger <zauguin@gmail.com> | ||||
* | | | | Merge pull request #5004 from ajensenwaud/develop | Erik Johnston | 2019-04-04 | 2 | -1/+2 |
|\ \ \ \ | | | | | | | | | | | Fix issue #4596 | ||||
| * | | | | Fix issue #4596 | Anders | 2019-04-03 | 2 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | Make synapse_port_db --curses work with Python 3. Signed-off-by: Anders Jensen-Waud <anders@jensenwaud.com> | ||||
* | | | | | Correct default POSTGRES_USER in Docker README (#4987) | *=0=1=4=* | 2019-04-04 | 2 | -2/+4 |
| |/ / / |/| | | | | | | | Correct default POSTGRES_USER in Docker README | ||||
* | | | | Fix grammar and document get_current_users_in_room (#4998) | Andrew Morgan | 2019-04-03 | 13 | -20/+32 |
| |/ / |/| | | |||||
* | | | Rewrite KeyringTestCase as a HomeServerTestCase (#4986) | Richard van der Hoff | 2019-04-03 | 2 | -107/+105 |
| | | | | | | | | | | | | | | | This is a bit fiddly due to the keyring doing weird things with logcontexts. | ||||
* | | | Remove presence lists (#4989) | Neil Johnson | 2019-04-03 | 9 | -456/+23 |
| | | | | | | | | | Remove presence list support as per MSC 1819 | ||||
* | | | Merge pull request #4982 from matrix-org/erikj/msc1915 | Erik Johnston | 2019-04-03 | 7 | -17/+216 |
|\ \ \ | | | | | | | | | Implement MSC1915 - 3PID unbind APIs | ||||
| * | | | Correctly handle id_server param | Erik Johnston | 2019-04-02 | 1 | -0/+1 |
| | | | | |||||
| * | | | Remove threepid binding if id server returns 400/404/501 | Erik Johnston | 2019-04-02 | 1 | -9/+10 |
| | | | | |||||
| * | | | Fixup docstrings | Erik Johnston | 2019-04-02 | 3 | -7/+9 |
| | | | | |||||
| * | | | Newsfile | Erik Johnston | 2019-04-01 | 1 | -0/+1 |
| | | | | |||||
| * | | | Add unbind API to /r0 as it is now stabalised | Erik Johnston | 2019-04-01 | 1 | -1/+1 |
| | | | | |||||
| * | | | Grandfather in existing user threepids | Erik Johnston | 2019-04-01 | 2 | -0/+37 |
| | | | | | | | | | | | | | | | | | | | | | | | | We assume, as we did before, that users bound their threepid to one of the trusted identity servers. So we simply fill the new table with all threepids in `user_threepids` joined with the trusted identity servers. | ||||
| * | | | Allowing specifying IS to use in unbind API. | Erik Johnston | 2019-04-01 | 4 | -8/+20 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default the homeserver will use the identity server used during the binding of the 3PID to unbind the 3PID. However, we need to allow clients to explicitly ask the homeserver to unbind via a particular identity server, for the case where the 3PID was bound out of band from the homeserver. Implements MSC915. | ||||
| * | | | For unbind poke IS used during binding of 3PID | Erik Johnston | 2019-04-01 | 1 | -9/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the behaviour from using the server specified trusted identity server to using the IS that used during the binding of the 3PID, if known. This is the behaviour specified by MSC1915. | ||||
| * | | | Track IS used to bind 3PIDs | Erik Johnston | 2019-04-01 | 3 | -0/+119 |
| | | | | | | | | | | | | | | | | | | | | This will then be used to know which IS to default to when unbinding the threepid. | ||||
* | | | | Run black on the rest of the storage module (#4996) | Amber Brown | 2019-04-03 | 42 | -2455/+2131 |
| | | | | |||||
* | | | | Merge pull request #4991 from matrix-org/erikj/stagger_push_startup | Erik Johnston | 2019-04-02 | 5 | -8/+74 |
|\ \ \ \ | | | | | | | | | | | Make starting pushers faster during start up | ||||
| * | | | | s/misc/feature/ | Erik Johnston | 2019-04-02 | 1 | -0/+0 |
| | | | | | |||||
| * | | | | Newsfile | Erik Johnston | 2019-04-02 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | Make starting pushers faster during start up | Erik Johnston | 2019-04-02 | 4 | -8/+73 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We start all pushers on start up and immediately start a background process to fetch push to send. This makes start up incredibly painful when dealing with many pushers. Instead, let's do a quick fast DB check to see if there *may* be push to send and only start the background processes for those pushers. We also stagger starting up and doing those checks so that we don't try and handle all pushers at once. | ||||
* | | | | | Transfer related groups on room upgrade (#4990) | Andrew Morgan | 2019-04-02 | 3 | -0/+3 |
| | | | | | | | | | | | | | | | Transfers the m.room.related_groups state event on room upgrade. | ||||
* | | | | | Add config.signing_key_path. (#4974) | Richard van der Hoff | 2019-04-02 | 2 | -1/+3 |
|/ / / / | | | | | | | | | | | | | | | | | | | | | As requested by @andrewshadura | ||||
* | / / | Fix sync bug when accepting invites (#4956) | Richard van der Hoff | 2019-04-02 | 7 | -69/+237 |
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully this time we really will fix #4422. We need to make sure that the cache on `get_rooms_for_user_with_stream_ordering` is invalidated *before* the SyncHandler is notified for the new events, and we can now do so reliably via the `events` stream. | ||||
* | | | Neilj/fix threepid auth check (with tests) (#4474) | Neil Johnson | 2019-04-01 | 2 | -0/+33 |
| | | | | | | | | | test threepid checking | ||||
* | | | Merge pull request #4981 from ↵ | manuroe | 2019-04-01 | 2 | -5/+16 |
|\ \ \ | | | | | | | | | | | | | | | | | matrix-org/manuroe/demo_bypass_account_rate_limiting start.sh: Fix the --no-rate-limit option for messages | ||||
| * | | | start.sh: Fix the --no-rate-limit option for messages and make it bypass ↵ | manuroe | 2019-04-01 | 2 | -5/+16 |
| | | | | | | | | | | | | | | | | rate limit on registration and login too. | ||||
* | | | | Merge branch 'master' into develop | Neil Johnson | 2019-04-01 | 88 | -89/+107 |
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | |||||
| * | | 0.99.3 v0.99.3 github/release-v0.99.3 release-v0.99.3 | Neil Johnson | 2019-04-01 | 3 | -3/+13 |
| | | | |||||
| * | | convert rst link to md | Neil Johnson | 2019-04-01 | 1 | -1/+1 |
| | | | |||||
| * | | 0.99.3rc1 v0.99.3rc1 | Neil Johnson | 2019-03-27 | 85 | -85/+93 |
| | | | |||||
| * | | bump version | Neil Johnson | 2019-03-27 | 1 | -1/+1 |
| | | | |||||
* | | | Collect room-version variations into one place (#4969) | Richard van der Hoff | 2019-04-01 | 28 | -168/+222 |
| |/ |/| | | | | | Collect all the things that make room-versions different to one another into one place, so that it's easier to define new room versions. | ||||
* | | Merge pull request #4968 from Jurrie/feature/fix_small_stuff_in_Docker_README.md | Richard van der Hoff | 2019-03-29 | 2 | -2/+4 |
|\ \ | | | | | | | Feature/fix small stuff in docker readme.md | ||||
| * | | Add changelog.d entry | Jurrie Overgoor | 2019-03-29 | 1 | -0/+1 |
| | | | |||||
| * | | Add -p argument for docker run command example | Jurrie Overgoor | 2019-03-29 | 1 | -0/+1 |
| | | | | | | | | | Signed-off-by: Jurrie Overgoor <1213142+Jurrie@users.noreply.github.com> | ||||
| * | | Fix typo in TLS filenames | Jurrie Overgoor | 2019-03-29 | 1 | -2/+2 |
|/ / | | | | | Signed-off-by: Jurrie Overgoor <1213142+Jurrie@users.noreply.github.com> | ||||
* | | Merge pull request #4955 from matrix-org/rav/merge_state_into_events | Richard van der Hoff | 2019-03-28 | 9 | -49/+141 |
|\ \ | | | | | | | Combine the CurrentStateDeltaStream into the EventStream | ||||
| * | | changelog | Richard van der Hoff | 2019-03-27 | 1 | -0/+1 |
| | | | |||||
| * | | Combine the CurrentStateDeltaStream into the EventStream | Richard van der Hoff | 2019-03-27 | 5 | -33/+43 |
| | | | |||||
| * | | Make EventStream rows have a type | Richard van der Hoff | 2019-03-27 | 4 | -17/+98 |
| | | | | | | | | | | | | ... as a precursor to combining it with the CurrentStateDelta stream. | ||||
* | | | Merge pull request #4954 from matrix-org/rav/refactor_parse_row | Richard van der Hoff | 2019-03-28 | 4 | -5/+22 |
|\ \ \ | | | | | | | | | Refactors to replication stream row update/parsing | ||||
| * \ \ | Merge remote-tracking branch 'origin/develop' into rav/refactor_parse_row | Richard van der Hoff | 2019-03-28 | 3 | -380/+336 |
| |\ \ \ | | |/ / | |/| | | |||||
| * | | | changelog | Richard van der Hoff | 2019-03-27 | 1 | -0/+1 |
| | | | | |||||
| * | | | Skip building a ROW_TYPE when building updates | Richard van der Hoff | 2019-03-27 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | We're about to turn it straight into a JSON object anyway so building a ROW_TYPE is a bit pointless, and reduces flexibility in the update_function. | ||||
| * | | | Add parse_row method to replication stream class | Richard van der Hoff | 2019-03-27 | 3 | -3/+19 |
| | | | | | | | | | | | | | | | | This will allow individual stream classes to override how a row is parsed. | ||||
* | | | | remove log line for password (#4965) | Neil Johnson | 2019-03-28 | 2 | -2/+1 |
| | | | | | | | | | | | | | | | | Remove log line for password. | ||||
* | | | | Allow password providers to bind emails (#4947) | Andrew Morgan | 2019-03-28 | 3 | -4/+23 |
| | | | | | | | | | | | | This PR allows password provider modules to bind email addresses when a user is registering and is motivated by matrix-org/matrix-synapse-ldap3#58 | ||||
* | | | | Merge pull request #4942 from matrix-org/erikj/fix_presence | Erik Johnston | 2019-03-28 | 5 | -33/+412 |
|\ \ \ \ | |_|/ / |/| | | | Use event streams to calculate presence | ||||
| * | | | Use an assert | Erik Johnston | 2019-03-28 | 1 | -2/+1 |
| | | | | |||||
| * | | | Review comments | Erik Johnston | 2019-03-28 | 2 | -49/+71 |
| | | | | |||||
| * | | | Newsfile | Erik Johnston | 2019-03-27 | 1 | -0/+1 |
| | | | | |||||
| * | | | Add unit tests | Erik Johnston | 2019-03-27 | 1 | -1/+171 |
| | | | | |||||
| * | | | Use event streams to calculate presence | Erik Johnston | 2019-03-27 | 3 | -32/+219 |
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Primarily this fixes a bug in the handling of remote users joining a room where the server sent out the presence for all local users in the room to all servers in the room. We also change to using the state delta stream, rather than the distributor, as it will make it easier to split processing out of the master process (as well as being more flexible). Finally, when sending presence states to newly joined servers we filter out old presence states to reduce the number sent. Initially we filter out states that are offline and have a last active more than a week ago, though this can be changed down the line. Fixes #3962 | ||||
* | | | Merge pull request #4953 from matrix-org/rav/refactor_replication_streams | Richard van der Hoff | 2019-03-28 | 8 | -77/+136 |
|\ \ \ | | |/ | |/| | Split up replication.tcp.streams into smaller files | ||||
| * | | changelog | Richard van der Hoff | 2019-03-27 | 1 | -0/+2 |
| | | | |||||
| * | | move FederationStream out to its own file | Richard van der Hoff | 2019-03-27 | 4 | -23/+43 |
| | | | |||||
| * | | move EventsStream out to its own file | Richard van der Hoff | 2019-03-27 | 3 | -23/+42 |
| | | | |||||
| * | | Move replication.tcp.streams into a package | Richard van der Hoff | 2019-03-27 | 4 | -35/+53 |
| | | | |||||
* | | | Run `black` on some storage modules that the stats branch touches (#4959) | Amber Brown | 2019-03-29 | 3 | -380/+336 |
|/ / | |||||
* / | 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). |