summary refs log tree commit diff
path: root/tests/storage (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rename database classes to make some sense (#8033)Erik Johnston2020-08-0512-75/+79
|
* Convert some of the data store to async. (#7976)Patrick Cloke2020-07-303-19/+29
|
* Convert storage layer to async/await. (#7963)Patrick Cloke2020-07-283-29/+49
|
* Convert a synapse.events to async/await. (#7949)Patrick Cloke2020-07-271-1/+3
|
* Convert push to async/await. (#7948)Patrick Cloke2020-07-271-2/+4
|
* Convert state resolution to async/await (#7942)Patrick Cloke2020-07-241-2/+6
|
* Convert the message handler to async/await. (#7884)Patrick Cloke2020-07-222-26/+34
|
* Add delete room admin endpoint (#7613)Dirk Klimpel2020-07-141-0/+8
| | | | | | | | | | | | | | | | | | The Delete Room admin API allows server admins to remove rooms from server and block these rooms. `DELETE /_synapse/admin/v1/rooms/<room_id>` It is a combination and improvement of "[Shutdown room](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/shutdown_room.md)" and "[Purge room](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/purge_room.md)" API. Fixes: #6425 It also fixes a bug in [synapse/storage/data_stores/main/room.py](synapse/storage/data_stores/main/room.py) in ` get_room_with_stats`. It should return `None` if the room is unknown. But it returns an `IndexError`. https://github.com/matrix-org/synapse/blob/901b1fa561e3cc661d78aa96d59802cf2078cb0d/synapse/storage/data_stores/main/room.py#L99-L105 Related to: - #5575 - https://github.com/Awesome-Technologies/synapse-admin/issues/17 Signed-off-by: Dirk Klimpel dirk@klimpel.org
* Add `HomeServer.signing_key` property (#7805)Richard van der Hoff2020-07-081-5/+2
| | | ... instead of duplicating `config.signing_key[0]` everywhere
* Back out MSC2625 implementation (#7761)Brendan Abolivier2020-07-011-29/+16
|
* Remove debug loggingBrendan Abolivier2020-06-121-2/+0
|
* Test that a mark_unread action updates the right counterBrendan Abolivier2020-06-121-5/+16
|
* Fix testsBrendan Abolivier2020-06-101-14/+18
|
* Replace instances of reactor pumping with get_success. (#7619)Andrew Morgan2020-06-031-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 Hoff2020-05-222-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 Johnston2020-05-222-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 developRichard van der Hoff2020-05-141-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 Hoff2020-05-141-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 Johnston2020-05-131-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 Brown2020-05-113-10/+11
| | | | | | | | variables (#6391)
* | Add room details admin endpoint (#7317)Manuel Stahl2020-05-071-0/+11
| |
* | Add MultiWriterIdGenerator. (#7281)Erik Johnston2020-05-041-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 Stahl2020-04-281-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 Hoff2020-04-071-0/+52
| | | | We seem to have some duplicates, which could do with being cleared out.
* Make do_next_background_update return a boolRichard van der Hoff2020-03-311-3/+3
| | | | returning a None or an int that we don't use is confusing.
* Make `has_completed_background_updates` asyncRichard van der Hoff2020-03-311-1/+3
| | | | (Almost) everywhere that uses it is happy with an awaitable.
* Remove unused `start_background_update`Richard van der Hoff2020-03-311-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 Johnston2020-03-191-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 IDErik Johnston2020-02-281-45/+0
| |
* | Improve get auth chain difference algorithm. (#7095)Erik Johnston2020-03-181-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 Johnson2020-03-061-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 Cloke2020-02-215-46/+42
| | | | Ensure good comprehension hygiene using flake8-comprehensions.
* Replace _event_dict_property with DictPropertyRichard van der Hoff2020-02-141-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 Johnston2020-02-031-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 Hoff2020-01-301-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 Johnston2020-01-272-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 Johnston2020-01-231-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 Johnston2020-01-151-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 Stahl2020-01-091-0/+2
| | | Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
* port BackgroundUpdateTestCase to HomeserverTestCase (#6653)Richard van der Hoff2020-01-071-35/+37
|
* Remove unused get_prev_events_and_hashes_for_roomRichard van der Hoff2020-01-061-13/+6
|
* rename get_prev_events_for_room to get_prev_events_and_hashes_for_roomRichard van der Hoff2020-01-061-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 Johnston2019-12-201-1/+1
|
* Add database config class (#6513)Erik Johnston2019-12-183-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 Hoff2019-12-101-20/+29
| | | | Stop the `update_client_ips` background job from recreating deleted devices.
* Fixup testsErik Johnston2019-12-064-11/+11
|
* Change DataStores to accept 'database' param.Erik Johnston2019-12-061-2/+3
|
* Move background update handling out of storeErik Johnston2019-12-054-25/+59
|
* Move DB pool and helper functions into dedicated Database classErik Johnston2019-12-0510-41/+43
|
* Remove underscore from SQLBaseStore functionsErik Johnston2019-12-046-24/+24
|
* Implementation of MSC2314 (#6176)Amber Brown2019-11-281-25/+1
|
* add etag and count to key backup endpoints (#5858)Hubert Chathi2019-11-271-4/+4
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-11-041-7/+9
|\ | | | | | | erikj/split_purge_history
| * Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-311-48/+102
| |\
| * | rename get_devices_by_remote to get_device_updates_by_remoteHubert Chathi2019-10-301-6/+6
| | |
| * | Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-306-9/+88
| |\ \
| * \ \ Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-244-3/+5
| |\ \ \
| * | | | fix unit testHubert Chathi2019-10-221-1/+3
| | | | |
* | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-311-48/+102
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | erikj/split_purge_history
| * | | | Port to use state storageErik Johnston2019-10-301-48/+102
| | |_|/ | |/| |
* / | | Split purge API into events vs stateErik Johnston2019-10-301-7/+8
|/ / /
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-302-1/+76
|\ \ \ | | | | | | | | | | | | erikj/split_out_persistence_store
| * | | Make ObservableDeferred.observe() always return deferred.Erik Johnston2019-10-301-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 importsHubert Chathi2019-10-251-3/+1
| | | |
| * | | switch to using HomeserverTestCaseHubert Chathi2019-10-251-19/+25
| | | |
| * | | remove some unnecessary linesHubert Chathi2019-10-241-5/+0
| | | |
| * | | delete keys when deleting backupsHubert Chathi2019-10-241-0/+76
| | |/ | |/|
* / | Use new EventPersistenceStoreErik Johnston2019-10-234-8/+12
|/ /
* / Move storage classes into a main "data store".Erik Johnston2019-10-214-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_storageHubert Chathi2019-10-111-6/+6
|\ | | | | make storage layer in charge of interpreting the device key data
| * make storage layer in charge of interpreting the device key dataHubert Chathi2019-10-101-6/+6
| |
* | Fix MAU reaping where reserved users are specified. (#6168)Neil Johnson2019-10-111-9/+49
| |
* | Fix postgres unit testsErik Johnston2019-10-101-1/+1
|/
* Merge pull request #6146 from matrix-org/erikj/fix_destination_retry_timingsErik Johnston2019-10-021-0/+11
|\ | | | | Fix errors storing large retry intervals.
| * Fix errors storing large retry intervals.Erik Johnston2019-10-021-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 DBErik Johnston2019-10-021-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 Johnson2019-09-262-9/+178
| | | Fixes #5905
* Test that pruning of old user IPs worksErik Johnston2019-09-241-0/+71
|
* Test background updateErik Johnston2019-09-231-0/+79
|
* Query devices table for last seen info.Erik Johnston2019-09-231-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 Hoff2019-09-171-3/+5
| | | | Track the time that a server started failing at, for general analysis purposes.
* Merge pull request #5934 from matrix-org/erikj/censor_redactionsErik Johnston2019-09-091-1/+76
|\ | | | | Censor redactions in DB after a month
| * Fix testErik Johnston2019-09-051-1/+3
| |
| * Make redaction retention period configurableErik Johnston2019-09-051-1/+3
| |
| * Censor redactions in DB after a monthErik Johnston2019-08-301-0/+71
| |
* | Servers-known-about statistic (#5981)Amber Brown2019-09-071-37/+89
|/
* Fix registration testHalf-Shot2019-08-231-0/+1
|
* Merge pull request #5788 from matrix-org/rav/metaredactionsRichard van der Hoff2019-08-121-0/+70
|\ | | | | Fix handling of redactions of redactions
| * Handle loops in redaction eventsRichard van der Hoff2019-07-301-0/+70
| |
* | Merge pull request #5746 from matrix-org/erikj/test_bg_update_currnet_stateErik Johnston2019-07-301-1/+36
|\ \ | |/ |/| Add unit test for current state membership bg update
| * Add unit test for current state membership bg updateErik Johnston2019-07-231-1/+36
| |
* | Convert RedactionTestCase to modern test style (#5768)Richard van der Hoff2019-07-261-36/+38
| |
* | Replace returnValue with return (#5736)Amber Brown2019-07-234-6/+6
|/
* Support Prometheus_client 0.4.0+ (#5636)Amber Brown2019-07-181-3/+1
|
* Implement access token expiry (#5660)Richard van der Hoff2019-07-121-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 Hoff2019-07-103-41/+17
| | | | | The 'token' param is no longer used anywhere except the tests, so let's kill that off too.
* Run Black. (#5482)Amber Brown2019-06-2011-72/+74
|
* Run as background process and fix commentsErik Johnston2019-06-191-1/+1
|
* Add experimental option to reduce extremities.Erik Johnston2019-06-181-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 cumalativeErik Johnston2019-06-141-10/+10
|
* fix prometheus rendering errorAmber H. Brown2019-06-141-38/+23
|
* Expose statistics on extrems to prometheus (#5384)Amber Brown2019-06-132-79/+146
|
* Prevent multiple device list updates from breaking a batch send (#5156)Andrew Morgan2019-06-061-0/+69
| | | fixes #5153
* Set default room version to v4. (#5379)Neil Johnson2019-06-061-0/+6
| | | | Set default room version to v4.
* Add testErik Johnston2019-05-291-0/+248
|
* Store key validity time in the storage layerRichard van der Hoff2019-05-231-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 Hoff2019-05-231-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_listErik Johnston2019-05-141-1/+1
| | | | This is in preparation for reaction work which requires it.
* Run Black on the tests again (#5170)Amber Brown2019-05-109-80/+44
|
* Add admin api for sending server_notices (#5121)Richard van der Hoff2019-05-021-1/+4
|
* Move admin api impl to its own packageRichard van der Hoff2019-05-011-2/+3
| | | | It doesn't really belong under rest/client/v1 any more.
* Rewrite Datastore.get_server_verify_keysRichard van der Hoff2019-04-091-3/+50
| | | | Rewrite this so that it doesn't hammer the database.
* Rewrite test_keys as a HomeserverTestCaseRichard van der Hoff2019-04-081-19/+15
|
* Remove presence lists (#4989)Neil Johnson2019-04-031-118/+0
| | | Remove presence list support as per MSC 1819
* Collect room-version variations into one place (#4969)Richard van der Hoff2019-04-013-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 Brown2019-03-191-8/+3
|
* fixupAmber Brown2019-03-121-2/+2
|
* Rewrite userdir to be faster (#4537)Amber Brown2019-03-071-2/+0
|
* UPSERT many functionality (#4644)Amber Brown2019-02-201-0/+88
|
* Fix flake8 (#4519)Amber Brown2019-01-304-10/+1
|
* Fix UPSERTs on SQLite 3.24+ (#4477)Amber Brown2019-01-282-4/+7
|
* Fix testsErik Johnston2019-01-253-3/+8
|
* Revert "Require event format version to parse or create events"Erik Johnston2019-01-253-8/+3
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-01-241-0/+1
|\ | | | | | | erikj/require_format_version
| * Use native UPSERTs where possible (#4306)Amber Brown2019-01-241-0/+1
| |
* | Fix testsErik Johnston2019-01-243-3/+8
|/
* Fix adding new rows instead of updating them if one of the key values is a ↵Amber Brown2019-01-091-0/+71
| | | | NULL in upserts. (#4369)
* create support user (#4141)Neil Johnson2018-12-142-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 Hoff2018-12-071-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 Ralston2018-11-151-0/+25
|
* Add test to assert set_e2e_device_keys correctly returns False on no-opErik Johnston2018-11-081-0/+15
|
* Refactor state group lookup to reduce DB hits (#4011)Erik Johnston2018-10-251-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 inconsistenciesNeil Johnson2018-10-241-2/+2
|
* fix race condiftion in calling initialise_reserved_usersNeil Johnson2018-10-231-2/+8
|
* Add testsErik Johnston2018-10-021-0/+45
|
* Fix userconsent on Python 3 (#3938)Amber Brown2018-10-021-46/+2
|
* docstrings and unittests for storage.state (#3958)Richard van der Hoff2018-09-271-0/+39
| | | | I spent ages trying to figure out how I was going mad...
* Fix client IPs being broken on Python 3 (#3908)Amber Brown2018-09-201-35/+167
|
* improve namingNeil Johnson2018-09-121-3/+3
|
* expose number of real reserved usersNeil Johnson2018-09-121-0/+31
|
* Port tests/ to Python 3 (#3808)Amber Brown2018-09-071-64/+38
|
* ensure guests never enter mau listNeil Johnson2018-09-062-4/+6
|
* guest users should not be part of mau totalNeil Johnson2018-09-051-2/+42
|
* Fix tests on postgresql (#3740)Amber Brown2018-09-047-138/+151
|
* Port storage/ to Python 3 (#3725)Amber Brown2018-08-311-0/+106
|
* Fix up testsRichard van der Hoff2018-08-281-2/+2
|
* Implement trail usersErik Johnston2018-08-231-0/+1
|
* Merge pull request #3673 from matrix-org/erikj/refactor_state_handlerErik Johnston2018-08-222-2/+6
|\ | | | | Refactor state module to support multiple room versions
| * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-2020-648/+543
| |\ | | | | | | | | | erikj/refactor_state_handler
| * | Fix testsErik Johnston2018-08-092-2/+6
| | |
* | | Split the state_group_cache in two (#3726)Matthew Hodgson2018-08-221-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 bugNeil Johnson2018-08-161-0/+13
| |
* | speed up /members and add at= and membership params (#3568)Matthew Hodgson2018-08-151-1/+1
| |
* | in case max_mau is less than I thinkNeil Johnson2018-08-141-1/+1
| |
* | Merge pull request #3670 from matrix-org/neilj/mau_sync_blockNeil Johnson2018-08-142-12/+13
|\ \ | | | | | | Block ability to read via sync if mau limit exceeded
| * | rename _user_last_seen_monthly_activeNeil Johnson2018-08-092-12/+13
| |/
* | Run tests under PostgreSQL (#3423)Amber Brown2018-08-1318-21/+31
| |
* | Run black.black2018-08-1020-622/+493
| |
* | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-101-1/+1
|/
* Test fixes for Python 3 (#3647)Amber Brown2018-08-092-2/+2
|
* implement reserved users for mau limitsNeil Johnson2018-08-071-1/+58
|
* wip commit - tests failingNeil Johnson2018-08-032-13/+13
|
* fix (lots of) py3 test failuresNeil Johnson2018-08-031-1/+0
|
* fix py3 test failureNeil Johnson2018-08-031-0/+1
|
* fix caching and testsNeil Johnson2018-08-031-13/+37
|
* remove unused count_monthly_usersNeil Johnson2018-08-021-65/+0
|
* fix test, update constructor callNeil Johnson2018-08-021-1/+1
|
* insertion into monthly_active_usersNeil Johnson2018-08-021-3/+63
|
* Revert "change monthly_active_users table to be a single column"Neil Johnson2018-08-021-3/+3
| | | | This reverts commit ec716a35b219d147dee51733b55573952799a549.
* change monthly_active_users table to be a single columnNeil Johnson2018-08-011-3/+3
|
* Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_trackerNeil Johnson2018-08-011-0/+65
|\
| * fix isortNeil Johnson2018-08-011-1/+0
| |
| * fix known broken testNeil Johnson2018-08-011-25/+20
| |
| * coding styleNeil Johnson2018-07-311-1/+0
| |
| * fix user_ips countingNeil Johnson2018-07-311-9/+33
| |
| * monthly_active_testsNeil Johnson2018-07-301-0/+48
| |
* | api into monthly_active_users tableNeil Johnson2018-07-311-0/+42
|/
* flake8Matthew Hodgson2018-07-251-12/+12
|
* add tests for _get_some_state_from_cacheMatthew Hodgson2018-07-251-0/+150
|
* incorporate more reviewMatthew Hodgson2018-07-241-0/+9
|
* make test workMatthew Hodgson2018-07-191-37/+46
|
* first cut of a UT for testing state store (untested)Matthew Hodgson2018-07-191-0/+151
|
* run isortAmber Brown2018-07-0915-36/+44
|
* fix testsRichard van der Hoff2018-05-291-0/+1
|
* Send users a server notice about consentRichard van der Hoff2018-05-221-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 actionsErik Johnston2018-05-111-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 testsRichard van der Hoff2018-05-021-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-messageRichard van der Hoff2018-04-201-6/+6
|\ | | | | Use str(e) instead of e.message
| * Use str(e) instead of e.messageAdrian Tschira2018-04-151-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_eventsRichard van der Hoff2018-04-161-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 Johnston2018-03-131-5/+5
|
* Fix testsErik Johnston2018-03-131-5/+5
|
* Fix comment typoRichard van der Hoff2018-03-051-1/+1
|
* Test and fix find_first_stream_ordering_after_tsRichard van der Hoff2018-03-051-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_actionsErik Johnston2018-02-261-1/+1
|\ | | | | Batch inserts into event_push_actions_staging
| * Fix unit testsErik Johnston2018-02-201-1/+1
| |
* | Fix testErik Johnston2018-02-201-1/+1
|/
* Fix unit testErik Johnston2018-02-151-4/+6
|
* s/_create_new_client_event/create_new_client_event/Erik Johnston2018-02-062-4/+4
|
* Updates testsErik Johnston2018-02-052-8/+6
|
* Add tests for user directory searchRichard van der Hoff2018-01-271-0/+88
|
* Fix tests for Store.__init__ updateRichard van der Hoff2017-11-135-11/+11
| | | | Fix the test to pass the right number of args to the Store constructors
* Fix tests for refresh_token removalRichard van der Hoff2017-11-011-3/+3
|
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-1/+1
| | | | what could possibly go wrong
* Remove dead classRichard van der Hoff2017-10-171-76/+0
| | | | This isn't used anywhere.
* Merge pull request #2309 from matrix-org/erikj/user_ip_replErik Johnston2017-07-061-4/+1
|\ | | | | Fix up user_ip replication commands
| * Fix upErik Johnston2017-06-271-4/+1
| |
* | Update testErik Johnston2017-07-041-1/+1
|/
* Fix up client ips to read from pending dataErik Johnston2017-06-271-4/+1
|
* Remove unhelpful testErik Johnston2017-06-151-115/+0
|
* Add more granular event send metricsErik Johnston2017-05-022-3/+3
|
* Fix up testsErik Johnston2017-03-301-1/+1
|
* User Cursor.__iter__ instead of fetchallErik Johnston2017-03-231-2/+2
| | | | This prevents unnecessary construction of lists
* Fix caching of remote servers' signature keysRichard van der Hoff2017-03-221-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 actionsErik Johnston2017-02-141-0/+86
|
* Fix unit testsErik Johnston2017-01-301-4/+4
|
* Fix unit testsErik Johnston2017-01-261-0/+17
|
* Implement device key caching over federationErik Johnston2017-01-261-5/+16
|
* Speed up cache size calculationErik Johnston2017-01-171-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 importsRichard van der Hoff2016-11-301-3/+0
|
* Rip out more refresh_token codeRichard van der Hoff2016-11-301-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 testsErik Johnston2016-11-211-5/+17
|
* Merge pull request #1155 from matrix-org/erikj/pluggable_pwd_authErik Johnston2016-10-121-3/+14
|\ | | | | Implement pluggable password auth
| * Implement pluggable password authErik Johnston2016-10-031-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 Oldsberg2016-10-061-6/+3
|/ | | | synchronous
* Fix unit testsErik Johnston2016-08-261-41/+0
|
* Ensure invalidation list does not grow unboundedlyErik Johnston2016-08-191-0/+48
|
* Rename to on_invalidateErik Johnston2016-08-191-2/+2
|
* Make cache_context an explicit optionErik Johnston2016-08-191-2/+2
|
* Remove lru optionErik Johnston2016-08-191-1/+1
|
* Add concept of cache contextsErik Johnston2016-08-191-0/+66
|
* PEP8Richard van der Hoff2016-08-031-2/+0
|
* Include device name in /keys/query responseRichard van der Hoff2016-08-031-0/+92
| | | | Add an 'unsigned' section which includes the device display name.
* Create separate methods for getting messages to pushMark Haines2016-07-281-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 devicesRichard van der Hoff2016-07-261-0/+34
|
* Implement updating devicesRichard van der Hoff2016-07-261-0/+36
| | | | You can update the displayname of devices now.
* PEP8Richard van der Hoff2016-07-251-1/+1
|
* Fix background_update testsRichard van der Hoff2016-07-251-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 errorsRichard van der Hoff2016-07-201-2/+0
|
* GET /devices endpointRichard van der Hoff2016-07-202-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_api2Erik Johnston2016-07-202-6/+7
|\ | | | | Feature: Add filter to /messages. Add 'contains_url' to filter.
| * Add filter param to /messages APIErik Johnston2016-07-142-6/+7
| |
* | Add device_id support to /loginRichard van der Hoff2016-07-181-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 orderingErik Johnston2016-06-071-4/+4
|
* Fix AS retriesErik Johnston2016-06-071-3/+3
|
* Remove event fetching from DB threadsErik Johnston2016-06-031-1/+1
|
* get_room_members is unused nowMark Haines2016-05-161-18/+0
|
* Remove some unused functions (#711)Mark Haines2016-04-084-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 databaseErik Johnston2016-04-061-1/+1
|
* Remove dead code left over from presence changesMark Haines2016-03-171-10/+0
|