Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Ignore room state with null bytes in for room stats | Erik Johnston | 2019-06-03 | 1 | -0/+15 |
| | |||||
* | Merge pull request #5276 from matrix-org/babolivier/account_validity_job_delta | Erik Johnston | 2019-05-31 | 1 | -2/+20 |
|\ | | | | | Allow configuring a range for the account validity startup job | ||||
| * | Move delta from +10% to -10% | Brendan Abolivier | 2019-05-31 | 1 | -2/+2 |
| | | |||||
| * | Make max_delta equal to period * 10% | Brendan Abolivier | 2019-05-31 | 1 | -4/+3 |
| | | |||||
| * | Allow configuring a range for the account validity startup job | Brendan Abolivier | 2019-05-28 | 1 | -2/+21 |
| | | | | | | | | | | When enabling the account validity feature, Synapse will look at startup for registered account without an expiration date, and will set one equals to 'now + validity_period' for them. On large servers, it can mean that a large number of users will have the same expiration date, which means that they will all be sent a renewal email at the same time, which isn't ideal. In order to mitigate this, this PR allows server admins to define a 'max_delta' so that the expiration date is a random value in the [now + validity_period ; now + validity_period + max_delta] range. This allows renewal emails to be progressively sent over a configured period instead of being sent all in one big batch. | ||||
* | | Merge pull request #5294 from matrix-org/erikj/speed_up_room_stats | Erik Johnston | 2019-05-31 | 4 | -87/+111 |
|\ \ | | | | | | | Speed up room stats background update | ||||
| * | | Add indices. Remove room_ids accidentally added | Erik Johnston | 2019-05-31 | 2 | -13/+56 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to do this by re-inserting a background update and recreating tables, as the tables only get created during a background update and will later be deleted. We also make sure that we remove any entries that should have been removed but weren't due to a race that has been fixed in a previous commit. | ||||
| * | | Join against events to use its room_id index | Erik Johnston | 2019-05-30 | 1 | -1/+6 |
| | | | |||||
| * | | Move deletion from table inside txn | Erik Johnston | 2019-05-30 | 1 | -2/+5 |
| | | | |||||
| * | | Fetch membership counts all at once | Erik Johnston | 2019-05-30 | 2 | -38/+18 |
| | | | |||||
| * | | Get events all at once | Erik Johnston | 2019-05-30 | 1 | -33/+26 |
| | | | |||||
* | | | Add index to temp table | Erik Johnston | 2019-05-30 | 1 | -0/+1 |
|/ / | |||||
* | | Merge pull request #5278 from matrix-org/erikj/cleanup_bad_extremities | Erik Johnston | 2019-05-30 | 5 | -181/+436 |
|\ \ | | | | | | | Add DB bg update to cleanup extremities. | ||||
| * | | Update synapse/storage/events_bg_updates.py | Erik Johnston | 2019-05-30 | 1 | -1/+1 |
| | | | | | | | | | Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | ||||
| * | | Rename constant | Erik Johnston | 2019-05-30 | 1 | -3/+3 |
| | | | |||||
| * | | Move event background updates to a separate file | Erik Johnston | 2019-05-30 | 3 | -369/+405 |
| | | | |||||
| * | | Fixup comments and logging | Erik Johnston | 2019-05-30 | 2 | -9/+15 |
| | | | |||||
| * | | Log actual number of entries deleted | Erik Johnston | 2019-05-29 | 2 | -5/+13 |
| | | | |||||
| * | | Add DB bg update to cleanup extremities. | Erik Johnston | 2019-05-29 | 2 | -0/+205 |
| | | | | | | | | | | | | | | | Due to #5269 we may have extremities in our DB that we shouldn't have, so lets add a cleanup task such to remove those. | ||||
* | | | Implement the SHHS complexity API (#5216) | Amber Brown | 2019-05-30 | 1 | -1/+49 |
|/ / | |||||
* | | Correctly filter out extremities with soft failed prevs (#5274) | Erik Johnston | 2019-05-29 | 1 | -3/+79 |
| | | | | | | | | | | | | | | | | | | | | When we receive a soft failed event we, correctly, *do not* update the forward extremity table with the event. However, if we later receive an event that references the soft failed event we then need to remove the soft failed events prev events from the forward extremities table, otherwise we just build up forward extremities. Fixes #5269 | ||||
* | | Merge pull request #5268 from matrix-org/babolivier/account_validity_fix_schema | Brendan Abolivier | 2019-05-28 | 1 | -0/+3 |
|\| | | | | | Fix schema update for account validity | ||||
| * | Fix schema update for account validity | Brendan Abolivier | 2019-05-28 | 1 | -0/+3 |
| | | |||||
* | | Fix logging for room stats background update | Travis Ralston | 2019-05-25 | 1 | -1/+1 |
| | | |||||
* | | Store key validity time in the storage layer | Richard van der Hoff | 2019-05-23 | 2 | -10/+44 |
| | | | | | | | | | | | | | | | | This is a first step to checking that the key is valid at the required moment. The idea here is that, rather than passing VerifyKey objects in and out of the storage layer, we instead pass FetchKeyResult objects, which simply wrap the VerifyKey and add a valid_until_ts field. | ||||
* | | Rewrite store_server_verify_key to store several keys at once (#5234) | Richard van der Hoff | 2019-05-23 | 1 | -26/+39 |
| | | | | | | | | | | Storing server keys hammered the database a bit. This replaces the implementation which stored a single key, with one which can do many updates at once. | ||||
* | | Simplifications and comments in do_auth (#5227) | Richard van der Hoff | 2019-05-23 | 1 | -1/+1 |
| | | | | | | | | | | I was staring at this function trying to figure out wtf it was actually doing. This is (hopefully) a non-functional refactor which makes it a bit clearer. | ||||
* | | Room Statistics (#4338) | Amber Brown | 2019-05-21 | 6 | -3/+597 |
| | | |||||
* | | Merge pull request #5203 from matrix-org/erikj/aggregate_by_sender | Erik Johnston | 2019-05-21 | 1 | -1/+1 |
|\ \ | | | | | | | Only count aggregations from distinct senders | ||||
| * | | Only count aggregations from distinct senders | Erik Johnston | 2019-05-17 | 1 | -1/+1 |
| | | | | | | | | | | | | As a user isn't allowed to send a single emoji more than once. | ||||
* | | | Merge pull request #5212 from matrix-org/erikj/deny_multiple_reactions | Erik Johnston | 2019-05-21 | 1 | -3/+45 |
|\ \ \ | | | | | | | | | Block attempts to annotate the same event twice | ||||
| * | | | Block attempts to annotate the same event twice | Erik Johnston | 2019-05-20 | 1 | -3/+45 |
| | | | | |||||
* | | | | Exclude soft-failed events from fwd-extremity candidates. (#5146) | Richard van der Hoff | 2019-05-21 | 1 | -2/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When considering the candidates to be forward-extremities, we must exclude soft failures. Hopefully fixes #5090. | ||||
* | | | | Merge pull request #5204 from ↵ | Brendan Abolivier | 2019-05-21 | 2 | -12/+62 |
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | matrix-org/babolivier/account_validity_expiration_date Add startup background job for account validity | ||||
| * | | Do the select and insert in a single transaction | Brendan Abolivier | 2019-05-21 | 1 | -10/+6 |
| | | | |||||
| * | | Add startup background job for account validity | Brendan Abolivier | 2019-05-17 | 2 | -12/+66 |
| | | | | | | | | | | | | If account validity is enabled in the server's configuration, this job will run at startup as a background job and will stick an expiration date to any registered account missing one. | ||||
* | | | Rename relation types to match MSC | Erik Johnston | 2019-05-20 | 1 | -4/+4 |
| | | | |||||
* | | | Merge pull request #5209 from matrix-org/erikj/reactions_base | Erik Johnston | 2019-05-20 | 4 | -4/+476 |
|\ \ \ | | | | | | | | | Land basic reaction and edit support. | ||||
| * | | | Correctly update aggregation counts after redaction | Erik Johnston | 2019-05-20 | 2 | -0/+20 |
| | |/ | |/| | |||||
| * | | Fixup bsaed on review comments | Erik Johnston | 2019-05-17 | 1 | -15/+17 |
| | | | |||||
| * | | Add basic editing support | Erik Johnston | 2019-05-16 | 1 | -2/+58 |
| | | | |||||
| * | | Move parsing of tokens out of storage layer | Erik Johnston | 2019-05-16 | 1 | -14/+2 |
| | | | |||||
| * | | Indirect tuple conversion | Erik Johnston | 2019-05-16 | 1 | -0/+6 |
| | | | |||||
| * | | Fix relations in worker mode | Erik Johnston | 2019-05-16 | 2 | -5/+11 |
| | | | |||||
| * | | Add cache to relations | Erik Johnston | 2019-05-16 | 1 | -0/+8 |
| | | | |||||
| * | | Add aggregations API | Erik Johnston | 2019-05-16 | 1 | -6/+219 |
| | | | |||||
| * | | Actually check for None rather falsey | Erik Johnston | 2019-05-15 | 1 | -2/+2 |
| | | | |||||
| * | | Add simple pagination API | Erik Johnston | 2019-05-15 | 1 | -0/+80 |
| | | | |||||
| * | | Add simple send_relation API and track in DB | Erik Johnston | 2019-05-15 | 4 | -0/+93 |
| | | | |||||
* | | | Spelling and clarifications | Erik Johnston | 2019-05-17 | 1 | -5/+9 |
| | | | |||||
* | | | Update docstring | Erik Johnston | 2019-05-16 | 1 | -1/+12 |
|/ / | |||||
* / | Make generating SQL bounds for pagination generic | Erik Johnston | 2019-05-15 | 1 | -61/+118 |
|/ | | | | | This will allow us to reuse the same structure when we paginate e.g. relations | ||||
* | Update docstring with correct type | Erik Johnston | 2019-05-15 | 1 | -1/+1 |
| | | | Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | ||||
* | Expose DataStore._get_events as get_events_as_list | Erik Johnston | 2019-05-14 | 5 | -29/+53 |
| | | | | This is in preparation for reaction work which requires it. | ||||
* | Limit the number of EDUs in transactions to 100 as expected by receiver (#5138) | Quentin Dufour | 2019-05-09 | 1 | -1/+1 |
| | | | Fixes #3951. | ||||
* | Fix infinite loop in presence handler | Richard van der Hoff | 2019-04-26 | 1 | -0/+18 |
| | | | | Fixes #5102 | ||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-04-17 | 69 | -3786/+2805 |
|\ | | | | | | | babolivier/account_expiration | ||||
| * | Merge pull request #5047 from matrix-org/babolivier/account_expiration | Brendan Abolivier | 2019-04-17 | 2 | -18/+159 |
| |\ | | | | | | | Send out emails with links to extend an account's validity period | ||||
| * \ | Merge pull request #5033 from matrix-org/erikj/fix_schema_delta | Erik Johnston | 2019-04-10 | 1 | -1/+3 |
| |\ \ | | | | | | | | | Fix schema upgrade when dropping tables | ||||
| | * | | 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. | ||||
| * | | | Merge pull request #5027 from matrix-org/babolivier/account_expiration | Brendan Abolivier | 2019-04-09 | 2 | -0/+54 |
| |\ \ \ | | |/ / | |/| | | Add time-based account expiration | ||||
| * | | | Rewrite Datastore.get_server_verify_keys | Richard van der Hoff | 2019-04-09 | 1 | -28/+46 |
| | | | | | | | | | | | | | | | | Rewrite this so that it doesn't hammer the database. | ||||
| * | | | Remove unused server_tls_certificates functions (#5028) | Richard van der Hoff | 2019-04-08 | 3 | -59/+5 |
| | | | | | | | | | | | | | | | | These have been unused since #4120, and with the demise of perspectives, it is unlikely that they will ever be used again. | ||||
| * | | | drop tables listed in #1830 (#4992) | Neil Johnson | 2019-04-08 | 24 | -752/+42 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 1 | -2/+2 |
| |\ \ \ | | | | | | | | | | | Cleanups in the Keyring | ||||
| | * | | | Fix docstring on get_server_keys_json | Richard van der Hoff | 2019-04-04 | 1 | -2/+2 |
| | | | | | |||||
| * | | | | Clean up the database pagination code (#5007) | Amber Brown | 2019-04-05 | 2 | -67/+63 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rewrite & simplify * changelog * cleanup potential sql injection | ||||
| * | | | | Add functions to delete a group | Erik Johnston | 2019-04-03 | 1 | -0/+37 |
| | | | | | |||||
| * | | | | Fix grammar and document get_current_users_in_room (#4998) | Andrew Morgan | 2019-04-03 | 1 | -1/+1 |
| |/ / / | |||||
| * | | | Remove presence lists (#4989) | Neil Johnson | 2019-04-03 | 4 | -96/+20 |
| | | | | | | | | | | | | Remove presence list support as per MSC 1819 | ||||
| * | | | Merge pull request #4982 from matrix-org/erikj/msc1915 | Erik Johnston | 2019-04-03 | 2 | -0/+141 |
| |\ \ \ | | | | | | | | | | | Implement MSC1915 - 3PID unbind APIs | ||||
| | * | | | Fixup docstrings | Erik Johnston | 2019-04-02 | 2 | -5/+5 |
| | | | | | |||||
| | * | | | 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. | ||||
| | * | | | Track IS used to bind 3PIDs | Erik Johnston | 2019-04-01 | 2 | -0/+104 |
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 41 | -2455/+2130 |
| | | | | | |||||
| * | | | | Make starting pushers faster during start up | Erik Johnston | 2019-04-02 | 1 | -0/+30 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
| * | | | | Fix sync bug when accepting invites (#4956) | Richard van der Hoff | 2019-04-02 | 2 | -11/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
| * | | | | Collect room-version variations into one place (#4969) | Richard van der Hoff | 2019-04-01 | 1 | -1/+2 |
| |/ / / | | | | | | | | | | | | | 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 #4955 from matrix-org/rav/merge_state_into_events | Richard van der Hoff | 2019-03-28 | 1 | -3/+0 |
| |\ \ \ | | | | | | | | | | | Combine the CurrentStateDeltaStream into the EventStream | ||||
| | * | | | Combine the CurrentStateDeltaStream into the EventStream | Richard van der Hoff | 2019-03-27 | 1 | -3/+0 |
| | | | | | |||||
| * | | | | Run `black` on some storage modules that the stats branch touches (#4959) | Amber Brown | 2019-03-29 | 2 | -380/+335 |
| |/ / / | |||||
* | | / | Add management endpoints for account validity | Brendan Abolivier | 2019-04-17 | 1 | -12/+17 |
| |_|/ |/| | | |||||
* | | | Send out emails with links to extend an account's validity period | Brendan Abolivier | 2019-04-17 | 2 | -18/+159 |
| |/ |/| | |||||
* | | Add account expiration feature | Brendan Abolivier | 2019-04-09 | 3 | -1/+55 |
|/ | |||||
* | Use the state event amount for userdir import batching, not room count (#4944) | Amber Brown | 2019-03-27 | 1 | -8/+20 |
| | |||||
* | Fix bug where read-receipts lost their timestamps (#4927) | Richard van der Hoff | 2019-03-25 | 1 | -1/+3 |
| | | | | | Make sure that they are sent correctly over the replication stream. Fixes: #4898 | ||||
* | Refactor out state delta handling into its own class (#4917) | Amber Brown | 2019-03-25 | 2 | -64/+76 |
| | |||||
* | Fix upsert | Erik Johnston | 2019-03-21 | 1 | -0/+1 |
| | |||||
* | comment block_room | Erik Johnston | 2019-03-20 | 1 | -0/+9 |
| | |||||
* | Allow blocking a room multiple times | Erik Johnston | 2019-03-20 | 1 | -2/+4 |
| | |||||
* | Batching in the user directory import (#4900) | Amber Brown | 2019-03-21 | 1 | -0/+13 |
| | |||||
* | Fix user directory background update (#4887) | Erik Johnston | 2019-03-19 | 1 | -1/+1 |
| | |||||
* | Migrate the user directory initial population to a background task (#4864) | Amber Brown | 2019-03-19 | 3 | -96/+312 |
| | |||||
* | Merge pull request #4846 from matrix-org/hawkowl/userdir-search | Erik Johnston | 2019-03-14 | 4 | -75/+92 |
|\ | | | | | Improve searching in the userdir | ||||
| * | fixup | Amber Brown | 2019-03-13 | 1 | -1/+1 |
| | | |||||
| * | fixup | Amber Brown | 2019-03-13 | 2 | -55/+11 |
| | | |||||
| * | fixup | Amber Brown | 2019-03-12 | 1 | -1/+1 |
| | | |||||
| * | fixup | Amber Brown | 2019-03-12 | 1 | -1/+2 |
| | | |||||
| * | fixup | Amber Brown | 2019-03-12 | 2 | -113/+69 |
| | | |||||
| * | 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 |
| | | |||||
| * | fixes | Amber Brown | 2019-03-12 | 2 | -9/+56 |
| | | |||||
| * | Merge remote-tracking branch 'origin/develop' into hawkowl/userdir-search | Amber Brown | 2019-03-11 | 2 | -15/+2 |
| |\ | |||||
| * | | initial | Amber Brown | 2019-03-11 | 3 | -3/+62 |
| | | | |||||
* | | | Transfer local user's push rules on room upgrade (#4838) | Andrew Morgan | 2019-03-12 | 1 | -0/+57 |
| |/ |/| | | | Transfer push rules (notifications) on room upgrade | ||||
* | | Add comment to schema | Erik Johnston | 2019-03-08 | 1 | -0/+2 |
| | | |||||
* | | Make `prev_state` field optional | Erik Johnston | 2019-03-08 | 1 | -15/+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 branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-03-08 | 3 | -181/+156 |
|\ | | | | | | | erikj/soft_fail_impl | ||||
| * | Rewrite userdir to be faster (#4537) | Amber Brown | 2019-03-07 | 2 | -181/+137 |
| | | |||||
| * | Add docstrings from matrix-org-hotfixes | Erik Johnston | 2019-03-06 | 1 | -0/+19 |
| | | |||||
* | | Implement soft fail | Erik Johnston | 2019-03-06 | 1 | -0/+1 |
|/ | |||||
* | Merge pull request #4699 from matrix-org/erikj/stop_fed_not_in_room | Erik Johnston | 2019-03-05 | 1 | -0/+22 |
|\ | | | | | Stop backpaginating when events not visible | ||||
| * | s/get_forward_events/get_successor_events/ | Erik Johnston | 2019-03-04 | 1 | -2/+2 |
| | | |||||
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-03-04 | 4 | -43/+120 |
| |\ | | | | | | | | | | erikj/stop_fed_not_in_room | ||||
| * | | Stop backpaginating when events not visible | Erik Johnston | 2019-02-20 | 1 | -0/+22 |
| | | | |||||
* | | | Merge pull request #4796 from matrix-org/erikj/factor_out_e2e_keys | Erik Johnston | 2019-03-05 | 3 | -541/+546 |
|\ \ \ | | | | | | | | | Allow /keys/{changes,query} API to run on worker | ||||
| * | | | Fixup slave stores | Erik Johnston | 2019-03-04 | 3 | -541/+546 |
| | |/ | |/| | |||||
* / | | Add some debug about processing read receipts. | Richard van der Hoff | 2019-03-04 | 1 | -6/+20 |
|/ / | | | | | | | | | I'm hoping to establish which rooms are having lots of RRs sent for them, and how old the events are when they are sent. | ||||
* | | Move /account/3pid to client_reader | Erik Johnston | 2019-02-27 | 1 | -33/+33 |
| | | |||||
* | | Limit cache invalidation replication line length (#4748) | Erik Johnston | 2019-02-27 | 1 | -4/+11 |
| | | |||||
* | | Add database version to phonehome stats. (#4753) | Richard van der Hoff | 2019-02-27 | 3 | -0/+42 |
| | | |||||
* | | Fix state cache invalidation on workers | Erik Johnston | 2019-02-22 | 1 | -6/+34 |
|/ | |||||
* | UPSERT many functionality (#4644) | Amber Brown | 2019-02-20 | 1 | -12/+134 |
| | |||||
* | Merge pull request #4671 from matrix-org/erikj/state_cache_invalidation | Erik Johnston | 2019-02-19 | 2 | -25/+58 |
|\ | | | | | Batch cache invalidation over replication | ||||
| * | Docs | Erik Johnston | 2019-02-19 | 1 | -2/+3 |
| | | |||||
| * | Use itertools | Erik Johnston | 2019-02-19 | 1 | -2/+2 |
| | | |||||
| * | Documentation | Erik Johnston | 2019-02-19 | 1 | -4/+4 |
| | | |||||
| * | Batch cache invalidation over replication | Erik Johnston | 2019-02-18 | 2 | -25/+57 |
| | | | | | | | | | | | | | | | | | | | | Currently whenever the current state changes in a room invalidate a lot of caches, which cause *a lot* of traffic over replication. Instead, lets batch up all those invalidations and send a single poke down the replication streams. Hopefully this will reduce load on the master process by substantially reducing traffic. | ||||
* | | Split /login into client_reader | Erik Johnston | 2019-02-18 | 1 | -41/+41 |
|/ | |||||
* | Split out registration to worker | Erik Johnston | 2019-02-18 | 1 | -115/+115 |
| | | | | | | | | This allows registration to be handled by a worker, though the actual write to the database still happens on master. Note: due to the in-memory session map all registration requests must be handled by the same worker. | ||||
* | Add configurable room list publishing rules | Erik Johnston | 2019-02-14 | 1 | -0/+25 |
| | | | | | This allows specifying who and what is allowed to be published onto the public room list | ||||
* | Run `black` on user directory code (#4635) | Amber Brown | 2019-02-13 | 1 | -87/+66 |
| | |||||
* | Merge pull request #4627 from matrix-org/erikj/user_ips_analyze | Erik Johnston | 2019-02-12 | 2 | -3/+31 |
|\ | | | | | Analyze user_ips before running deduplication | ||||
| * | Fix pep8 | Erik Johnston | 2019-02-12 | 1 | -1/+1 |
| | | |||||
| * | Analyze user_ips before running deduplication | Erik Johnston | 2019-02-12 | 2 | -3/+31 |
| | | | | | | | | | | | | | | Due to the table locks taken out by the naive upsert, the table statistics may be out of date. During deduplication it is important that the correct index is used as otherwise a full table scan may be incorrectly used, which can end up thrashing the database badly. | ||||
* | | Reduce user_ips bloat during dedupe background update | Erik Johnston | 2019-02-12 | 1 | -3/+60 |
|/ | | | | | | | | | | | | The background update to remove duplicate rows naively deleted and reinserted the duplicates. For large tables with a large number of duplicates this causes a lot of bloat (with postgres), as the inserted rows are appended to the table, since deleted rows will not be overwritten until a VACUUM has happened. This should hopefully also help ensure that the query in the last batch uses the correct index, as inserting a large number of new rows without analyzing will upset the query planner. | ||||
* | Merge pull request #4580 from matrix-org/uhoreg/e2e_backup_add_updating | Erik Johnston | 2019-02-11 | 1 | -0/+21 |
|\ | | | | | add updating of backup versions | ||||
| * | add new endpoint to update backup versions | Hubert Chathi | 2019-02-06 | 1 | -0/+21 |
| | | |||||
* | | Fix 'no unique or exclusion constraint' error (#4591) | Richard van der Hoff | 2019-02-08 | 1 | -6/+21 |
| | | | | | | | | | | Add more tables to the list of tables which need a background update to complete before we can upsert into them, which fixes a race against the background updates. | ||||
* | | Filter user directory state query to a subset of state events (#4462) | Andrew Morgan | 2019-02-05 | 1 | -4/+12 |
|/ | | | | | | * Filter user directory state query to a subset of state events * Add changelog | ||||
* | Merge pull request #4530 from matrix-org/anoa/room_upgrade_federatable | Andrew Morgan | 2019-01-31 | 1 | -11/+27 |
|\ | | | | | Copy over non-federatable trait on room upgrade | ||||
| * | Raise an exception instead of returning None | Andrew Morgan | 2019-01-31 | 1 | -2/+9 |
| | | |||||
| * | New function for getting room's create event | Andrew Morgan | 2019-01-31 | 1 | -11/+20 |
| | | |||||
* | | Fix infinite loop when an event is redacted in a v3 room (#4535) | Richard van der Hoff | 2019-01-31 | 1 | -5/+32 |
|/ | |||||
* | Fix flake8 (#4519) | Amber Brown | 2019-01-30 | 3 | -86/+86 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-01-29 | 1 | -0/+23 |
|\ | | | | | | | erikj/redactions_eiah | ||||
| * | Refactor event building into EventBuilder | Erik Johnston | 2019-01-29 | 1 | -0/+23 |
| | | | | | | | | | | This is so that everything is done in one place, making it easier to change the event format based on room version | ||||
* | | Update synapse/storage/events_worker.py | Erik Johnston | 2019-01-29 | 1 | -1/+1 |
| | | |||||
* | | Check redaction state when event is pulled out of the database | Erik Johnston | 2019-01-29 | 1 | -0/+13 |
| | | |||||
* | | Fix typo | Erik Johnston | 2019-01-29 | 1 | -1/+1 |
| | | |||||
* | | Remove unused arg | Erik Johnston | 2019-01-29 | 1 | -2/+1 |
| | | |||||
* | | Update synapse/storage/events_worker.py | Richard van der Hoff | 2019-01-29 | 1 | -1/+1 |
| | | | | | | Co-Authored-By: erikjohnston <erikj@jki.re> | ||||
* | | Implement rechecking of redactions | Erik Johnston | 2019-01-29 | 1 | -1/+25 |
|/ | |||||
* | Fix typo in upserts code (#4505) | Amber Brown | 2019-01-29 | 1 | -1/+1 |
| | | | | | | * fix obvious problem :| * changelog | ||||
* | Fix UPSERTs on SQLite 3.24+ (#4477) | Amber Brown | 2019-01-28 | 3 | -12/+20 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Andrew Morgan | 2019-01-28 | 2 | -10/+9 |
|\ | | | | | | | anoa/dm_room_upgrade | ||||
| * | Merge pull request #4470 from matrix-org/erikj/require_format_version | Erik Johnston | 2019-01-25 | 1 | -6/+2 |
| |\ | | | | | | | Require event format version to parse or create events | ||||
| | * | Replace missed usages of FrozenEvent | Erik Johnston | 2019-01-25 | 1 | -6/+2 |
| | | | |||||
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-01-25 | 2 | -2/+25 |
| |\ \ | | | | | | | | | | | | | erikj/sqlite_native_upsert | ||||
| | * | | Don't require sqlite3 when using postgres (#4466) | Andrew Morgan | 2019-01-25 | 1 | -2/+1 |
| | | | | |||||
| * | | | Disable native upserts for sqlite, as they don't work | Erik Johnston | 2019-01-25 | 1 | -3/+7 |
| | |/ | |/| | |||||
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Andrew Morgan | 2019-01-25 | 12 | -64/+334 |
|\ \ \ | | |/ | |/| | | | | anoa/dm_room_upgrade | ||||
| * | | Merge pull request #4415 from matrix-org/anoa/full_search_upgraded_rooms | Andrew Morgan | 2019-01-25 | 1 | -0/+24 |
| |\ \ | | |/ | |/| | Ability to search entire room history after upgrading room | ||||
| | * | Merge branch 'anoa/full_search_upgraded_rooms' of ↵ | Andrew Morgan | 2019-01-24 | 1 | -1/+1 |
| | |\ | | | | | | | | | | | | | github.com:matrix-org/synapse into anoa/full_search_upgraded_rooms | ||||
| | | * | Apply suggestions from code review | Richard van der Hoff | 2019-01-24 | 1 | -1/+1 |
| | | | | | | | | | | | | Co-Authored-By: anoadragon453 <1342360+anoadragon453@users.noreply.github.com> | ||||
| | * | | Remove redundant create event None check | Andrew Morgan | 2019-01-24 | 1 | -3/+0 |
| | |/ | |||||
| | * | Do not return in a deferred function | Andrew Morgan | 2019-01-22 | 1 | -3/+3 |
| | | | |||||
| | * | Ensure new filter is actually created | Andrew Morgan | 2019-01-22 | 1 | -1/+0 |
| | | | |||||
| | * | Fix a bug with single-room search searching all rooms | Andrew Morgan | 2019-01-22 | 1 | -1/+28 |
| | | | | | | | | | | | | | | | * Create a new method for getting predecessor rooms * Remove formatting change | ||||
| | * | Search for messages across predecessor rooms | Andrew Morgan | 2019-01-18 | 1 | -0/+1 |
| | | | | | | | | | | | | Signed-off-by: Andrew Morgan <andrew@amorgan.xyz> | ||||
| * | | Revert "Require event format version to parse or create events" | Erik Johnston | 2019-01-25 | 1 | -2/+6 |
| | | | |||||
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-01-24 | 8 | -33/+238 |
| |\ \ | | | | | | | | | | | | | erikj/require_format_version | ||||
| | * \ | Merge pull request #4405 from matrix-org/erikj/fixup_rejecting_invites | Erik Johnston | 2019-01-24 | 1 | -4/+4 |
| | |\ \ | | | | | | | | | | | Store rejected remote invite events as outliers | ||||
| | | * | | Use term 'out of band membership' instead | Erik Johnston | 2019-01-24 | 1 | -3/+3 |
| | | | | | |||||
| | * | | | Merge pull request #4437 from matrix-org/erikj/event_format_version_v2 | Erik Johnston | 2019-01-24 | 3 | -4/+32 |
| | |\ \ \ | | | | | | | | | | | | | Add support for persisting event format versions | ||||
| | * | | | | Fix UPSERT check (#4459) | Amber Brown | 2019-01-24 | 1 | -5/+28 |
| | | | | | | |||||
| | * | | | | Use native UPSERTs where possible (#4306) | Amber Brown | 2019-01-24 | 7 | -30/+212 |
| | | | | | | |||||
| * | | | | | Replace missed usages of FrozenEvent | Erik Johnston | 2019-01-24 | 1 | -6/+2 |
| | | | | | | |||||
| * | | | | | Merge branch 'erikj/fixup_rejecting_invites' of ↵ | Erik Johnston | 2019-01-23 | 1 | -4/+4 |
| |\ \ \ \ \ | | | |_|/ / | | |/| | | | | | | | | | github.com:matrix-org/synapse into erikj/require_format_version | ||||
| | * | | | | Clarify the invite flows | Erik Johnston | 2019-01-23 | 1 | -4/+7 |
| | | | | | | |||||
| | * | | | | Store rejected remote invite events as outliers | Erik Johnston | 2019-01-23 | 1 | -4/+1 |
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently they're stored as non-outliers even though the server isn't in the room, which can be problematic in places where the code assumes it has the state for all non outlier events. In particular, there is an edge case where persisting the leave event triggers a state resolution, which requires looking up the room version from state. Since the server doesn't have the state, this causes an exception to be thrown. | ||||
| * | / / | Merge branch 'erikj/get_pdu_versions' into erikj/require_format_version | Erik Johnston | 2019-01-23 | 1 | -1/+5 |
| |\| | | | | |/ / | |/| | | |||||
| | * | | Fixup removal of duplicate `user_ips` rows (#4432) | Erik Johnston | 2019-01-23 | 1 | -1/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unnecessary ORDER BY clause * Add logging * Newsfile | ||||
| * | | | isort | Erik Johnston | 2019-01-23 | 1 | -1/+1 |
| | | | | |||||
| * | | | Add support for persisting event format versions | Erik Johnston | 2019-01-23 | 3 | -4/+32 |
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we only have the one event format version defined, but this adds the necessary infrastructure to persist and fetch the format versions alongside the events. We specify the format version rather than the room version as: 1. We don't necessarily know the room version, existing events may be either v1 or v2. 2. We'd need to be careful to prevent/handle correctly if different events in the same room reported to be of different versions, which sounds annoying. | ||||
| * | | Refactor to rewrite the SQL instead | Erik Johnston | 2019-01-22 | 1 | -13/+16 |
| | | | |||||
| * | | Don't shadow params | Erik Johnston | 2019-01-22 | 1 | -4/+3 |
| | | | |||||
| * | | Fix bug when removing duplicate rows from user_ips | Erik Johnston | 2019-01-22 | 1 | -13/+20 |
| | | | | | | | | | | | | | | | | | | | | | | | | This was caused by accidentally overwritting a `last_seen` variable in a for loop, causing the wrong value to be written to the progress table. The result of which was that we didn't scan sections of the table when searching for duplicates, and so some duplicates did not get deleted. | ||||
* | | | Fix typos | Andrew Morgan | 2019-01-22 | 1 | -1/+1 |
|/ / | |||||
* / | Fix race when persisting create event (#4404) | Erik Johnston | 2019-01-18 | 1 | -1/+12 |
|/ | | | | | | | | | * Fix race when persisting create event When persisting a chunk of DAG it is sometimes requried to do a state resolution, which requires knowledge of the room version. If this happens while we're persisting the create event then we need to use that event rather than attempting to look it up in the database. | ||||
* | Remove duplicates in the user_ips table and add an index (#4370) | Amber Brown | 2019-01-12 | 2 | -4/+160 |
| | |||||
* | Fix adding new rows instead of updating them if one of the key values is a ↵ | Amber Brown | 2019-01-09 | 1 | -1/+9 |
| | | | | NULL in upserts. (#4369) | ||||
* | Ensure synchrotrons can access is_support_user in the storage layer | Neil Johnson | 2019-01-02 | 1 | -25/+25 |
| | |||||
* | Log roomid along with Unknown room (#4297) | Will Hunt | 2018-12-24 | 1 | -1/+1 |
| | |||||
* | create support user (#4141) | Neil Johnson | 2018-12-14 | 3 | -4/+83 |
| | | | | | | Allow for the creation of a support user. A support user can access the server, join rooms, interact with other users, but does not appear in the user directory nor does it contribute to monthly active user limits. | ||||
* | Settings Fix deleting e2e room keys on xenial (#4295) | Amber Brown | 2018-12-14 | 1 | -1/+1 |
| | |||||
* | Initialise user displayname from SAML2 data (#4272) | Richard van der Hoff | 2018-12-07 | 1 | -7/+13 |
| | | | | | When we register a new user from SAML2 data, initialise their displayname correctly. | ||||
* | drop undocumented dependency on dateutil (#4266) | Richard van der Hoff | 2018-12-06 | 1 | -7/+6 |
| | | | | It turns out we were relying on dateutil being pulled in transitively by pysaml2. There's no need for that bloat. | ||||
* | Add an option to disable search for homeservers which may not be interested ↵ | Travis Ralston | 2018-12-04 | 1 | -0/+6 |
| | | | | | | in it (#4230) This is useful for homeservers not intended for users, such as bot-only homeservers or ones that only process IoT data. | ||||
* | add more detail to logging regarding "More than one row matched" error (#4234) | Ben Parsons | 2018-12-04 | 1 | -6/+6 |
| | |||||
* | Fix UnicodeDecodeError when postgres is not configured in english (#4253) | Richard van der Hoff | 2018-12-04 | 1 | -7/+8 |
| | | | | This is a bit of a half-assed effort at fixing https://github.com/matrix-org/synapse/issues/4252. Fundamentally the right answer is to drop support for Python 2. | ||||
* | Drop sent_transactions | Aaron Raimist | 2018-12-01 | 6 | -74/+3 |
| | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist> | ||||
* | Neilj/fix mau initial reserved users (#4211) | Neil Johnson | 2018-11-28 | 1 | -2/+3 |
| | | | | | | | | * fix transaction wrapping bug that caused get_user_id_by_threepid_txn to fail * towncrier * white space | ||||
* | Ignore __pycache__ directories in schema delta dir | Richard van der Hoff | 2018-11-20 | 1 | -1/+1 |
| | | | | Now that we use py3, compiled python ends up in __pycache__ rather than *.pyc. | ||||
* | Add option to track MAU stats (but not limit people) (#3830) | Travis Ralston | 2018-11-15 | 1 | -34/+40 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into ↵ | David Baker | 2018-11-09 | 8 | -65/+274 |
|\ | | | | | | | dbkr/e2e_backup_versions_are_numbers | ||||
| * | Lets convert bytes to unicode instead | Erik Johnston | 2018-11-08 | 1 | -5/+3 |
| | | |||||
| * | Fix noop checks when updating device keys | Erik Johnston | 2018-11-08 | 1 | -0/+5 |
| | | | | | | | | | | | | | | | | | | | | Clients often reupload their device keys (for some reason) so its important for the server to check for no-ops before sending out device list update notifications. The check is broken in python 3 due to the fact comparing bytes and unicode always fails, and that we write bytes to the DB but get unicode when we read. | ||||
| * | Add helpers for getting prev and auth events (#4139) | Erik Johnston | 2018-11-06 | 2 | -6/+6 |
| | | | | | | | | | | | | | | * Add helpers for getting prev and auth events This is in preparation for allowing the event format to change between room versions. | ||||
| * | Add unique indexes to a couple of tables | Richard van der Hoff | 2018-11-02 | 3 | -6/+88 |
| | | | | | | | | | | The indexes on device_lists_remote_extremeties can be unique, and they therefore should, to ensure that the db remains consistent. | ||||
| * | Remove redundant database locks for device list updates | Richard van der Hoff | 2018-11-02 | 1 | -5/+40 |
| | | | | | | | | We can rely on the application-level per-user linearizer. | ||||
| * | Merge pull request #4006 from matrix-org/erikj/purge_state_groups | Erik Johnston | 2018-10-30 | 4 | -48/+137 |
| |\ | | | | | | | Delete unreferenced state groups during purge | ||||
| | * | Move _find_unreferenced_groups | Erik Johnston | 2018-10-29 | 2 | -81/+83 |
| | | | |||||
| | * | Fix set operations thinko | Erik Johnston | 2018-10-29 | 1 | -3/+4 |
| | | | |||||
| | * | Don't make temporary list | Erik Johnston | 2018-10-29 | 1 | -3/+2 |
| | | | |||||
| | * | Make SQL a bit cleaner | Erik Johnston | 2018-10-29 | 1 | -3/+2 |
| | | | |||||
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-10-26 | 10 | -379/+635 |
| | |\ | | | | | | | | | | | | | erikj/purge_state_groups | ||||
| | * | | pep8 | Erik Johnston | 2018-10-19 | 1 | -1/+1 |
| | | | | |||||
| | * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-10-19 | 6 | -56/+461 |
| | |\ \ | | | | | | | | | | | | | | | | erikj/purge_state_groups | ||||
| | * | | | Batch process handling state groups | Erik Johnston | 2018-10-19 | 2 | -101/+92 |
| | | | | | |||||
| | * | | | Fix up comments | Erik Johnston | 2018-10-12 | 1 | -3/+3 |
| | | | | | |||||
| | * | | | Add state_group index to event_to_state_groups | Erik Johnston | 2018-10-04 | 3 | -1/+27 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This is needed to efficiently check for unreferenced state groups during purge. | ||||
| | * | | | Delete unreferened state groups during purge | Erik Johnston | 2018-10-04 | 2 | -6/+77 |
| | | | | | |||||
* | | | | | pep8 | David Baker | 2018-11-09 | 1 | -1/+2 |
| | | | | | |||||
* | | | | | add docs | David Baker | 2018-11-09 | 1 | -1/+4 |
| | | | | | |||||
* | | | | | Cast to int here too | David Baker | 2018-10-30 | 1 | -0/+5 |
| | | | | | |||||
* | | | | | Cast bacjup version to int when querying | David Baker | 2018-10-30 | 1 | -1/+6 |
| | | | | | |||||
* | | | | | Convert version back to a string | David Baker | 2018-10-30 | 1 | -0/+1 |
| | | | | | |||||
* | | | | | Try & make it work on postgres | David Baker | 2018-10-30 | 1 | -2/+2 |
| | | | | | |||||
* | | | | | Make e2e backup versions numeric in the DB | David Baker | 2018-10-29 | 2 | -1/+54 |
|/ / / / | | | | | | | | | | | | | | | | | We were doing max(version) which does not do what we wanted on a column of type TEXT. | ||||
* | | | | Deduplicate device updates sent over replication | Erik Johnston | 2018-10-29 | 1 | -1/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently send several kHz of device list updates over replication occisonally, which often causes the replications streams to lag and then get dropped. A lot of those updates will actually be duplicates, since we don't send e.g. device_ids across replication, so let's deduplicate it when we pull them out of the database. | ||||
* | | | | preserve room visibility | Richard van der Hoff | 2018-10-25 | 1 | -1/+1 |
| |_|/ |/| | | |||||
* | | | Refactor state group lookup to reduce DB hits (#4011) | Erik Johnston | 2018-10-25 | 2 | -327/+520 |
| | | | | | | | | | | | | | | | | | | | | | | | | Currently when fetching state groups from the data store we make two hits two the database: once for members and once for non-members (unless request is filtered to one or the other). This adds needless load to the datbase, so this PR refactors the lookup to make only a single database hit. | ||||
* | | | Merge pull request #4081 from matrix-org/neilj/fix_mau_init | Neil Johnson | 2018-10-25 | 2 | -23/+83 |
|\ \ \ | | | | | | | | | fix race condiftion in calling initialise_reserved_users | ||||
| * | | | add new line | Neil Johnson | 2018-10-25 | 1 | -0/+1 |
| | | | | |||||
| * | | | improve comments | Neil Johnson | 2018-10-25 | 1 | -6/+6 |
| | | | | |||||
| * | | | fix style inconsistencies | Neil Johnson | 2018-10-24 | 2 | -15/+47 |
| | | | | |||||
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/fix_mau_init | Neil Johnson | 2018-10-24 | 2 | -22/+25 |
| |\ \ \ | |||||
| * | | | | remove white space | Neil Johnson | 2018-10-23 | 1 | -2/+1 |
| | | | | | |||||
| * | | | | fix race condiftion in calling initialise_reserved_users | Neil Johnson | 2018-10-23 | 2 | -17/+45 |
| | | | | | |||||
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Neil Johnson | 2018-10-25 | 12 | -51/+423 |
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | matthew/autocreate_autojoin | ||||
| * | | | | Merge pull request #4082 from matrix-org/rav/fix_pep8 | Richard van der Hoff | 2018-10-24 | 1 | -1/+1 |
| |\ \ \ \ | | | | | | | | | | | | | Fix a number of flake8 errors | ||||
| | * | | | | Fix a number of flake8 errors | Richard van der Hoff | 2018-10-24 | 1 | -1/+1 |
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broadly three things here: * disable W504 which seems a bit whacko * remove a bunch of `as e` expressions from exception handlers that don't use them * use `r""` for strings which include backslashes Also, we don't use pep8 any more, so we can get rid of the duplicate config there. | ||||
| * | | | | Merge pull request #4040 from matrix-org/erikj/states_res_v2_rebase | Erik Johnston | 2018-10-24 | 1 | -21/+24 |
| |\ \ \ \ | | |/ / / | |/| | | | Add v2 state resolution algorithm | ||||
| | * | | | Update event_auth table for rejected events | Erik Johnston | 2018-10-16 | 1 | -15/+21 |
| | | | | | |||||
| | * | | | Add v2 state res algorithm. | Erik Johnston | 2018-10-16 | 1 | -6/+3 |
| | | | | | | | | | | | | | | | | | | | | We hook this up to the vdh test room version. | ||||
| * | | | | Make scripts/ and scripts-dev/ pass pyflakes (and the rest of the codebase ↵ | Amber Brown | 2018-10-20 | 5 | -6/+6 |
| | |_|/ | |/| | | | | | | | | | | on py3) (#4068) | ||||
| * | | | Fix incorrect truncation in get_missing_events | Richard van der Hoff | 2018-10-16 | 1 | -22/+16 |
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | It's quite important that get_missing_events returns the *latest* events in the room; however we were pulling event ids out of the database until we got *at least* 10, and then taking the *earliest* of the results. We also shouldn't really be relying on depth, and should be checking the room_id. |