Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove debug logging | Brendan Abolivier | 2020-06-12 | 1 | -2/+0 |
| | |||||
* | Test that a mark_unread action updates the right counter | Brendan Abolivier | 2020-06-12 | 1 | -5/+16 |
| | |||||
* | Fix tests | Brendan Abolivier | 2020-06-10 | 1 | -14/+18 |
| | |||||
* | Replace instances of reactor pumping with get_success. (#7619) | Andrew Morgan | 2020-06-03 | 1 | -118/+149 |
| | | | | | Calls `self.get_success` on all deferred methods instead of abusing `self.pump()`. This has the benefit of working with coroutines, as well as checking that method execution completed successfully. There are also a few small cleanups that I made in the process. | ||||
* | Optimise some references to hs.config (#7546) | Richard van der Hoff | 2020-05-22 | 2 | -58/+65 |
| | | | These are surprisingly expensive, and we only really need to do them at startup. | ||||
* | Add ability to wait for replication streams (#7542) | Erik Johnston | 2020-05-22 | 2 | -3/+3 |
| | | | | | | | The idea here is that if an instance persists an event via the replication HTTP API it can return before we receive that event over replication, which can lead to races where code assumes that persisting an event immediately updates various caches (e.g. current state of the room). Most of Synapse doesn't hit such races, so we don't do the waiting automagically, instead we do so where necessary to avoid unnecessary delays. We may decide to change our minds here if it turns out there are a lot of subtle races going on. People probably want to look at this commit by commit. | ||||
* | Merge tag 'v1.13.0rc2' into develop | Richard van der Hoff | 2020-05-14 | 1 | -1/+49 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.13.0rc2 (2020-05-14) ============================== Bugfixes -------- - Fix a long-standing bug which could cause messages not to be sent over federation, when state events with state keys matching user IDs (such as custom user statuses) were received. ([\#7376](https://github.com/matrix-org/synapse/issues/7376)) - Restore compatibility with non-compliant clients during the user interactive authentication process, fixing a problem introduced in v1.13.0rc1. ([\#7483](https://github.com/matrix-org/synapse/issues/7483)) Internal Changes ---------------- - Fix linting errors in new version of Flake8. ([\#7470](https://github.com/matrix-org/synapse/issues/7470)) | ||||
| * | Stop `get_joined_users` corruption from custom statuses (#7376) | Richard van der Hoff | 2020-05-14 | 1 | -1/+49 |
| | | | | | | | | | | | | | | | | Fix a bug where the `get_joined_users` cache could be corrupted by custom status events (or other state events with a state_key matching the user ID). The bug was introduced by #2229, but has largely gone unnoticed since then. Fixes #7099, #7373. | ||||
* | | Shuffle persist event data store functions. (#7440) | Erik Johnston | 2020-05-13 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | The aim here is to get to a stage where we have a `PersistEventStore` that holds all the write methods used during event persistence, so that we can take that class out of the `DataStore` mixin and instansiate it separately. This will allow us to instansiate it on processes other than master, while also ensuring it is only available on processes that are configured to write to events stream. This is a bit of an architectural change, where we end up with multiple classes per data store (rather than one per data store we have now). We end up having: 1. Storage classes that provide high level APIs that can talk to multiple data stores. 2. Data store modules that consist of classes that must point at the same database instance. 3. Classes in a data store that can be instantiated on processes depending on config. | ||||
* | | Allow configuration of Synapse's cache without using synctl or environment ↵ | Amber Brown | 2020-05-11 | 3 | -10/+11 |
| | | | | | | | | variables (#6391) | ||||
* | | Add room details admin endpoint (#7317) | Manuel Stahl | 2020-05-07 | 1 | -0/+11 |
| | | |||||
* | | Add MultiWriterIdGenerator. (#7281) | Erik Johnston | 2020-05-04 | 1 | -0/+184 |
|/ | | | | | | This will be used to coordinate stream IDs across multiple writers. Functions as the equivalent of both `StreamIdGenerator` and `SlavedIdTracker`. | ||||
* | Return total number of users and profile attributes in admin users endpoint ↵ | Manuel Stahl | 2020-04-28 | 1 | -0/+46 |
| | | | | | (#6881) Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de> | ||||
* | bg update to clear out duplicate outbound_device_list_pokes (#7193) | Richard van der Hoff | 2020-04-07 | 1 | -0/+52 |
| | | | | We seem to have some duplicates, which could do with being cleared out. | ||||
* | Make do_next_background_update return a bool | Richard van der Hoff | 2020-03-31 | 1 | -3/+3 |
| | | | | returning a None or an int that we don't use is confusing. | ||||
* | Make `has_completed_background_updates` async | Richard van der Hoff | 2020-03-31 | 1 | -1/+3 |
| | | | | (Almost) everywhere that uses it is happy with an awaitable. | ||||
* | Remove unused `start_background_update` | Richard van der Hoff | 2020-03-31 | 1 | -5/+9 |
| | | | | This was only used in a unit test, so let's just inline it in the test. | ||||
* | Change device list streams to have one row per ID (#7010) | Erik Johnston | 2020-03-19 | 1 | -45/+0 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add 'device_lists_outbound_pokes' as extra table. This makes sure we check all the relevant tables to get the current max stream ID. Currently not doing so isn't problematic as the max stream ID in `device_lists_outbound_pokes` is the same as in `device_lists_stream`, however that will change. * Change device lists stream to have one row per id. This will make it possible to process the streams more incrementally, avoiding having to process large chunks at once. * Change device list replication to match new semantics. Instead of sending down batches of user ID/host tuples, send down a row per entity (user ID or host). * Newsfile * Remove handling of multiple rows per ID * Fix worker handling * Comments from review | ||||
| * | Remove handling of multiple rows per ID | Erik Johnston | 2020-02-28 | 1 | -45/+0 |
| | | |||||
* | | Improve get auth chain difference algorithm. (#7095) | Erik Johnston | 2020-03-18 | 1 | -17/+140 |
| | | | | | | | | | | | | | | | | | | | | | | It was originally implemented by pulling the full auth chain of all state sets out of the database and doing set comparison. However, that can take a lot work if the state and auth chains are large. Instead, lets try and fetch the auth chains at the same time and calculate the difference on the fly, allowing us to bail early if all the auth chains converge. Assuming that the auth chains do converge more often than not, this should improve performance. Hopefully. | ||||
* | | Break down monthly active users by appservice_id (#7030) | Neil Johnson | 2020-03-06 | 1 | -0/+42 |
|/ | | | | | * Break down monthly active users by appservice_id and emit via prometheus. Co-authored-by: Brendan Abolivier <babolivier@matrix.org> | ||||
* | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) | Patrick Cloke | 2020-02-21 | 5 | -46/+42 |
| | | | | Ensure good comprehension hygiene using flake8-comprehensions. | ||||
* | Replace _event_dict_property with DictProperty | Richard van der Hoff | 2020-02-14 | 1 | -1/+1 |
| | | | | | this amounts to the same thing, but replaces `_event_dict` with `_dict`, and removes some of the function layers generated by `property`. | ||||
* | Add typing to SyncHandler (#6821) | Erik Johnston | 2020-02-03 | 1 | -1/+4 |
| | | | | Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | ||||
* | Type defintions for use in refactoring for redaction changes (#6803) | Richard van der Hoff | 2020-01-30 | 1 | -4/+11 |
| | | | | | | | | | | * Bump signedjson to 1.1 ... so that we can use the type definitions * Fix breakage caused by upgrade to signedjson 1.1 Thanks, @illicitonion... | ||||
* | Add `rooms.room_version` column (#6729) | Erik Johnston | 2020-01-27 | 2 | -2/+10 |
| | | | This is so that we don't have to rely on pulling it out from `current_state_events` table. | ||||
* | Make 'event.redacts' never raise. (#6771) | Erik Johnston | 2020-01-23 | 1 | -0/+35 |
| | | | | | | There are quite a few places that we assume that a redaction event has a corresponding `redacts` key, which is not always the case. So lets cheekily make it so that event.redacts just returns None instead. | ||||
* | Add `local_current_membership` table (#6655) | Erik Johnston | 2020-01-15 | 1 | -1/+1 |
| | | | | | | | Currently we rely on `current_state_events` to figure out what rooms a user was in and their last membership event in there. However, if the server leaves the room then the table may be cleaned up and that information is lost. So lets add a table that separately holds that information. | ||||
* | Allow admin users to create or modify users without a shared secret (#6495) | Manuel Stahl | 2020-01-09 | 1 | -0/+2 |
| | | | Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de> | ||||
* | port BackgroundUpdateTestCase to HomeserverTestCase (#6653) | Richard van der Hoff | 2020-01-07 | 1 | -35/+37 |
| | |||||
* | Remove unused get_prev_events_and_hashes_for_room | Richard van der Hoff | 2020-01-06 | 1 | -13/+6 |
| | |||||
* | rename get_prev_events_for_room to get_prev_events_and_hashes_for_room | Richard van der Hoff | 2020-01-06 | 1 | -2/+2 |
| | | | | ... to make way for a new method which just returns the event ids | ||||
* | Split state groups into a separate data store (#6296) | Erik Johnston | 2019-12-20 | 1 | -1/+1 |
| | |||||
* | Add database config class (#6513) | Erik Johnston | 2019-12-18 | 3 | -18/+34 |
| | | | | | This encapsulates config for a given database and is the way to get new connections. | ||||
* | Fix race which caused deleted devices to reappear (#6514) | Richard van der Hoff | 2019-12-10 | 1 | -20/+29 |
| | | | | Stop the `update_client_ips` background job from recreating deleted devices. | ||||
* | Fixup tests | Erik Johnston | 2019-12-06 | 4 | -11/+11 |
| | |||||
* | Change DataStores to accept 'database' param. | Erik Johnston | 2019-12-06 | 1 | -2/+3 |
| | |||||
* | Move background update handling out of store | Erik Johnston | 2019-12-05 | 4 | -25/+59 |
| | |||||
* | Move DB pool and helper functions into dedicated Database class | Erik Johnston | 2019-12-05 | 10 | -41/+43 |
| | |||||
* | Remove underscore from SQLBaseStore functions | Erik Johnston | 2019-12-04 | 6 | -24/+24 |
| | |||||
* | Implementation of MSC2314 (#6176) | Amber Brown | 2019-11-28 | 1 | -25/+1 |
| | |||||
* | add etag and count to key backup endpoints (#5858) | Hubert Chathi | 2019-11-27 | 1 | -4/+4 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-11-04 | 1 | -7/+9 |
|\ | | | | | | | erikj/split_purge_history | ||||
| * | Merge branch 'develop' into cross-signing_federation | Hubert Chathi | 2019-10-31 | 1 | -48/+102 |
| |\ | |||||
| * | | rename get_devices_by_remote to get_device_updates_by_remote | Hubert Chathi | 2019-10-30 | 1 | -6/+6 |
| | | | |||||
| * | | Merge branch 'develop' into cross-signing_federation | Hubert Chathi | 2019-10-30 | 6 | -9/+88 |
| |\ \ | |||||
| * \ \ | Merge branch 'develop' into cross-signing_federation | Hubert Chathi | 2019-10-24 | 4 | -3/+5 |
| |\ \ \ | |||||
| * | | | | fix unit test | Hubert Chathi | 2019-10-22 | 1 | -1/+3 |
| | | | | | |||||
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-10-31 | 1 | -48/+102 |
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | erikj/split_purge_history | ||||
| * | | | | Port to use state storage | Erik Johnston | 2019-10-30 | 1 | -48/+102 |
| | |_|/ | |/| | | |||||
* / | | | Split purge API into events vs state | Erik Johnston | 2019-10-30 | 1 | -7/+8 |
|/ / / | |||||
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-10-30 | 2 | -1/+76 |
|\ \ \ | | | | | | | | | | | | | erikj/split_out_persistence_store | ||||
| * | | | Make ObservableDeferred.observe() always return deferred. | Erik Johnston | 2019-10-30 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it easier to use in an async/await world. Also fixes a bug where cache descriptors would occaisonally return a raw value rather than a deferred. | ||||
| * | | | remove unneeded imports | Hubert Chathi | 2019-10-25 | 1 | -3/+1 |
| | | | | |||||
| * | | | switch to using HomeserverTestCase | Hubert Chathi | 2019-10-25 | 1 | -19/+25 |
| | | | | |||||
| * | | | remove some unnecessary lines | Hubert Chathi | 2019-10-24 | 1 | -5/+0 |
| | | | | |||||
| * | | | delete keys when deleting backups | Hubert Chathi | 2019-10-24 | 1 | -0/+76 |
| | |/ | |/| | |||||
* / | | Use new EventPersistenceStore | Erik Johnston | 2019-10-23 | 4 | -8/+12 |
|/ / | |||||
* / | Move storage classes into a main "data store". | Erik Johnston | 2019-10-21 | 4 | -3/+5 |
|/ | | | | | This is in preparation for having multiple data stores that offer different functionality, e.g. splitting out state or event storage. | ||||
* | Merge pull request #6193 from matrix-org/uhoreg/interpret_device_key_in_storage | Hubert Chathi | 2019-10-11 | 1 | -6/+6 |
|\ | | | | | make storage layer in charge of interpreting the device key data | ||||
| * | make storage layer in charge of interpreting the device key data | Hubert Chathi | 2019-10-10 | 1 | -6/+6 |
| | | |||||
* | | Fix MAU reaping where reserved users are specified. (#6168) | Neil Johnson | 2019-10-11 | 1 | -9/+49 |
| | | |||||
* | | Fix postgres unit tests | Erik Johnston | 2019-10-10 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #6146 from matrix-org/erikj/fix_destination_retry_timings | Erik Johnston | 2019-10-02 | 1 | -0/+11 |
|\ | | | | | Fix errors storing large retry intervals. | ||||
| * | Fix errors storing large retry intervals. | Erik Johnston | 2019-10-02 | 1 | -0/+11 |
| | | | | | | | | | | | | | | | | | | We have set the max retry interval to a value larger than a postgres or sqlite int can hold, which caused exceptions when updating the destinations table. To fix postgres we need to change the column to a bigint, and for sqlite we lower the max interval to 2**62 (which is still incredibly long). | ||||
* | | Fix fetching censored redactions from DB | Erik Johnston | 2019-10-02 | 1 | -0/+36 |
|/ | | | | | | Fetching a censored redactions caused an exception due to the code expecting redactions to have a `redact` key, which redacted redactions don't have. | ||||
* | Fix dummy event insertion consent bug (#6053) | Neil Johnson | 2019-09-26 | 2 | -9/+178 |
| | | | Fixes #5905 | ||||
* | Test that pruning of old user IPs works | Erik Johnston | 2019-09-24 | 1 | -0/+71 |
| | |||||
* | Test background update | Erik Johnston | 2019-09-23 | 1 | -0/+79 |
| | |||||
* | Query devices table for last seen info. | Erik Johnston | 2019-09-23 | 1 | -1/+0 |
| | | | | | | | | This is a) simpler than querying user_ips directly and b) means we can purge older entries from user_ips without losing the required info. The storage functions now no longer return the access_token, since it was unused. | ||||
* | Add 'failure_ts' column to 'destinations' table (#6016) | Richard van der Hoff | 2019-09-17 | 1 | -3/+5 |
| | | | | Track the time that a server started failing at, for general analysis purposes. | ||||
* | Merge pull request #5934 from matrix-org/erikj/censor_redactions | Erik Johnston | 2019-09-09 | 1 | -1/+76 |
|\ | | | | | Censor redactions in DB after a month | ||||
| * | Fix test | Erik Johnston | 2019-09-05 | 1 | -1/+3 |
| | | |||||
| * | Make redaction retention period configurable | Erik Johnston | 2019-09-05 | 1 | -1/+3 |
| | | |||||
| * | Censor redactions in DB after a month | Erik Johnston | 2019-08-30 | 1 | -0/+71 |
| | | |||||
* | | Servers-known-about statistic (#5981) | Amber Brown | 2019-09-07 | 1 | -37/+89 |
|/ | |||||
* | Fix registration test | Half-Shot | 2019-08-23 | 1 | -0/+1 |
| | |||||
* | Merge pull request #5788 from matrix-org/rav/metaredactions | Richard van der Hoff | 2019-08-12 | 1 | -0/+70 |
|\ | | | | | Fix handling of redactions of redactions | ||||
| * | Handle loops in redaction events | Richard van der Hoff | 2019-07-30 | 1 | -0/+70 |
| | | |||||
* | | Merge pull request #5746 from matrix-org/erikj/test_bg_update_currnet_state | Erik Johnston | 2019-07-30 | 1 | -1/+36 |
|\ \ | |/ |/| | Add unit test for current state membership bg update | ||||
| * | Add unit test for current state membership bg update | Erik Johnston | 2019-07-23 | 1 | -1/+36 |
| | | |||||
* | | Convert RedactionTestCase to modern test style (#5768) | Richard van der Hoff | 2019-07-26 | 1 | -36/+38 |
| | | |||||
* | | Replace returnValue with return (#5736) | Amber Brown | 2019-07-23 | 4 | -6/+6 |
|/ | |||||
* | Support Prometheus_client 0.4.0+ (#5636) | Amber Brown | 2019-07-18 | 1 | -3/+1 |
| | |||||
* | Implement access token expiry (#5660) | Richard van der Hoff | 2019-07-12 | 1 | -3/+5 |
| | | | | Record how long an access token is valid for, and raise a soft-logout once it expires. | ||||
* | Remove access-token support from RegistrationStore.register (#5642) | Richard van der Hoff | 2019-07-10 | 3 | -41/+17 |
| | | | | | The 'token' param is no longer used anywhere except the tests, so let's kill that off too. | ||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 11 | -72/+74 |
| | |||||
* | Run as background process and fix comments | Erik Johnston | 2019-06-19 | 1 | -1/+1 |
| | |||||
* | Add experimental option to reduce extremities. | Erik Johnston | 2019-06-18 | 1 | -0/+41 |
| | | | | | | | Adds new config option `cleanup_extremities_with_dummy_events` which periodically sends dummy events to rooms with more than 10 extremities. THIS IS REALLY EXPERIMENTAL. | ||||
* | Prometheus histograms are cumalative | Erik Johnston | 2019-06-14 | 1 | -10/+10 |
| | |||||
* | fix prometheus rendering error | Amber H. Brown | 2019-06-14 | 1 | -38/+23 |
| | |||||
* | Expose statistics on extrems to prometheus (#5384) | Amber Brown | 2019-06-13 | 2 | -79/+146 |
| | |||||
* | Prevent multiple device list updates from breaking a batch send (#5156) | Andrew Morgan | 2019-06-06 | 1 | -0/+69 |
| | | | fixes #5153 | ||||
* | Set default room version to v4. (#5379) | Neil Johnson | 2019-06-06 | 1 | -0/+6 |
| | | | | Set default room version to v4. | ||||
* | Add test | Erik Johnston | 2019-05-29 | 1 | -0/+248 |
| | |||||
* | Store key validity time in the storage layer | Richard van der Hoff | 2019-05-23 | 1 | -14/+30 |
| | | | | | | | | 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 | -14/+30 |
| | | | | | 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. | ||||
* | Expose DataStore._get_events as get_events_as_list | Erik Johnston | 2019-05-14 | 1 | -1/+1 |
| | | | | This is in preparation for reaction work which requires it. | ||||
* | Run Black on the tests again (#5170) | Amber Brown | 2019-05-10 | 9 | -80/+44 |
| | |||||
* | Add admin api for sending server_notices (#5121) | Richard van der Hoff | 2019-05-02 | 1 | -1/+4 |
| | |||||
* | Move admin api impl to its own package | Richard van der Hoff | 2019-05-01 | 1 | -2/+3 |
| | | | | It doesn't really belong under rest/client/v1 any more. | ||||
* | Rewrite Datastore.get_server_verify_keys | Richard van der Hoff | 2019-04-09 | 1 | -3/+50 |
| | | | | 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 |
| | |||||
* | Remove presence lists (#4989) | Neil Johnson | 2019-04-03 | 1 | -118/+0 |
| | | | Remove presence list support as per MSC 1819 | ||||
* | Collect room-version variations into one place (#4969) | Richard van der Hoff | 2019-04-01 | 3 | -8/+11 |
| | | | | 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. | ||||
* | Migrate the user directory initial population to a background task (#4864) | Amber Brown | 2019-03-19 | 1 | -8/+3 |
| | |||||
* | fixup | Amber Brown | 2019-03-12 | 1 | -2/+2 |
| | |||||
* | Rewrite userdir to be faster (#4537) | Amber Brown | 2019-03-07 | 1 | -2/+0 |
| | |||||
* | UPSERT many functionality (#4644) | Amber Brown | 2019-02-20 | 1 | -0/+88 |
| | |||||
* | Fix flake8 (#4519) | Amber Brown | 2019-01-30 | 4 | -10/+1 |
| | |||||
* | Fix UPSERTs on SQLite 3.24+ (#4477) | Amber Brown | 2019-01-28 | 2 | -4/+7 |
| | |||||
* | Fix tests | Erik Johnston | 2019-01-25 | 3 | -3/+8 |
| | |||||
* | Revert "Require event format version to parse or create events" | Erik Johnston | 2019-01-25 | 3 | -8/+3 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-01-24 | 1 | -0/+1 |
|\ | | | | | | | erikj/require_format_version | ||||
| * | Use native UPSERTs where possible (#4306) | Amber Brown | 2019-01-24 | 1 | -0/+1 |
| | | |||||
* | | Fix tests | Erik Johnston | 2019-01-24 | 3 | -3/+8 |
|/ | |||||
* | Fix adding new rows instead of updating them if one of the key values is a ↵ | Amber Brown | 2019-01-09 | 1 | -0/+71 |
| | | | | NULL in upserts. (#4369) | ||||
* | create support user (#4141) | Neil Johnson | 2018-12-14 | 2 | -2/+54 |
| | | | | | | 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. | ||||
* | Initialise user displayname from SAML2 data (#4272) | Richard van der Hoff | 2018-12-07 | 1 | -1/+1 |
| | | | | | When we register a new user from SAML2 data, initialise their displayname correctly. | ||||
* | Add option to track MAU stats (but not limit people) (#3830) | Travis Ralston | 2018-11-15 | 1 | -0/+25 |
| | |||||
* | Add test to assert set_e2e_device_keys correctly returns False on no-op | Erik Johnston | 2018-11-08 | 1 | -0/+15 |
| | |||||
* | Refactor state group lookup to reduce DB hits (#4011) | Erik Johnston | 2018-10-25 | 1 | -65/+110 |
| | | | | | | | | 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. | ||||
* | fix style inconsistencies | Neil Johnson | 2018-10-24 | 1 | -2/+2 |
| | |||||
* | fix race condiftion in calling initialise_reserved_users | Neil Johnson | 2018-10-23 | 1 | -2/+8 |
| | |||||
* | Add tests | Erik Johnston | 2018-10-02 | 1 | -0/+45 |
| | |||||
* | Fix userconsent on Python 3 (#3938) | Amber Brown | 2018-10-02 | 1 | -46/+2 |
| | |||||
* | docstrings and unittests for storage.state (#3958) | Richard van der Hoff | 2018-09-27 | 1 | -0/+39 |
| | | | | I spent ages trying to figure out how I was going mad... | ||||
* | Fix client IPs being broken on Python 3 (#3908) | Amber Brown | 2018-09-20 | 1 | -35/+167 |
| | |||||
* | improve naming | Neil Johnson | 2018-09-12 | 1 | -3/+3 |
| | |||||
* | expose number of real reserved users | Neil Johnson | 2018-09-12 | 1 | -0/+31 |
| | |||||
* | Port tests/ to Python 3 (#3808) | Amber Brown | 2018-09-07 | 1 | -64/+38 |
| | |||||
* | ensure guests never enter mau list | Neil Johnson | 2018-09-06 | 2 | -4/+6 |
| | |||||
* | guest users should not be part of mau total | Neil Johnson | 2018-09-05 | 1 | -2/+42 |
| | |||||
* | Fix tests on postgresql (#3740) | Amber Brown | 2018-09-04 | 7 | -138/+151 |
| | |||||
* | Port storage/ to Python 3 (#3725) | Amber Brown | 2018-08-31 | 1 | -0/+106 |
| | |||||
* | Fix up tests | Richard van der Hoff | 2018-08-28 | 1 | -2/+2 |
| | |||||
* | Implement trail users | Erik Johnston | 2018-08-23 | 1 | -0/+1 |
| | |||||
* | Merge pull request #3673 from matrix-org/erikj/refactor_state_handler | Erik Johnston | 2018-08-22 | 2 | -2/+6 |
|\ | | | | | Refactor state module to support multiple room versions | ||||
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-08-20 | 20 | -648/+543 |
| |\ | | | | | | | | | | erikj/refactor_state_handler | ||||
| * | | Fix tests | Erik Johnston | 2018-08-09 | 2 | -2/+6 |
| | | | |||||
* | | | Split the state_group_cache in two (#3726) | Matthew Hodgson | 2018-08-22 | 1 | -11/+94 |
| |/ |/| | | | | | | | | | | | | | | | Splits the state_group_cache in two. One half contains normal state events; the other contains member events. The idea is that the lazyloading common case of: "I want a subset of member events plus all of the other state" can be accomplished efficiently by splitting the cache into two, and asking for "all events" from the non-members cache, and "just these keys" from the members cache. This means we can avoid having to make DictionaryCache aware of these sort of complicated queries, whilst letting LL requests benefit from the caching. Previously we were unable to sensibly use the caching and had to pull all state from the DB irrespective of the filtering, which made things slow. Hopefully fixes https://github.com/matrix-org/synapse/issues/3720. | ||||
* | | call reap on start up and fix under reaping bug | Neil Johnson | 2018-08-16 | 1 | -0/+13 |
| | | |||||
* | | speed up /members and add at= and membership params (#3568) | Matthew Hodgson | 2018-08-15 | 1 | -1/+1 |
| | | |||||
* | | in case max_mau is less than I think | Neil Johnson | 2018-08-14 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #3670 from matrix-org/neilj/mau_sync_block | Neil Johnson | 2018-08-14 | 2 | -12/+13 |
|\ \ | | | | | | | Block ability to read via sync if mau limit exceeded | ||||
| * | | rename _user_last_seen_monthly_active | Neil Johnson | 2018-08-09 | 2 | -12/+13 |
| |/ | |||||
* | | Run tests under PostgreSQL (#3423) | Amber Brown | 2018-08-13 | 18 | -21/+31 |
| | | |||||
* | | Run black. | black | 2018-08-10 | 20 | -622/+493 |
| | | |||||
* | | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678) | Amber Brown | 2018-08-10 | 1 | -1/+1 |
|/ | |||||
* | Test fixes for Python 3 (#3647) | Amber Brown | 2018-08-09 | 2 | -2/+2 |
| | |||||
* | implement reserved users for mau limits | Neil Johnson | 2018-08-07 | 1 | -1/+58 |
| | |||||
* | wip commit - tests failing | Neil Johnson | 2018-08-03 | 2 | -13/+13 |
| | |||||
* | fix (lots of) py3 test failures | Neil Johnson | 2018-08-03 | 1 | -1/+0 |
| | |||||
* | fix py3 test failure | Neil Johnson | 2018-08-03 | 1 | -0/+1 |
| | |||||
* | fix caching and tests | Neil Johnson | 2018-08-03 | 1 | -13/+37 |
| | |||||
* | remove unused count_monthly_users | Neil Johnson | 2018-08-02 | 1 | -65/+0 |
| | |||||
* | fix test, update constructor call | Neil Johnson | 2018-08-02 | 1 | -1/+1 |
| | |||||
* | insertion into monthly_active_users | Neil Johnson | 2018-08-02 | 1 | -3/+63 |
| | |||||
* | Revert "change monthly_active_users table to be a single column" | Neil Johnson | 2018-08-02 | 1 | -3/+3 |
| | | | | This reverts commit ec716a35b219d147dee51733b55573952799a549. | ||||
* | change monthly_active_users table to be a single column | Neil Johnson | 2018-08-01 | 1 | -3/+3 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_tracker | Neil Johnson | 2018-08-01 | 1 | -0/+65 |
|\ | |||||
| * | fix isort | Neil Johnson | 2018-08-01 | 1 | -1/+0 |
| | | |||||
| * | fix known broken test | Neil Johnson | 2018-08-01 | 1 | -25/+20 |
| | | |||||
| * | coding style | Neil Johnson | 2018-07-31 | 1 | -1/+0 |
| | | |||||
| * | fix user_ips counting | Neil Johnson | 2018-07-31 | 1 | -9/+33 |
| | | |||||
| * | monthly_active_tests | Neil Johnson | 2018-07-30 | 1 | -0/+48 |
| | | |||||
* | | api into monthly_active_users table | Neil Johnson | 2018-07-31 | 1 | -0/+42 |
|/ | |||||
* | flake8 | Matthew Hodgson | 2018-07-25 | 1 | -12/+12 |
| | |||||
* | add tests for _get_some_state_from_cache | Matthew Hodgson | 2018-07-25 | 1 | -0/+150 |
| | |||||
* | incorporate more review | Matthew Hodgson | 2018-07-24 | 1 | -0/+9 |
| | |||||
* | make test work | Matthew Hodgson | 2018-07-19 | 1 | -37/+46 |
| | |||||
* | first cut of a UT for testing state store (untested) | Matthew Hodgson | 2018-07-19 | 1 | -0/+151 |
| | |||||
* | run isort | Amber Brown | 2018-07-09 | 15 | -36/+44 |
| | |||||
* | fix tests | Richard van der Hoff | 2018-05-29 | 1 | -0/+1 |
| | |||||
* | Send users a server notice about consent | Richard van der Hoff | 2018-05-22 | 1 | -3/+8 |
| | | | | | When a user first syncs, we will send them a server notice asking them to consent to the privacy policy if they have not already done so. | ||||
* | Use stream rather depth ordering for push actions | Erik Johnston | 2018-05-11 | 1 | -2/+2 |
| | | | | | | This simplifies things as it is, but will also allow us to change the way we traverse topologically without having to update the way push actions work. | ||||
* | Fix a couple of logcontext leaks in unit tests | Richard van der Hoff | 2018-05-02 | 1 | -1/+0 |
| | | | | | | ... which were making other, innocent, tests, fail. Plus remove a spurious unittest.DEBUG which was making the output noisy. | ||||
* | Merge pull request #3103 from NotAFile/py3-baseexcepton-message | Richard van der Hoff | 2018-04-20 | 1 | -6/+6 |
|\ | | | | | Use str(e) instead of e.message | ||||
| * | Use str(e) instead of e.message | Adrian Tschira | 2018-04-15 | 1 | -6/+6 |
| | | | | | | | | | | | | | | Doing this I learned e.message was pretty shortlived, added in 2.6, they realized it was a bad idea and deprecated it in 2.7 Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | Avoid creating events with huge numbers of prev_events | Richard van der Hoff | 2018-04-16 | 1 | -0/+68 |
|/ | | | | | | In most cases, we limit the number of prev_events for a given event to 10 events. This fixes a particular code path which created events with huge numbers of prev_events. | ||||
* | s/replication_client/federation_client/ | Erik Johnston | 2018-03-13 | 1 | -5/+5 |
| | |||||
* | Fix tests | Erik Johnston | 2018-03-13 | 1 | -5/+5 |
| | |||||
* | Fix comment typo | Richard van der Hoff | 2018-03-05 | 1 | -1/+1 |
| | |||||
* | Test and fix find_first_stream_ordering_after_ts | Richard van der Hoff | 2018-03-05 | 1 | -0/+67 |
| | | | | It seemed to suffer from a bunch of off-by-one errors. | ||||
* | Merge pull request #2892 from matrix-org/erikj/batch_inserts_push_actions | Erik Johnston | 2018-02-26 | 1 | -1/+1 |
|\ | | | | | Batch inserts into event_push_actions_staging | ||||
| * | Fix unit tests | Erik Johnston | 2018-02-20 | 1 | -1/+1 |
| | | |||||
* | | Fix test | Erik Johnston | 2018-02-20 | 1 | -1/+1 |
|/ | |||||
* | Fix unit test | Erik Johnston | 2018-02-15 | 1 | -4/+6 |
| | |||||
* | s/_create_new_client_event/create_new_client_event/ | Erik Johnston | 2018-02-06 | 2 | -4/+4 |
| | |||||
* | Updates tests | Erik Johnston | 2018-02-05 | 2 | -8/+6 |
| | |||||
* | Add tests for user directory search | Richard van der Hoff | 2018-01-27 | 1 | -0/+88 |
| | |||||
* | Fix tests for Store.__init__ update | Richard van der Hoff | 2017-11-13 | 5 | -11/+11 |
| | | | | Fix the test to pass the right number of args to the Store constructors | ||||
* | Fix tests for refresh_token removal | Richard van der Hoff | 2017-11-01 | 1 | -3/+3 |
| | |||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 1 | -1/+1 |
| | | | | what could possibly go wrong | ||||
* | Remove dead class | Richard van der Hoff | 2017-10-17 | 1 | -76/+0 |
| | | | | This isn't used anywhere. | ||||
* | Merge pull request #2309 from matrix-org/erikj/user_ip_repl | Erik Johnston | 2017-07-06 | 1 | -4/+1 |
|\ | | | | | Fix up user_ip replication commands | ||||
| * | Fix up | Erik Johnston | 2017-06-27 | 1 | -4/+1 |
| | | |||||
* | | Update test | Erik Johnston | 2017-07-04 | 1 | -1/+1 |
|/ | |||||
* | Fix up client ips to read from pending data | Erik Johnston | 2017-06-27 | 1 | -4/+1 |
| | |||||
* | Remove unhelpful test | Erik Johnston | 2017-06-15 | 1 | -115/+0 |
| | |||||
* | Add more granular event send metrics | Erik Johnston | 2017-05-02 | 2 | -3/+3 |
| | |||||
* | Fix up tests | Erik Johnston | 2017-03-30 | 1 | -1/+1 |
| | |||||
* | User Cursor.__iter__ instead of fetchall | Erik Johnston | 2017-03-23 | 1 | -2/+2 |
| | | | | This prevents unnecessary construction of lists | ||||
* | Fix caching of remote servers' signature keys | Richard van der Hoff | 2017-03-22 | 1 | -0/+53 |
| | | | | | | | | | The `@cached` decorator on `KeyStore._get_server_verify_key` was missing its `num_args` parameter, which meant that it was returning the wrong key for any server which had more than one recorded key. By way of a fix, change the default for `num_args` to be *all* arguments. To implement that, factor out a common base class for `CacheDescriptor` and `CacheListDescriptor`. | ||||
* | Aggregate event push actions | Erik Johnston | 2017-02-14 | 1 | -0/+86 |
| | |||||
* | Fix unit tests | Erik Johnston | 2017-01-30 | 1 | -4/+4 |
| | |||||
* | Fix unit tests | Erik Johnston | 2017-01-26 | 1 | -0/+17 |
| | |||||
* | Implement device key caching over federation | Erik Johnston | 2017-01-26 | 1 | -5/+16 |
| | |||||
* | Speed up cache size calculation | Erik Johnston | 2017-01-17 | 1 | -1/+5 |
| | | | | | | | | | | | Instead of calculating the size of the cache repeatedly, which can take a long time now that it can use a callback, instead cache the size and update that on insertion and deletion. This requires changing the cache descriptors to have two caches, one for pending deferreds and the other for the actual values. There's no reason to evict from the pending deferreds as they won't take up any more memory. | ||||
* | fix imports | Richard van der Hoff | 2016-11-30 | 1 | -3/+0 |
| | |||||
* | Rip out more refresh_token code | Richard van der Hoff | 2016-11-30 | 1 | -55/+0 |
| | | | | | | | | We might as well treat all refresh_tokens as invalid. Just return a 403 from /tokenrefresh, so that we don't have a load of dead, untestable code hanging around. Still TODO: removing the table from the schema. | ||||
* | Fix tests | Erik Johnston | 2016-11-21 | 1 | -5/+17 |
| | |||||
* | Merge pull request #1155 from matrix-org/erikj/pluggable_pwd_auth | Erik Johnston | 2016-10-12 | 1 | -3/+14 |
|\ | | | | | Implement pluggable password auth | ||||
| * | Implement pluggable password auth | Erik Johnston | 2016-10-03 | 1 | -3/+14 |
| | | | | | | | | | | | | Allows delegating the password auth to an external module. This also moves the LDAP auth to using this system, allowing it to be removed from the synapse tree entirely in the future. | ||||
* | | storage/appservice: make appservice methods only relying on the cache ↵ | Patrik Oldsberg | 2016-10-06 | 1 | -6/+3 |
|/ | | | | synchronous | ||||
* | Fix unit tests | Erik Johnston | 2016-08-26 | 1 | -41/+0 |
| | |||||
* | Ensure invalidation list does not grow unboundedly | Erik Johnston | 2016-08-19 | 1 | -0/+48 |
| | |||||
* | Rename to on_invalidate | Erik Johnston | 2016-08-19 | 1 | -2/+2 |
| | |||||
* | Make cache_context an explicit option | Erik Johnston | 2016-08-19 | 1 | -2/+2 |
| | |||||
* | Remove lru option | Erik Johnston | 2016-08-19 | 1 | -1/+1 |
| | |||||
* | Add concept of cache contexts | Erik Johnston | 2016-08-19 | 1 | -0/+66 |
| | |||||
* | PEP8 | Richard van der Hoff | 2016-08-03 | 1 | -2/+0 |
| | |||||
* | Include device name in /keys/query response | Richard van der Hoff | 2016-08-03 | 1 | -0/+92 |
| | | | | Add an 'unsigned' section which includes the device display name. | ||||
* | Create separate methods for getting messages to push | Mark Haines | 2016-07-28 | 1 | -0/+41 |
| | | | | | | | | | | | for the email and http pushers rather than trying to make a single method that will work with their conflicting requirements. The http pusher needs to get the messages in ascending stream order, and doesn't want to miss a message. The email pusher needs to get the messages in descending timestamp order, and doesn't mind if it misses messages. | ||||
* | Delete refresh tokens when deleting devices | Richard van der Hoff | 2016-07-26 | 1 | -0/+34 |
| | |||||
* | Implement updating devices | Richard van der Hoff | 2016-07-26 | 1 | -0/+36 |
| | | | | You can update the displayname of devices now. | ||||
* | PEP8 | Richard van der Hoff | 2016-07-25 | 1 | -1/+1 |
| | |||||
* | Fix background_update tests | Richard van der Hoff | 2016-07-25 | 1 | -6/+16 |
| | | | | | | A bit of a cleanup for background_updates, and make sure that the real background updates have run before we start the unit tests, so that they don't interfere with the tests. | ||||
* | Fix PEP8 errors | Richard van der Hoff | 2016-07-20 | 1 | -2/+0 |
| | |||||
* | GET /devices endpoint | Richard van der Hoff | 2016-07-20 | 2 | -0/+133 |
| | | | | | | | implement a GET /devices endpoint which lists all of the user's devices. It also returns the last IP where we saw that device, so there is some dancing to fish that out of the user_ips table. | ||||
* | Merge pull request #922 from matrix-org/erikj/file_api2 | Erik Johnston | 2016-07-20 | 2 | -6/+7 |
|\ | | | | | Feature: Add filter to /messages. Add 'contains_url' to filter. | ||||
| * | Add filter param to /messages API | Erik Johnston | 2016-07-14 | 2 | -6/+7 |
| | | |||||
* | | Add device_id support to /login | Richard van der Hoff | 2016-07-18 | 1 | -7/+14 |
|/ | | | | | | | | | | | | | Add a 'devices' table to the storage, as well as a 'device_id' column to refresh_tokens. Allow the client to pass a device_id, and initial_device_display_name, to /login. If login is successful, then register the device in the devices table if it wasn't known already. If no device_id was supplied, make one up. Associate the device_id with the access token and refresh token, so that we can get at it again later. Ensure that the device_id is copied from the refresh token to the access_token when the token is refreshed. | ||||
* | Fix AS retries, but with correct ordering | Erik Johnston | 2016-06-07 | 1 | -4/+4 |
| | |||||
* | Fix AS retries | Erik Johnston | 2016-06-07 | 1 | -3/+3 |
| | |||||
* | Remove event fetching from DB threads | Erik Johnston | 2016-06-03 | 1 | -1/+1 |
| | |||||
* | get_room_members is unused now | Mark Haines | 2016-05-16 | 1 | -18/+0 |
| | |||||
* | Remove some unused functions (#711) | Mark Haines | 2016-04-08 | 4 | -266/+4 |
| | | | | | | | | * Remove some unused functions * get_room_events_stream is only used in tests * is_exclusive_room might actually be something we want | ||||
* | Don't require config to create database | Erik Johnston | 2016-04-06 | 1 | -1/+1 |
| | |||||
* | Remove dead code left over from presence changes | Mark Haines | 2016-03-17 | 1 | -10/+0 |
| | |||||
* | Merge pull request #571 from matrix-org/daniel/asids | Daniel Wagner-Hall | 2016-03-03 | 1 | -1/+2 |
|\ | | | | | Mark AS users with their AS's ID | ||||
| * | Mark AS users with their AS's ID | Daniel Wagner-Hall | 2016-02-11 | 1 | -1/+2 |
| | | |||||
* | | Move cache size fiddling to descriptors only. Fix tests | Erik Johnston | 2016-03-01 | 1 | -5/+7 |
| | | |||||
* | | Fix flake8 warnings for tests | Mark Haines | 2016-02-19 | 10 | -85/+77 |
| | | |||||
* | | Remove old tests. | Erik Johnston | 2016-02-18 | 1 | -26/+0 |
|/ | |||||
* | Simplify get_rooms | Erik Johnston | 2016-02-03 | 1 | -26/+0 |
| | |||||
* | Fix tests | Erik Johnston | 2016-01-27 | 2 | -5/+4 |
| | |||||
* | Require ID and as_token be unique for ASs | Daniel Wagner-Hall | 2016-01-14 | 1 | -16/+85 |
| | | | | | Defaults ID to as_token if not specified. This will change when IDs are fully supported. | ||||
* | Merge pull request #456 from matrix-org/store_event_actions | David Baker | 2016-01-08 | 1 | -1/+1 |
|\ | | | | | Send unread notification counts | ||||
| * | fix tests | David Baker | 2016-01-06 | 1 | -1/+1 |
| | |