Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #5027 from matrix-org/babolivier/account_expiration | Brendan Abolivier | 2019-04-09 | 9 | -3/+143 |
|\ | | | | | Add time-based account expiration | ||||
| * | Add account expiration feature | Brendan Abolivier | 2019-04-09 | 10 | -4/+144 |
| | | |||||
* | | 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 |
| | | | |||||
* | | | 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). | ||||
| * | | | | | 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 |
| | |_|_|/ / | |/| | | | |