summary refs log tree commit diff
path: root/tests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | |
| * | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-041-0/+60
| |\ \
| * | | Add mocks to make tests work againDavid Baker2015-12-222-0/+16
| | | |
* | | | copyrightsMatthew Hodgson2016-01-0753-53/+53
| |_|/ |/| |
* | | Allow guests to upgrade their accountsDaniel Wagner-Hall2016-01-051-9/+9
| |/ |/|
* | Add a unit test for the snapshot cacheMark Haines2015-12-231-0/+60
|/
* Merge remote-tracking branch 'origin/master' into developMark Haines2015-12-071-1/+1
|\
| * Fix mock import in tests.Oleg Girko2015-12-061-1/+1
| | | | | | | | | | | | | | | | For some reason, one test imports Mock class from mock.mock rather than from mock. This change fixes this error. Signed-off-by: Oleg Girko <ol@infoserver.lv>
* | Host /unstable and /r0 versions of r0 APIsDaniel Wagner-Hall2015-12-011-2/+3
| |
* | rename the method in the tests as wellMark Haines2015-12-011-3/+3
|/
* Update testsErik Johnston2015-11-173-0/+17
|
* Return non-room events from guest /events callsDaniel Wagner-Hall2015-11-121-0/+3
|
* Fix an issue with ignoring power_level changes on divergent graphsRichard van der Hoff2015-11-121-0/+93
| | | | | | | | Changes to m.room.power_levels events are supposed to be handled at a high priority; however a typo meant that the relevant bit of code was never executed, so they were handled just like any other state change - which meant that a bad person could cause room state changes by forking the graph from a point in history when they were allowed to do so.
* Merge pull request #359 from matrix-org/markjh/incremental_indexingErik Johnston2015-11-112-0/+79
|\ | | | | Incremental background updates for db indexes
| * Test for background updatesMark Haines2015-11-102-0/+79
| |
* | Return world_readable and guest_can_join in /publicRoomsDaniel Wagner-Hall2015-11-101-0/+2
| |
* | Add a couple of unit tests for room/<x>/messagesRichard van der Hoff2015-11-091-0/+56
|/ | | | ... merely because I was trying to figure out how it worked, and couldn't.
* Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-054-26/+89
| | | | Squash-merge of PR #345 from daniel/anonymousevents
* Merge branch 'develop' of github.com:matrix-org/synapse into developDaniel Wagner-Hall2015-11-044-117/+1
|\
| * Merge branch 'develop' into daniel/removesomeliesMark Haines2015-11-042-110/+2
| |\ | | | | | | | | | | | | Conflicts: synapse/notifier.py
| | * Remove the LockManager class because it wasn't being usedMark Haines2015-11-041-108/+0
| | |
| * | Remove more unused parametersDaniel Wagner-Hall2015-11-023-9/+1
| | |
* | | Allow guests to register and call /events?room_id=Daniel Wagner-Hall2015-11-046-18/+48
| |/ |/| | | | | | | | | | | This follows the same flows-based flow as regular registration, but as the only implemented flow has no requirements, it auto-succeeds. In the future, other flows (e.g. captcha) may be required, so clients should treat this like the regular registration flow choices.
* | Merge branch 'develop' into markjh/room_tagsMark Haines2015-11-021-2/+7
|\|
| * Fix a 500 error resulting from empty room_idsRichard van der Hoff2015-10-261-2/+7
| | | | | | | | | | POST /_matrix/client/api/v1/rooms//send/a.b.c gave a 500 error, because we assumed that rooms always had at least one character.
* | Support clients supplying older tokens, fix short poll testMark Haines2015-10-301-2/+2
|/
* Merge pull request #319 from matrix-org/erikj/filter_refactorErik Johnston2015-10-221-26/+31
|\ | | | | Refactor api.filtering to have a Filter API
| * Refactor api.filtering to have a Filter APIErik Johnston2015-10-201-26/+31
| |
* | Merge pull request #314 from matrix-org/paul/event-redactionMark Haines2015-10-222-0/+115
|\ \ | |/ |/| Add some unit tests of prune_events()
| * Add some unit tests of prune_events()Paul "LeoNerd" Evans2015-10-162-0/+115
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into developDaniel Wagner-Hall2015-10-202-0/+129
|\ \
| * | Invoke EventBuilder directly instead of going via the EventBuilderFactoryPaul "LeoNerd" Evans2015-10-191-35/+3
| | |
| * | Capture __init__.pyPaul "LeoNerd" Evans2015-10-191-0/+15
| | |
| * | Use assertIn() instead of assertTrue on the 'in' operatorPaul "LeoNerd" Evans2015-10-191-6/+6
| | |
| * | Another signing test vector using an 'm.room.message' with content, so that ↵Paul "LeoNerd" Evans2015-10-191-1/+49
| | | | | | | | | | | | the implementation will have to redact it
| * | Initial minimial hack at a test of event hashing and signingPaul "LeoNerd" Evans2015-10-191-0/+98
| |/
* / Allow rejecting invitesDaniel Wagner-Hall2015-10-201-2/+2
|/ | | | | This is done by using the same /leave flow as you would use if you had already accepted the invite and wanted to leave.
* update filtering testsMark Haines2015-10-131-6/+6
|
* rename schema_prepare to prepare_databaseErik Johnston2015-10-131-1/+1
|
* Expose error more nicelyErik Johnston2015-10-131-1/+1
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/unfederatableErik Johnston2015-10-0211-98/+391
|\
| * synapse/storage/_base.py:_simple_selectupdate_one was unusedMark Haines2015-09-231-20/+0
| |
| * Move NullSource out of synapse and into tests since it is only used by the testsMark Haines2015-09-221-1/+17
| |
| * Implement configurable stats reportingDaniel Wagner-Hall2015-09-224-54/+213
| | | | | | | | | | | | | | | | | | | | SYN-287 This requires that HS owners either opt in or out of stats reporting. When --generate-config is passed, --report-stats must be specified If an already-generated config is used, and doesn't have the report_stats key, it is requested to be set.
| * Merge pull request #276 from ↵Mark Haines2015-09-211-7/+7
| |\ | | | | | | | | | | | | matrix-org/markjh/history_for_rooms_that_have_been_left SPEC-216: Allow users to view the history of rooms that they have left.
| | * Allow users to GET individual state events for rooms that they have leftMark Haines2015-09-101-5/+5
| | |
| | * Allow users that have left the room to view the member list from the point ↵Mark Haines2015-09-091-2/+2
| | | | | | | | | | | | they left
| * | Merge pull request #256 from matrix-org/authDaniel Wagner-Hall2015-09-146-16/+154
| |\ \ | | | | | | | | Attempt to validate macaroons
| | * | s/user_id/user/g for consistencyDaniel Wagner-Hall2015-09-015-15/+15
| | | |
| | * | Turn TODO into thing which actually will failDaniel Wagner-Hall2015-08-261-6/+9
| | | |
| | * | Attempt to validate macaroonsDaniel Wagner-Hall2015-08-266-27/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A couple of weird caveats: * If we can't validate your macaroon, we fall back to checking that your access token is in the DB, and ignoring the failure * Even if we can validate your macaroon, we still have to hit the DB to get the access token ID, which we pretend is a device ID all over the codebase. This mostly adds the interesting code, and points out the two pieces we need to delete (and necessary conditions) in order to fix the above caveats.
* | | | Merge branch 'erikj/check_room_exists' into erikj/unfederatableErik Johnston2015-09-011-8/+29
|\| | |
| * | | Fix testsErik Johnston2015-09-011-8/+29
| | |/ | |/|
* / | Check against sender rather than event_idErik Johnston2015-09-011-1/+1
|/ /
* / Swap out bcrypt for md5 in testsDaniel Wagner-Hall2015-08-261-0/+13
|/ | | | This reduces our ~8 second sequential test time down to ~7 seconds
* Stop looking up "admin", which we never readDaniel Wagner-Hall2015-08-257-18/+2
|
* Remove completely unused concepts from codebaseDaniel Wagner-Hall2015-08-257-20/+4
| | | | | | | | | | Removes device_id and ClientInfo device_id is never actually written, and the matrix.org DB has no non-null entries for it. Right now, it's just cluttering up code. This doesn't remove the columns from the database, because that's fiddly.
* Merge branch 'develop' into refreshDaniel Wagner-Hall2015-08-201-1/+2
|\ | | | | | | | | Conflicts: synapse/rest/client/v1/login.py
| * Merge pull request #211 from matrix-org/email_in_useMark Haines2015-08-201-1/+2
| |\ | | | | | | Changes for unique emails
| | * Fix testsDavid Baker2015-08-041-1/+2
| | |
* | | /tokenrefresh POST endpointDaniel Wagner-Hall2015-08-201-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | This allows refresh tokens to be exchanged for (access_token, refresh_token). It also starts issuing them on login, though no clients currently interpret them.
* | | s/by_token/by_access_token/gDaniel Wagner-Hall2015-08-208-34/+34
| | | | | | | | | | | | We're about to have two kinds of token, access and refresh
* | | Move token generation to auth handlerDaniel Wagner-Hall2015-08-201-7/+7
| | | | | | | | | | | | | | | I prefer the auth handler to worry about all auth, and register to call into it as needed, than to smatter auth logic between the two.
* | | Re-add whitespace around caveat operatorsDaniel Wagner-Hall2015-08-191-4/+4
| | |
* | | Remove padding space around caveat operatorsDaniel Wagner-Hall2015-08-181-4/+4
| | |
* | | Fix units in testDaniel Wagner-Hall2015-08-181-1/+1
| | | | | | | | | | | | I made the non-test seconds instead of ms, but not the test
* | | Fix some formatting to use tuplesDaniel Wagner-Hall2015-08-181-1/+1
| | |
* | | Merge branch 'develop' into authDaniel Wagner-Hall2015-08-184-5/+104
|\| |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2015-08-121-2/+2
| |\ \ | | | | | | | | | | | | erikj/dictionary_cache
| | * | Remove call to recently removed function in mockDaniel Wagner-Hall2015-08-111-2/+2
| | | |
| * | | Move all the caches into their own package, synapse.util.cachesErik Johnston2015-08-113-5/+3
| | | |
| * | | Change Cache to not use *args in its interfaceErik Johnston2015-08-071-6/+6
| | | |
| * | | Merge branch 'erikj/cache_deferreds' into erikj/dictionary_cacheErik Johnston2015-08-061-4/+7
| |\ \ \
| * | | | Use dictionary cache to do group -> state fetchingErik Johnston2015-08-051-1/+1
| | | | |
| * | | | Move DictionaryCacheErik Johnston2015-08-041-1/+1
| | | | |
| * | | | Add basic dictionary cacheErik Johnston2015-08-041-0/+101
| | |_|/ | |/| |
* | | | Issue macaroons as opaque auth tokensDaniel Wagner-Hall2015-08-182-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This just replaces random bytes with macaroons. The macaroons are not inspected by the client or server. In particular, they claim to have an expiry time, but nothing verifies that they have not expired. Follow-up commits will actually enforce the expiration, and allow for token refresh. See https://bit.ly/matrix-auth for more information
* | | | Remove call to recently removed function in mockDaniel Wagner-Hall2015-08-111-2/+2
| |_|/ |/| |
* | | Change Cache to not use *args in its interfaceErik Johnston2015-08-071-6/+6
| |/ |/|
* | Merge branch 'erikj/cached_keyword_args' into erikj/cache_deferredsErik Johnston2015-08-061-0/+134
|\|
| * Use the same reg paths as register v1 for ASes.Kegan Dougal2015-07-291-1/+3
| | | | | | | | Namely this means using registration_handler.appservice_register.
| * Fix v2_alpha registration. Add unit tests.Kegan Dougal2015-07-281-0/+132
| | | | | | | | | | | | | | | | V2 Registration forced everyone (including ASes) to create a password for a user, when ASes should be able to omit passwords. Also unbreak AS registration in general which checked too early if the given username was claimed by an AS; it was checked before knowing if the AS was the one doing the registration! Add unit tests for AS reg, user reg and disabled_registration flag.
* | Make @cached cache deferreds rather than the deferreds' valuesErik Johnston2015-08-061-4/+7
|/
* Fix test.Erik Johnston2015-07-071-1/+11
|
* Consolidate duplicate code in notifierErik Johnston2015-07-021-10/+10
|
* Add receipts_key to StreamTokenErik Johnston2015-07-021-2/+2
|
* Fix bug where synapse was sending AS user queries incorrectly.Kegan Dougal2015-06-171-0/+43
| | | | | | Bug introduced in 92b20713d7c6346aeb20dc09963081e472752bb5 which reversed the comparison when checking if a user existed in the users table. Added UTs to prevent this happening again.
* Fix testsErik Johnston2015-06-121-0/+2
|
* Merge pull request #180 from matrix-org/erikj/prev_state_contextErik Johnston2015-06-031-0/+2
|\ | | | | Don't needlessly compute prev_state
| * Don't needlessly compute prev_stateErik Johnston2015-06-031-0/+2
| |
* | Merge pull request #179 from matrix-org/erikj/state_group_outliersErik Johnston2015-06-031-2/+2
|\ \ | | | | | | Don't compute EventContext for outliers.
| * | Don't needlessly compute contextErik Johnston2015-06-031-2/+2
| |/
* / Caches should be bound to instances.Erik Johnston2015-06-032-36/+50
|/ | | | | Before, caches were global and so different instances of the stores would share caches. This caused problems in the unit tests.
* Fix the presence testsMark Haines2015-05-223-17/+23
|
* Merge pull request #157 from matrix-org/markjh/presence_performanceMark Haines2015-05-222-10/+6
|\ | | | | Improve presence performance in loadtest
| * Fix the presence testsMark Haines2015-05-202-10/+6
| |
* | Make the appservice use 'users_in_room' rather than get_room_members since ↵Mark Haines2015-05-221-12/+3
| | | | | | | | it is cached
* | Oops, get_rooms_for_user returns a namedtuple, not a room_idMark Haines2015-05-211-1/+6
| |
* | Merge pull request #155 from matrix-org/erikj/perfErik Johnston2015-05-211-1/+2
|\ \ | |/ |/| Bulk and batch retrieval of events.
| * Merge branch 'erikj/events_move' of github.com:matrix-org/synapse into ↵Erik Johnston2015-05-182-48/+13
| |\ | | | | | | | | | erikj/perf
| * | Fix daedlockErik Johnston2015-05-151-1/+2
| | |
* | | Merge branch 'develop' into notifier_performanceMark Haines2015-05-182-48/+13
|\ \ \ | | |/ | |/|
| * | Remove unused arguments and doc PresenceHandler.push_update_to_clientsMark Haines2015-05-142-48/+13
| |/
* | Discard unused NotifierUserStreamsMark Haines2015-05-132-0/+4
| |
* | Don't bother checking for updates if the stream token hasn't advanced for a userMark Haines2015-05-135-17/+24
|/
* Add support for using executemanyErik Johnston2015-05-051-2/+2
|
* Merge branch 'develop' of github.com:matrix-org/synapse into postgresErik Johnston2015-04-284-13/+13
|\
| * Merge branch 'develop' into csauthDavid Baker2015-04-241-0/+65
| |\ | | | | | | | | | | | | Conflicts: synapse/http/server.py
| * \ Merge branch 'develop' into csauthDavid Baker2015-04-177-61/+677
| |\ \
| * | | Fix testsDavid Baker2015-03-245-14/+14
| | | |
| * | | Don't test exact equality of the list: as long as it has the fields we ↵David Baker2015-03-241-6/+5
| | | | | | | | | | | | | | | | expect, that's just fine. I added the user_id (as in database pkey) and it broke: no point testing what that comes out as: it's determined by the db.
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into postgresErik Johnston2015-04-271-0/+65
|\ \ \ \ | | |_|/ | |/| |
| * | | Remove users from the remote_offline_serials list (and clean up empty ↵Paul "LeoNerd" Evans2015-04-231-0/+27
| | | | | | | | | | | | | | | | elements) when they go online again