summary refs log tree commit diff
path: root/tests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Split out profile handler to fix testsErik Johnston2017-08-253-7/+5
|
* Add groups to sync streamErik Johnston2017-07-201-2/+2
|
* Merge pull request #2309 from matrix-org/erikj/user_ip_replErik Johnston2017-07-062-6/+2
|\ | | | | Fix up user_ip replication commands
| * Fix upErik Johnston2017-06-272-6/+2
| |
* | Update testErik Johnston2017-07-041-1/+1
|/
* Fix up client ips to read from pending dataErik Johnston2017-06-271-4/+1
|
* Merge pull request #2281 from matrix-org/erikj/phone_home_statsErik Johnston2017-06-151-115/+0
|\ | | | | Fix phone home stats
| * Remove unhelpful testErik Johnston2017-06-151-115/+0
| |
* | Fix typing testsErik Johnston2017-05-261-0/+2
| |
* | Only load jinja2 templates onceErik Johnston2017-05-221-0/+1
| | | | | | | | | | Instead of every time a new email pusher is created, as loading jinja2 templates is slow.
* | Make get_state_groups_from_groups faster.Erik Johnston2017-05-171-1/+1
|/ | | | | | | | | Most of the time was spent copying a dict to filter out sentinel values that indicated that keys did not exist in the dict. The sentinel values were added to ensure that we cached the non-existence of keys. By updating DictionaryCache to keep track of which keys were known to not exist itself we can remove a dictionary copy.
* Do some logging when one-time-keys get claimedRichard van der Hoff2017-05-091-0/+34
| | | | | might help us figure out if https://github.com/vector-im/riot-web/issues/3868 has happened.
* Allow clients to upload one-time-keys with new sigsRichard van der Hoff2017-05-091-0/+98
| | | | | | | When a client retries a key upload, don't give an error if the signature has changed (but the key is the same). Fixes https://github.com/vector-im/riot-android/issues/1208, hopefully.
* Add more granular event send metricsErik Johnston2017-05-022-3/+3
|
* Remove test of replication resourceErik Johnston2017-04-111-204/+0
|
* Merge pull request #2097 from matrix-org/erikj/repl_tcp_clientErik Johnston2017-04-051-8/+22
|\ | | | | Move to using TCP replication
| * Change slave storage to use new replication interfaceErik Johnston2017-04-031-8/+22
| | | | | | | | | | | | | | As the TCP replication uses a slightly different API and streams than the HTTP replication. This breaks HTTP replication.
* | Merge pull request #2075 from matrix-org/erikj/cache_speedErik Johnston2017-03-313-2/+42
|\ \ | | | | | | Speed up cached function access
| * | Fix up testsErik Johnston2017-03-303-2/+42
| | |
* | | Merge pull request #2076 from matrix-org/erikj/as_perfErik Johnston2017-03-311-1/+3
|\ \ \ | |/ / |/| | Make AS's faster
| * | Compile the regex's used in ASesErik Johnston2017-03-281-1/+3
| |/
* / Fix the logcontext handling in the cache wrappers (#2077)Richard van der Hoff2017-03-301-0/+91
|/ | | | | | | The cache wrappers had a habit of leaking the logcontext into the reactor while the lookup function was running, and then not restoring it correctly when the lookup function had completed. It's all the fault of `preserve_context_over_{fn,deferred}` which are basically a bit broken.
* Merge pull request #2054 from matrix-org/erikj/user_iter_cursorErik Johnston2017-03-241-2/+2
|\ | | | | Reduce some CPU work on DB threads
| * User Cursor.__iter__ instead of fetchallErik Johnston2017-03-231-2/+2
| | | | | | | | This prevents unnecessary construction of lists
* | Merge pull request #2050 from matrix-org/rav/federation_backoffRichard van der Hoff2017-03-233-1/+5
|\ \ | | | | | | push federation retry limiter down to matrixfederationclient
| * | fix testsRichard van der Hoff2017-03-232-1/+3
| | |
| * | push federation retry limiter down to matrixfederationclientRichard van der Hoff2017-03-231-0/+2
| | | | | | | | | | | | | | | rather than having to instrument everywhere we make a federation call, make the MatrixFederationHttpClient manage the retry limiter.
* | | Merge pull request #2052 from matrix-org/rav/time_bound_deferredRichard van der Hoff2017-03-231-0/+33
|\ \ \ | | | | | | | | Fix time_bound_deferred to throw the right exception
| * | | Fix time_bound_deferred to throw the right exceptionRichard van der Hoff2017-03-231-0/+33
| |/ / | | | | | | | | | | | | | | | Due to a failure to instantiate DeferredTimedOutError, time_bound_deferred would throw a CancelledError when the deferred timed out, which was rather confusing.
* | | use jsonschema.FormatChecker for RoomID and UserID stringspik2017-03-232-6/+13
| | | | | | | | | | | | | | | | | | * use a valid filter in rest/client/v2_alpha test Signed-off-by: pik <alexander.maznev@gmail.com>
* | | Add valid filter tests, flake8, fix typopik2017-03-231-5/+49
| | | | | | | | | | | | Signed-off-by: pik <alexander.maznev@gmail.com>
* | | check_valid_filter using JSONSchemapik2017-03-231-1/+17
| |/ |/| | | | | | | | | * add invalid filter tests Signed-off-by: pik <alexander.maznev@gmail.com>
* | Fix caching of remote servers' signature keysRichard van der Hoff2017-03-223-0/+153
|/ | | | | | | | | 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`.
* Merge pull request #2033 from matrix-org/erikj/repl_speedErik Johnston2017-03-211-1/+1
|\ | | | | Don't send the full event json over replication
| * Fix unit testErik Johnston2017-03-201-1/+1
| |
* | Stop preserve_fn leaking context into the reactorRichard van der Hoff2017-03-181-0/+61
|/ | | | | | | | Fix a bug in ``logcontext.preserve_fn`` which made it leak context into the reactor, and add a test for it. Also, get rid of ``logcontext.reset_context_after_deferred``, which tried to do the same thing but had its own, different, set of bugs.
* Modify test_user_sync so it doesn't look at last_active_ts over ↵Will Hunt2017-03-151-1/+1
| | | | last_user_sync_ts
* Aggregate event push actionsErik Johnston2017-02-141-0/+86
|
* Fix email push in pusher workerErik Johnston2017-02-022-12/+7
| | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending.
* Remote membership tests for replicationErik Johnston2017-01-311-43/+0
| | | | | This is because it now relies of the caches stream, which only works on postgres. We are trying to test with sqlite.
* Fix unit testsErik Johnston2017-01-301-4/+4
|
* Fix unit testsErik Johnston2017-01-261-0/+17
|
* Implement device key caching over federationErik Johnston2017-01-264-14/+27
|
* Add basic implementation of local device list changesErik Johnston2017-01-252-2/+5
|
* Insert delta of current_state_events to be more efficientErik Johnston2017-01-201-29/+0
|
* Derive current_state_events from state groupsErik Johnston2017-01-201-28/+17
|
* Merge pull request #1818 from matrix-org/erikj/state_auth_splitout_splitErik Johnston2017-01-182-2/+25
|\ | | | | Optimise state resolution
| * Optimise state resolutionErik Johnston2017-01-172-2/+25
| |
* | Tidy up testErik Johnston2017-01-171-12/+12
| |
* | Speed up cache size calculationErik Johnston2017-01-172-16/+20
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Add ExpiringCache testsErik Johnston2017-01-161-0/+84
| |
* | Optionally measure size of cache by sum of length of valuesErik Johnston2017-01-131-0/+25
|/
* Linearize updates to membership via PUT /state/Erik Johnston2017-01-092-3/+6
|
* Fix crash in url preview when html tag has no textMarcin Bachry2016-12-141-0/+50
| | | | Signed-off-by: Marcin Bachry <hegel666@gmail.com>
* Merge pull request #1620 from matrix-org/erikj/concurrent_room_accessErik Johnston2016-12-121-0/+70
|\ | | | | Limit the number of events that can be created on a given room concurrently
| * Add Limiter: limit concurrent access to resourceErik Johnston2016-11-101-0/+70
| |
* | Fix unit testsErik Johnston2016-12-091-0/+4
| |
* | Prevent user tokens being used as guest tokens (#1675)Richard van der Hoff2016-12-061-15/+78
| | | | | | | | | | Make sure that a user cannot pretend to be a guest by adding 'guest = True' caveats.
* | test_preview: Fix incorrect wrappingJohannes Löthberg2016-12-051-2/+2
| | | | | | | | | | | | | | The old test expected an incorrect wrapping due to the preview function not using unicode properly, so it got the wrong length. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* | Make test_preview use unicode stringsJohannes Löthberg2016-12-051-68/+68
| | | | | | | | Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* | 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.
* | Merge branch 'develop' into rav/no_more_refresh_tokensRichard van der Hoff2016-11-302-7/+5
|\ \
| * | Stop putting a time caveat on access tokensRichard van der Hoff2016-11-292-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | The 'time' caveat on the access tokens was something of a lie, since we weren't enforcing it; more pertinently its presence stops us ever adding useful time caveats. Let's move in the right direction by not lying in our caveats.
* | | Stop generating refresh tokensRichard van der Hoff2016-11-281-8/+4
|/ / | | | | | | | | | | | | Since we're not doing refresh tokens any more, we should start killing off the dead code paths. /tokenrefresh itself is a bit of a thornier subject, since there might be apps out there using it, but we can at least not generate refresh tokens on new logins.
* | Shuffle receipt handler around so that worker apps don't need to load itErik Johnston2016-11-231-1/+1
| |
* | Fix testsErik Johnston2016-11-231-0/+1
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-11-231-1/+169
|\ \ | | | | | | | | | erikj/split_out_fed_txn
| * | Review commentsKegan Dougal2016-11-221-10/+2
| | |
| * | More testsKegan Dougal2016-11-221-1/+56
| | |
| * | Add remaining testsKegan Dougal2016-11-211-4/+70
| | |
| * | Start adding some testsKegan Dougal2016-11-211-3/+37
| | |
| * | Move event_fields filtering to serialize_eventKegan Dougal2016-11-211-0/+21
| | | | | | | | | | | | Also make it an inclusive not exclusive filter, as the spec demands.
* | | Fix tests and flake8Erik Johnston2016-11-221-0/+1
| | |
* | | Fix testsErik Johnston2016-11-212-5/+19
|/ /
* / Clean transactions based on time. Add HttpTransactionCache tests.Kegan Dougal2016-11-141-0/+69
|/
* Merge pull request #1098 from matrix-org/markjh/bearer_tokenMark Haines2016-10-255-14/+29
|\ | | | | Allow clients to supply access_tokens as headers
| * Fix unit testsMark Haines2016-09-125-14/+29
| |
* | Merge pull request #1164 from pik/error-codesErik Johnston2016-10-192-41/+88
|\ \ | | | | | | Clarify Error codes for GET /filter/
| * | Refactor test_filter to use real DataStorepik2016-10-181-43/+81
| | | | | | | | | | | | * add tests for filter api errors
| * | Fix MockHttpRequest always returning M_UNKNOWN errcode in testingpik2016-10-141-1/+1
| | |
| * | Error codes for filtersAlexander Maznev2016-10-141-3/+12
| | | | | | | | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
* | | Merge pull request #1155 from matrix-org/erikj/pluggable_pwd_authErik Johnston2016-10-122-3/+15
|\ \ \ | | | | | | | | Implement pluggable password auth
| * | | Implement pluggable password authErik Johnston2016-10-032-3/+15
| |/ / | | | | | | | | | | | | | | | 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.
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-10-117-41/+29
|\ \ \ | | | | | | | | | | | | erikj/replication_noop
| * | | rest/client/v1/register: use the correct requester in createUserPatrik Oldsberg2016-10-062-24/+14
| | | | | | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * | | storage/appservice: make appservice methods only relying on the cache ↵Patrik Oldsberg2016-10-062-7/+4
| |/ / | | | | | | | | | synchronous
| * / Time out typing over federationErik Johnston2016-09-233-10/+11
| |/
* / Reduce DB hits for replicationErik Johnston2016-09-232-3/+3
|/ | | | | | | | | | | | | | Some streams will occaisonally advance their positions without actually having any new rows to send over federation. Currently this means that the token will not advance on the workers, leading to them repeatedly sending a slightly out of date token. This in turns requires the master to hit the DB to check if there are any new rows, rather than hitting the no op logic where we check if the given token matches the current token. This commit changes the API to always return an entry if the position for a stream has changed, allowing workers to advance their tokens correctly.
* Fix unit testsMark Haines2016-09-061-0/+8
|
* Correctly handle the difference between prev and current stateErik Johnston2016-08-313-32/+20
|
* Don't notify for online -> online transitions.Erik Johnston2016-08-301-0/+47
| | | | | Specifically, if currently_active remains true then we should not notify if only the last active time changes.
* Merge pull request #1049 from matrix-org/erikj/presence_users_in_roomErik Johnston2016-08-302-41/+6
|\ | | | | Use state handler instead of get_users_in_room/get_joined_hosts
| * Fix unit testsErik Johnston2016-08-262-41/+6
| |
* | Merge remote-tracking branch 'origin/develop' into markjh/direct_to_deviceMark Haines2016-08-262-51/+78
|\|
| * Fix testsErik Johnston2016-08-261-5/+46
| |
| * Replace context.current_state with context.current_state_idsErik Johnston2016-08-252-48/+34
| |
* | More 0_0 in testsMark Haines2016-08-251-2/+2
|/
* Ensure invalidation list does not grow unboundedlyErik Johnston2016-08-192-0/+88
|
* 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-192-0/+179
|
* Make AppserviceHandler stream events from databaseErik Johnston2016-08-181-3/+6
| | | | | | | | | This is for two reasons: 1. Suppresses duplicates correctly, as the notifier doesn't do any duplicate suppression. 2. Makes it easier to connect the AppserviceHandler to the replication stream.
* Make notify_interested_services fasterErik Johnston2016-08-172-68/+54
|
* Clean up _ServiceQueuerErik Johnston2016-08-171-1/+1
|
* Update unit testsErik Johnston2016-08-171-0/+2
|
* Fix up preview URL API. Add tests.Erik Johnston2016-08-161-1/+79
| | | | | | | | | This includes: - Splitting out methods of a class into stand alone functions, to make them easier to test. - Adding unit tests to split out functions, testing HTML -> preview. - Handle the fact that elements in lxml may have tail text.
* PEP8Richard van der Hoff2016-08-081-0/+1
|
* Fix login with m.login.tokenRichard van der Hoff2016-08-081-4/+49
| | | | | login with token (as used by CAS auth) was broken by 067596d, such that it always returned a 401.
* Test summarizationErik Johnston2016-08-041-0/+139
|
* 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.
* keys/query: return all users which were asked forRichard van der Hoff2016-08-031-0/+46
| | | | | | In the situation where all of a user's devices get deleted, we want to indicate this to a client, so we want to return an empty dictionary, rather than nothing at all.
* 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.
* Add `create_requester` functionRichard van der Hoff2016-07-264-26/+22
| | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout
* Delete refresh tokens when deleting devicesRichard van der Hoff2016-07-261-0/+34
|
* Implement updating devicesRichard van der Hoff2016-07-262-0/+52
| | | | You can update the displayname of devices now.
* Implement deleting devicesRichard van der Hoff2016-07-262-6/+30
|
* Merge pull request #945 from matrix-org/rav/background_reindexRichard van der Hoff2016-07-251-5/+15
|\ | | | | Create index on user_ips in the background
| * 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.
* | Slightly saner logging for unittestsRichard van der Hoff2016-07-251-4/+7
|/ | | | | | | 1. Give the handler used for logging in unit tests a formatter, so that the output is slightly more meaningful 2. Log some synapse.storage stuff, because it's useful.
* make /devices return a listRichard van der Hoff2016-07-211-4/+7
| | | | Turns out I specced this to return a list of devices rather than a dict of them
* Fix PEP8 errorsRichard van der Hoff2016-07-211-0/+1
|
* Implement GET /device/{deviceId}Richard van der Hoff2016-07-211-10/+27
|
* Fix PEP8 errorsRichard van der Hoff2016-07-202-3/+1
|
* Merge branch 'develop' into rav/get_devices_apiRichard van der Hoff2016-07-202-4/+19
|\ | | | | | | (pick up PR #938 in the hope of fixing the UTs)
| * Merge pull request #938 from matrix-org/rav/add_device_id_to_client_ipsRichard van der Hoff2016-07-201-1/+9
| |\ | | | | | | Record device_id in client_ips
| | * Record device_id in client_ipsRichard van der Hoff2016-07-201-1/+9
| | | | | | | | | | | | | | | Record the device_id when we add a client ip; it's somewhat redundant as we could get it via the access_token, but it will make querying rather easier.
| * | Register a device_id in the /v2/register flow.Richard van der Hoff2016-07-201-3/+10
| |/ | | | | | | | | | | | | | | | | | | This doesn't cover *all* of the registration flows, but it does cover the most common ones: in particular: shared_secret registration, appservice registration, and normal user/pass registration. Pull device_id from the registration parameters. Register the device in the devices table. Associate the device with the returned access and refresh tokens. Profit.
* / GET /devices endpointRichard van der Hoff2016-07-203-12/+199
|/ | | | | | | 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 #932 from matrix-org/rav/register_refactorDavid Baker2016-07-201-1/+5
|\ | | | | Further registration refactoring
| * Further registration refactoringRichard van der Hoff2016-07-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * `RegistrationHandler.appservice_register` no longer issues an access token: instead it is left for the caller to do it. (There are two of these, one in `synapse/rest/client/v1/register.py`, which now simply calls `AuthHandler.issue_access_token`, and the other in `synapse/rest/client/v2_alpha/register.py`, which is covered below). * In `synapse/rest/client/v2_alpha/register.py`, move the generation of access_tokens into `_create_registration_details`. This means that the normal flow no longer needs to call `AuthHandler.issue_access_token`; the shared-secret flow can tell `RegistrationHandler.register` not to generate a token; and the appservice flow continues to work despite the above change.
* | 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
| |
* | Merge pull request #931 from matrix-org/rav/refactor_registerDavid Baker2016-07-191-1/+2
|\ \ | | | | | | rest/client/v2_alpha/register.py: Refactor flow somewhat.
| * | rest/client/v2_alpha/register.py: Refactor flow somewhat.Richard van der Hoff2016-07-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is meant to be an *almost* non-functional change, with the exception that it fixes what looks a lot like a bug in that it only calls `auth_handler.add_threepid` and `add_pusher` once instead of three times. The idea is to move the generation of the `access_token` out of `registration_handler.register`, because `access_token`s now require a device_id, and we only want to generate a device_id once registration has been successful.
* | | Add device_id support to /loginRichard van der Hoff2016-07-182-7/+89
|/ / | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / Bug fix: expire invalid access tokensNegar Fazeli2016-07-132-3/+32
|/
* Add ReadWriteLockErik Johnston2016-07-051-0/+85
|
* Remove room name & alias testDavid Baker2016-06-241-41/+0
| | | | as get_room_name_and_alias is now gone
* Rework ldap integration with ldap3Martin Weinelt2016-06-221-0/+1
| | | | | | | | | | | | | | | | | | | Use the pure-python ldap3 library, which eliminates the need for a system dependency. Offer both a `search` and `simple_bind` mode, for more sophisticated ldap scenarios. - `search` tries to find a matching DN within the `user_base` while employing the `user_filter`, then tries the bind when a single matching DN was found. - `simple_bind` tries the bind against a specific DN by combining the localpart and `user_base` Offer support for STARTTLS on a plain connection. The configuration was changed to reflect these new possibilities. Signed-off-by: Martin Weinelt <hexa@darmstadt.ccc.de>
* Enable use_frozen_events in testsErik Johnston2016-06-171-0/+1
|
* Add function to load config without generating itMark Haines2016-06-092-3/+21
| | | | | | | | | | | | | | | | Renames ``load_config`` to ``load_or_generate_config`` Adds a method called ``load_config`` that just loads the config. The main synapse.app.homeserver will continue to use ``load_or_generate_config`` to retain backwards compat. However new worker processes can use ``load_config`` to load the config avoiding some of the cruft needed to generate the config. As the new ``load_config`` method is expected to be used by new configs it removes support for the legacy commandline overrides that ``load_or_generate_config`` supports
* Fix a bug caused by a change in auth_handler functionNegar Fazeli2016-06-081-6/+3
| | | | Fix the relevant unit test cases
* 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
|
* Change CacheMetrics to be quickerErik Johnston2016-06-031-13/+10
| | | | | | We change it so that each cache has an individual CacheMetric, instead of having one global CacheMetric. This means that when a cache tries to increment a counter it does not need to go through so many indirections.
* Store the typing users as user_id strings. (#819)Mark Haines2016-06-021-2/+2
| | | Rather than storing them as UserID objects.
* Allow external processes to mark a user as syncing. (#812)Mark Haines2016-06-021-9/+7
| | | | | | | | | | | | * Add infrastructure to the presence handler to track sync requests in external processes * Expire stale entries for dead external processes * Add an http endpoint for making users as syncing Add some docstrings and comments. * Fixes
* Split out the auth handlerDavid Baker2016-06-022-11/+6
|
* Inject fake room list handler in testsDavid Baker2016-06-011-0/+2
| | | | Otherwise it tries to start the remote public room list updating looping call which breaks.
* Move the AS handler out of the Handlers object.Mark Haines2016-05-311-3/+3
| | | | | | Access it directly from the homeserver itself. It already wasn't inheriting from BaseHandler storing it on the Handlers object was already somewhat dubious.
* Fix set profile error with Requester.Negi Fazeli2016-05-231-9/+25
| | | | | Replace flush_user with delete access token due to function removal Add a new test case for if the user is already registered
* Move typing handler out of the Handlers objectMark Haines2016-05-173-11/+3
|
* Merge branch 'develop' into markjh/member_cleanupMark Haines2016-05-171-1/+1
|\
| * Move the presence handler out of the Handlers objectMark Haines2016-05-161-1/+1
| |
* | get_room_members is unused nowMark Haines2016-05-161-18/+0
| |
* | Replaces calls to fetch_room_distributions_into with get_joined_hosts_for_roomMark Haines2016-05-162-45/+6
|/
* Merge pull request #783 from matrix-org/markjh/slave_account_dataMark Haines2016-05-131-0/+56
|\ | | | | Add a slaved datastore for account data
| * Add a slaved datastore for account dataMark Haines2016-05-131-0/+56
| |
* | Create user with expiryNegi Fazeli2016-05-134-6/+162
|/ | | | | | - Add unittests for client, api and handler Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com>
* Replicate push actionsMark Haines2016-04-211-0/+43
|
* Merge pull request #738 from matrix-org/markjh/slaved_receiptsMark Haines2016-04-193-3/+43
|\ | | | | Add a slaved receipts store
| * Add a slaved receipts storeMark Haines2016-04-193-3/+43
| |
* | Replicate get_invited_rooms_for_userMark Haines2016-04-191-0/+12
|/
* Create log context in Measure if one doesn't existErik Johnston2016-04-181-2/+2
|
* Merge pull request #677 from matrix-org/erikj/dns_cacheErik Johnston2016-04-081-2/+32
|\ | | | | Read from DNS cache if within TTL
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dns_cacheErik Johnston2016-04-077-6/+260
| |\
| * | TestsErik Johnston2016-04-061-2/+29
| | |
| * | Read from DNS cache if within TTLErik Johnston2016-03-311-1/+4
| | |
* | | 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
* | | Add tests for redactionsMark Haines2016-04-072-2/+51
| | |
* | | Merge pull request #704 from matrix-org/markh/slaveIIIMark Haines2016-04-071-1/+90
|\ \ \ | | | | | | | | Add tests for get_latest_event_ids_in_room and get_current_state
| * | | Add sensible __eq__ operators inside the tests.Mark Haines2016-04-071-1/+28
| | | | | | | | | | | | | | | | | | | | Rather than adding them globally. This limits the changes to only affect the tests.
| * | | Add tests for get_latest_event_ids_in_room and get_current_stateMark Haines2016-04-071-0/+62
| | |/ | |/|
* / | Deduplicate joinsErik Johnston2016-04-071-0/+44
|/ /
* | Test that room membership is replicatedMark Haines2016-04-061-8/+63
| |
* | Merge pull request #697 from matrix-org/markjh/slaveIMark Haines2016-04-064-0/+199
|\ \ | | | | | | Add a slaved events store class
| * | Add a slaved events store classMark Haines2016-04-064-0/+199
| | | | | | | | | | | | | | | Add a test to check that get_room_names_and_aliases does the same thing on both the master and on the slave data store.
* | | Don't require config to create databaseErik Johnston2016-04-062-4/+4
|/ /
* / Do checks for memberships before creating eventsErik Johnston2016-04-011-2/+2
|/
* Add a replication stream for state groupsMark Haines2016-03-301-3/+27
|
* Remove dead code left over from presence changesMark Haines2016-03-171-10/+0
|
* Fix testsDavid Baker2016-03-161-4/+5
|
* Add replication stream for pushersMark Haines2016-03-151-0/+1
|
* Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-111-2/+4
|
* Flake8 fixblide2016-03-101-6/+6
|
* Register endpoint returns refresh_tokenblide2016-03-101-12/+18
| | | | Guest registration still doesn't return refresh_token
* Fix testsDavid Baker2016-03-073-20/+20
|
* Fix unit testsMark Haines2016-03-041-2/+2
|
* Merge branch 'develop' into markjh/pushrule_streamMark Haines2016-03-046-25/+53
|\
| * tests/utils: added room_invite_state_types to test configPatrik Oldsberg2016-03-041-0/+1
| | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-034-13/+29
| | | | | | | | This will enable more detailed decisions
| * Merge pull request #571 from matrix-org/daniel/asidsDaniel Wagner-Hall2016-03-032-7/+16
| |\ | | | | | | Mark AS users with their AS's ID
| | * Mark AS users with their AS's IDDaniel Wagner-Hall2016-02-112-7/+16
| | |
| * | Merge pull request #612 from matrix-org/erikj/cache_sizeErik Johnston2016-03-021-5/+7
| |\ \ | | | | | | | | Add environment variable SYNAPSE_CACHE_FACTOR, default it to 0.1
| | * | Move cache size fiddling to descriptors only. Fix testsErik Johnston2016-03-011-5/+7
| | | |
* | | | Hook push rules up to the replication APIMark Haines2016-03-021-2/+4
|/ / /
* / / Add a /replication API for extracting the updates that happened onMark Haines2016-03-013-2/+196
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | synapse This is necessary for replicating the data in synapse to be visible to a separate service because presence and typing notifications aren't stored in a database so won't be visible to another process. This API can be used to either get the raw data by requesting the tables themselves or to just receive notifications for updates by following the streams meta-stream. Returns updates for each table requested a JSON array of arrays with a row for each row in the table. Each table is prefixed by a header row with the: name of the table, current stream_id position for the table, number of rows, number of columns and the names of the columns. This is followed by the rows that have been added to the server since the requester last asked. The API has a timeout and is hooked up to the notifier so that a slave can long poll for updates.
* | Check that the disable_registration config key is handled correctlyMark Haines2016-02-221-0/+21
| |
* | Add a test for TreeCache.__contains__Mark Haines2016-02-222-0/+9
| |
* | Test Filter.filter_roomsMark Haines2016-02-191-0/+18
| | | | | | | | | | Also check that the __repr__ method for FilterCollection does something sensible.
* | Fix flake8 warnings for testsMark Haines2016-02-1938-363/+358
| |
* | Don't set currently_active for remote presenceErik Johnston2016-02-191-4/+15
| |
* | Add unit testErik Johnston2016-02-181-0/+373
| |
* | Remove old tests.Erik Johnston2016-02-186-2098/+0
| |
* | Initial cutErik Johnston2016-02-171-2/+2
| |
* | Add wheeltimer implErik Johnston2016-02-171-0/+74
|/
* Merge pull request #566 from matrix-org/erikj/logcontextErik Johnston2016-02-101-9/+1
|\ | | | | Don't bother copying records on parent context
| * Fix testErik Johnston2016-02-091-9/+1
| |
* | TypoErik Johnston2016-02-091-1/+1
| |
* | Fix testErik Johnston2016-02-091-3/+4
|/
* Error if macaroon key is missing from configDaniel Wagner-Hall2016-02-053-0/+141
| | | | | | | | | | | | | Currently we store all access tokens in the DB, and fall back to that check if we can't validate the macaroon, so our fallback works here, but for guests, their macaroons don't get persisted, so we don't get to find them in the database. Each restart, we generate a new ephemeral key, so guests lose access after each server restart. I tried to fix up the config stuff to be less insane, but gave up, so instead I bolt on yet another piece of custom one-off insanity. Also, add some basic tests for config generation and loading.
* Merge pull request #556 from matrix-org/daniel/configDaniel Wagner-Hall2016-02-033-4/+4
|\ | | | | Rename config field to reflect yaml name
| * Rename config field to reflect yaml nameDaniel Wagner-Hall2016-02-033-4/+4
| |
* | Simplify get_roomsErik Johnston2016-02-031-26/+0
|/
* Fix the mock homserver used in the testsMark Haines2016-01-291-0/+1
|
* Merge pull request #536 from matrix-org/erikj/syncErik Johnston2016-01-291-8/+1
|\ | | | | Make /sync "better".
| * Allow paginating backwards from stream tokenErik Johnston2016-01-281-8/+1
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/syncErik Johnston2016-01-281-2/+14
| |\
* | \ Merge pull request #538 from matrix-org/erikj/fix_lru_cacheErik Johnston2016-01-292-0/+19
|\ \ \ | | | | | | | | Fix LruCache. Make TreeCache track its own size.
| * | | Add testsErik Johnston2016-01-292-0/+19
| | | |
* | | | Fix testErik Johnston2016-01-281-3/+4
|/ / /
* | / Merge pull request #534 from matrix-org/erikj/setupErik Johnston2016-01-283-5/+12
|\| | | |/ |/| Add a Homeserver.setup method
| * Fix testsErik Johnston2016-01-273-5/+12
| |
* | Merge pull request #535 from matrix-org/rav/paginate_from_stream_tokenRichard van der Hoff2016-01-281-2/+14
|\ \ | |/ |/| Make it possible to paginate forwards from stream tokens
| * Make it possible to paginate forwards from stream tokensRichard van der Hoff2016-01-271-2/+14
| | | | | | | | | | In order that we can fill the gap after a /sync, make it possible to paginate forwards from a stream token.
* | Remove redundated BaseHomeServerErik Johnston2016-01-265-314/+30
|/
* Fix testsErik Johnston2016-01-251-6/+4
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/syncErik Johnston2016-01-222-0/+86
|\
| * Revert all the bits changing keys of eeverything that used LRUCaches to tuplesDavid Baker2016-01-222-35/+35
| |
| * Make LRU cache not default to treecache & add options to use itDavid Baker2016-01-221-1/+2
| |
| * Test treecache directlyDavid Baker2016-01-221-0/+19
| |
| * Add tests for treecache directly and test del_multi at the LruCache level too.David Baker2016-01-221-0/+66
| |
| * Change LRUCache to be tree-based so we can delete subtrees.David Baker2016-01-212-35/+35
| |
* | Fix testsErik Johnston2016-01-221-1/+1
|/
* Cache dns lookups, and use the cache if we fail to lookup servers laterErik Johnston2016-01-201-0/+115
|
* Make unit tests workErik Johnston2016-01-182-559/+0
|
* Require unbanning before other membership changesDaniel Wagner-Hall2016-01-151-3/+3
|
* Require ID and as_token be unique for ASsDaniel Wagner-Hall2016-01-142-16/+86
| | | | | Defaults ID to as_token if not specified. This will change when IDs are fully supported.
* Delete the table objects from TransactionStoreMark Haines2016-01-132-2/+0
|
* Merge pull request #478 from matrix-org/daniel/userobjectDaniel Wagner-Hall2016-01-113-13/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a User object I'm sick of passing around more and more things as tuple items around the whole world, and needing to edit every call site every time there is more information about a user. So pass them around together as an object. This object has incredibly poorly named fields because we have a convention that `user` indicates a UserID object, and `user_id` indicates a string. I tried to clean up the whole repo to fix this, but gave up. So instead, I introduce a second convention. A user_object is a User, and a user_id_object is a UserId. I may have cried a little bit.
| * Introduce a Requester objectDaniel Wagner-Hall2016-01-113-13/+11
| | | | | | | | | | | | | | | | | | This tracks data about the entity which made the request. This is instead of passing around a tuple, which requires call-site modifications every time a new piece of optional context is passed around. I tried to introduce a User object. I gave up.
* | Merge pull request #456 from matrix-org/store_event_actionsDavid Baker2016-01-083-1/+26
|\ \ | |/ |/| Send unread notification counts
| * fix testsDavid Baker2016-01-063-1/+10
| |
| * Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-051-9/+9
| |\
| * | fix testsDavid Baker2016-01-042-2/+2
| | |