summary refs log tree commit diff
path: root/synapse/rest/client/v2_alpha (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Shuffle receipt handler around so that worker apps don't need to load itErik Johnston2016-11-231-1/+1
|
* Merge pull request #1638 from matrix-org/kegan/sync-event-fieldsKegsay2016-11-221-10/+13
|\ | | | | Implement "event_fields" in filters
| * Glue only_event_fields into the sync rest servletKegan Dougal2016-11-221-10/+13
| |
* | Fix flake8Mark Haines2016-11-181-1/+0
| |
* | Work around client replacing reg paramsDavid Baker2016-11-181-0/+12
|/ | | | | Works around https://github.com/vector-im/vector-android/issues/715 and equivalent for iOS
* Clean transactions based on time. Add HttpTransactionCache tests.Kegan Dougal2016-11-141-1/+1
|
* Move .observe() up to the cache to make things neaterKegan Dougal2016-11-141-4/+1
|
* Review commentsKegan Dougal2016-11-111-12/+5
|
* Use observable deferreds because they are saneKegan Dougal2016-11-111-3/+4
|
* Flake8Kegan Dougal2016-11-101-1/+1
|
* Store Promise<Response> instead of Response for HTTP API transactionsKegan Dougal2016-11-101-6/+12
| | | | | | | | | | | | | | | | | | This fixes a race whereby: - User hits an endpoint. - No cached transaction so executes main code. - User hits same endpoint. - No cache transaction so executes main code. - Main code finishes executing and caches response and returns. - Main code finishes executing and caches response and returns. This race is common in the wild when Synapse is struggling under load. This commit fixes the race by: - User hits an endpoint. - Caches the promise to execute the main code and executes main code. - User hits same endpoint. - Yields on the same promise as the first request. - Main code finishes executing and returns, unblocking both requests.
* Merge pull request #1164 from pik/error-codesErik Johnston2016-10-191-6/+6
|\ | | | | Clarify Error codes for GET /filter/
| * Refactor test_filter to use real DataStorepik2016-10-181-2/+2
| | | | | | | | * add tests for filter api errors
| * Error codes for filtersAlexander Maznev2016-10-141-4/+4
| | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
* | Handle delete device requests with no bodyRichard van der Hoff2016-10-121-2/+11
| | | | | | | | | | We should probably return a 401 rather than a 400 for existing clients that don't know they have to do the UIA dance to delete a device.
* | User-interactive auth on delete deviceRichard van der Hoff2016-10-121-5/+11
|/
* window.postmessage for Interactive Auth fallbackRichard van der Hoff2016-10-061-1/+3
| | | | | If you're a webapp running the fallback in an iframe, you can't set set a window.onAuthDone function. Let's post a message back to window.opener instead.
* Move the E2E key handling into the e2e handlerMark Haines2016-09-131-112/+16
|
* Add a timeout parameter for end2end key queries.Mark Haines2016-09-121-26/+51
| | | | | | | | | | Add a timeout parameter for controlling how long synapse will wait for responses from remote servers. For servers that fail include how they failed to make it easier to debug. Fetch keys from different servers in parallel rather than in series. Set the default timeout to 10s.
* Merge pull request #1096 from matrix-org/markjh/get_access_tokenMark Haines2016-09-092-4/+6
|\ | | | | Add helper function for getting access_tokens from requests
| * Add helper function for getting access_tokens from requestsMark Haines2016-09-092-4/+6
| | | | | | | | | | | | Rather than reimplementing the token parsing in the various places. This will make it easier to change the token parsing to allow access_tokens in HTTP headers.
* | Merge pull request #1091 from matrix-org/paul/third-party-lookupPaul Evans2016-09-091-0/+24
|\ \ | |/ |/| Improvements to 3PE lookup API
| * appease pep8Paul "LeoNerd" Evans2016-09-091-1/+2
| |
| * Python isn't JavaScript; have to quote dict keysPaul "LeoNerd" Evans2016-09-091-1/+1
| |
| * Efficiency fix for lookups of a single protocolPaul "LeoNerd" Evans2016-09-091-1/+3
| |
| * Allow lookup of a single 3PE protocol query metadataPaul "LeoNerd" Evans2016-09-091-0/+21
| |
* | Merge pull request #1081 from matrix-org/dbkr/notifications_only_highlightMatthew Hodgson2016-09-091-1/+2
|\ \ | |/ |/| Implement `only=highlight` on `/notifications`
| * Implement `only=highlight` on `/notifications`David Baker2016-09-081-1/+2
| |
* | Send device messages over federationMark Haines2016-09-061-26/+7
|/
* Fix up the calls to the notifier for device messagesMark Haines2016-09-011-1/+1
|
* Add a replication stream for direct to device messagesMark Haines2016-08-311-2/+8
|
* Merge remote-tracking branch 'origin/develop' into markjh/direct_to_deviceMark Haines2016-08-261-1/+1
|\
| * Move ThirdPartyEntityKind into api.constants so the expectation becomes that ↵Paul "LeoNerd" Evans2016-08-251-1/+1
| | | | | | | | the value is significant
* | Merge branch 'develop' into markjh/direct_to_deviceMark Haines2016-08-252-4/+21
|\|
| * Merge pull request #1041 from matrix-org/paul/third-party-lookupPaul Evans2016-08-251-2/+20
| |\ | | | | | | Extend 3PE lookup APIs for metadata query
| | * Move static knowledge of protocol metadata into AS handler; cache the resultPaul "LeoNerd" Evans2016-08-241-20/+1
| | |
| | * Declare 'gitter' known protocol, with user lookupPaul "LeoNerd" Evans2016-08-241-0/+3
| | |
| | * Initial hack at the 3PN protocols metadata lookup APIPaul "LeoNerd" Evans2016-08-241-0/+34
| | |
| | * Move 3PU/3PL lookup APIs into /thirdparty containing entityPaul "LeoNerd" Evans2016-08-241-2/+2
| | |
| * | Preserve some logcontextsErik Johnston2016-08-241-2/+1
| |/
* | Add some TODOsMark Haines2016-08-251-0/+4
| |
* | Fix the deduplication of incoming direct-to-device messagesMark Haines2016-08-251-1/+12
| |
* | Add store-and-forward direct-to-device messagingMark Haines2016-08-252-3/+75
|/
* Merge branch 'develop' into dbkr/notifications_apiMatthew Hodgson2016-08-201-0/+78
|\
| * Avoid so much copypasta between 3PU and 3PL query by unifying around a ↵Paul "LeoNerd" Evans2016-08-181-2/+7
| | | | | | | | ThirdPartyEntityKind enumeration
| * Authenticate 3PE lookup requestsPaul "LeoNerd" Evans2016-08-181-0/+6
| |
| * Copypasta the 3PU support code to also do 3PLPaul "LeoNerd" Evans2016-08-181-0/+20
| |
| * Remove TODO note about request fields being strings - they're always stringsPaul "LeoNerd" Evans2016-08-181-2/+0
| |
| * Ensure that 3PU lookup request fields actually get passed inPaul "LeoNerd" Evans2016-08-181-1/+5
| |
| * Thread 3PU lookup through as far as the AS API object; which currently noöps itPaul "LeoNerd" Evans2016-08-171-2/+9
| |
| * Initial empty implementation that just registers an API endpoint handlerPaul "LeoNerd" Evans2016-08-171-0/+38
| |
* | Use tuple comparisonDavid Baker2016-08-181-4/+3
| | | | | | | | Hopefully easier to read
* | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_apiDavid Baker2016-08-181-1/+1
|\|
| * Don't change status_msg on /syncWill Hunt2016-08-101-1/+1
| |
* | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_apiDavid Baker2016-08-117-199/+493
|\|
| * Merge branch 'rav/null_default_device_displayname' into developRichard van der Hoff2016-08-031-3/+1
| |\
| | * Default device_display_name to nullRichard van der Hoff2016-08-031-3/+1
| | | | | | | | | | | | | | | | | | It turns out that it's more useful to return a null device display name (and let clients decide how to handle it: eg, falling back to device_id) than using a constant string like "unknown device".
| * | Merge branch 'develop' into rav/refactor_device_queryMark Haines2016-08-031-9/+7
| |\|
| | * Fix adding emails on registrationDavid Baker2016-07-291-9/+7
| | | | | | | | | | | | Synapse was not adding email addresses to accounts registered with an email address, due to too many different variables called 'result'. Rename both of them. Also remove the defer.returnValue() with no params because that's not a thing.
| * | Move e2e query logic into a handlerRichard van der Hoff2016-08-011-39/+7
| |/
| * key upload tweaksRichard van der Hoff2016-07-271-7/+5
| | | | | | | | | | | | | | 1. Add v2_alpha URL back in, since things seem to be using it. 2. Don't reject the request if the device_id in the upload request fails to match that in the access_token.
| * Delete e2e keys on device deleteRichard van der Hoff2016-07-271-4/+9
| |
| * Make the device id on e2e key upload optionalRichard van der Hoff2016-07-261-12/+35
| | | | | | | | | | | | | | | | | | | | | | | | We should now be able to get our device_id from the access_token, so the device_id on the upload request is optional. Where it is supplied, we should check that it matches. For active access_tokens without an associated device_id, we ought to register the device in the devices table. Also update the table on upgrade so that all of the existing e2e keys are associated with real devices.
| * Add `create_requester` functionRichard van der Hoff2016-07-261-6/+4
| | | | | | | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout
| * Implement updating devicesRichard van der Hoff2016-07-261-7/+17
| | | | | | | | You can update the displayname of devices now.
| * Implement deleting devicesRichard van der Hoff2016-07-262-5/+19
| |
| * Merge pull request #943 from matrix-org/rav/get_device_apiDavid Baker2016-07-211-0/+25
| |\ | | | | | | Implement GET /device/{deviceId}
| | * Implement GET /device/{deviceId}Richard van der Hoff2016-07-211-0/+25
| | |
| * | Merge pull request #942 from matrix-org/rav/fix_register_deviceidDavid Baker2016-07-211-11/+10
| |\ \ | | |/ | |/| Preserve device_id from first call to /register
| | * Preserve device_id from first call to /registerRichard van der Hoff2016-07-211-11/+10
| | | | | | | | | | | | | | | device_id may only be passed in the first call to /register, so make sure we fish it out of the register `params` rather than the body of the final call.
| * | Merge branch 'develop' into rav/get_devices_apiRichard van der Hoff2016-07-201-15/+39
| |\| | | | | | | | | | (pick up PR #938 in the hope of fixing the UTs)
| | * Register a device_id in the /v2/register flow.Richard van der Hoff2016-07-201-15/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-202-4/+60
| |/ | | | | | | | | | | | | 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 #933 from matrix-org/rav/type_annotationsRichard van der Hoff2016-07-201-0/+9
| |\ | | | | | | Type annotations
| | * Type annotationsRichard van der Hoff2016-07-191-0/+9
| | | | | | | | | | | | | | | Add some type annotations to help PyCharm (in particular) to figure out the types of a bunch of things.
| * | Further registration refactoringRichard van der Hoff2016-07-191-13/+37
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * `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 #931 from matrix-org/rav/refactor_registerDavid Baker2016-07-191-78/+102
| |\ | | | | | | rest/client/v2_alpha/register.py: Refactor flow somewhat.
| | * Don't bind email unless threepid contains expected fieldsRichard van der Hoff2016-07-191-28/+25
| | |
| | * rest/client/v2_alpha/register.py: Refactor flow somewhat.Richard van der Hoff2016-07-191-75/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-181-3/+7
| |/ | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Use body.get to check for 'user'Will Hunt2016-07-161-2/+1
| |
| * Fall back to 'username' if 'user' is not given for appservice reg.Will Hunt2016-07-161-3/+5
| |
| * Add hs objectErik Johnston2016-07-141-0/+1
| |
| * Only accept password authErik Johnston2016-07-141-12/+0
| |
| * Add an /account/deactivate endpointErik Johnston2016-07-141-0/+55
| |
| * be more pythonicDavid Baker2016-07-121-1/+1
| |
| * on_OPTIONS isn't neccessaryDavid Baker2016-07-122-10/+1
| |
| * Remove other debug loggingDavid Baker2016-07-121-2/+0
| |
| * Separate out requestTokens to separate handlersDavid Baker2016-07-112-65/+93
| |
| * Oops, remove debug loggingDavid Baker2016-07-111-4/+0
| |
| * Implement https://github.com/matrix-org/matrix-doc/pull/346/filesDavid Baker2016-07-081-0/+59
| |
| * Split out the auth handlerDavid Baker2016-06-024-5/+5
| |
* | Include the ts the notif was received atDavid Baker2016-05-241-0/+1
| |
* | Actually make the 'read' flag correctDavid Baker2016-05-231-4/+3
| |
* | Add GET /notifications APIDavid Baker2016-05-231-0/+100
|/
* Move SyncHandler out of the Handlers objectMark Haines2016-05-161-2/+1
|
* Move the presence handler out of the Handlers objectMark Haines2016-05-162-2/+2
|
* Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-05-102-0/+155
|\
| * Rename openid/token to openid/request_tokenMark Haines2016-05-051-2/+2
| |
| * Add an openidish mechanism for proving to third parties that you own a given ↵Mark Haines2016-05-051-0/+96
| | | | | | | | user_id
| * Add timestamp and auto incrementing IDErik Johnston2016-05-041-0/+2
| |
| * Move event_id to pathErik Johnston2016-05-041-4/+2
| |
| * Add /report endpointErik Johnston2016-05-041-0/+59
| |
* | More consistent config namingDavid Baker2016-05-101-1/+1
| |
* | Add config option to not send email notifs for new usersDavid Baker2016-05-101-1/+4
| |
* | Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-04-291-0/+1
|\|
| * Fix password resetDavid Baker2016-04-291-0/+1
| | | | | | | | Default requester to None, otherwise it isn't defined when resetting using email auth
* | Add an email pusher for new usersDavid Baker2016-04-291-0/+26
|/ | | | If they registered with an email address and email notifs are enabled on the HS
* Make v2_alpha reg follow the AS API specificationKegan Dougal2016-04-141-0/+5
| | | | | | The spec is clear the key should be 'user' not 'username' and this is indeed the case for v1. This is not true for v2_alpha though, which is what this commit is fixing.
* Use google style doc strings.Mark Haines2016-04-011-36/+43
| | | | | | | pycharm supports them so there is no need to use the other format. Might as well convert the existing strings to reduce the risk of people accidentally cargo culting the wrong doc string format.
* Deduplicate identical /sync requestsMark Haines2016-03-241-0/+3
|
* remove debug loggingDavid Baker2016-03-161-3/+0
|
* Unused importDavid Baker2016-03-161-1/+0
|
* Make registration idempotent, part 2: be idempotent if the client specifies ↵David Baker2016-03-161-5/+17
| | | | a username.
* take extra return val from check_auth in account tooDavid Baker2016-03-161-1/+1
|
* pep8 & remove debug loggingDavid Baker2016-03-161-4/+5
|
* Make registration idempotent: if you specify the same session, make it give ↵David Baker2016-03-161-1/+26
| | | | you an access token for the user that was registered on previous uses of that session. Tweak the UI auth layer to not delete sessions when their auth has completed and hence expire themn so they don't hang around until server restart. Allow server-side data to be associated with UI auth sessions.
* Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-114-49/+16
|
* Fix cache invalidation so deleting access tokens (which we did when changing ↵David Baker2016-03-111-1/+1
| | | | password) actually takes effect without HS restart. Reinstate the code to avoid logging out the session that changed the password, removed in 415c2f05491ce65a4fc34326519754cd1edd9c54
* Register endpoint returns refresh_tokenblide2016-03-101-5/+8
| | | | Guest registration still doesn't return refresh_token
* Add a parse_json_object functionMark Haines2016-03-094-33/+11
| | | | | to deduplicate all the copy+pasted _parse_json functions. Also document the parse_.* functions.
* Initial cutErik Johnston2016-02-172-6/+13
|
* Catch the exceptions thrown by twisted when you write to a closed connectionMark Haines2016-02-121-2/+3
|
* Add some paranoia loggingErik Johnston2016-02-111-0/+10
|
* Fix up logcontextsErik Johnston2016-02-082-4/+4
|
* Rename config field to reflect yaml nameDaniel Wagner-Hall2016-02-031-1/+1
|
* Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-021-1/+2
|
* Merge pull request #545 from matrix-org/erikj/syncErik Johnston2016-02-021-75/+0
|\ | | | | Move /sync state calculations from rest to handler
| * Move state calculations from rest to handlerErik Johnston2016-02-011-75/+0
| |
* | Pull guest access token out of the auth session params, otherwise it will ↵David Baker2016-02-011-0/+1
|/ | | | break if you open the email on a different device.
* Allow three_pid_creds as well as threePidCreds in /account/3pidMark Haines2016-01-291-2/+3
|
* Move logic from rest/ to handlers/Erik Johnston2016-01-251-34/+23
|
* Sanitize filtersErik Johnston2016-01-222-13/+13
|
* Fix change_passwordErik Johnston2016-01-201-3/+2
|
* Whine if we give a from param to /syncErik Johnston2016-01-201-0/+7
|
* Only compute unread notifications for rooms we send down streamErik Johnston2016-01-191-2/+1
|
* Return highlight_count in /syncErik Johnston2016-01-191-0/+1
|
* Merge pull request #478 from matrix-org/daniel/userobjectDaniel Wagner-Hall2016-01-117-38/+41
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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-117-38/+41
| | | | | | | | | | | | | | | | | | 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-082-1/+5
|\ \ | |/ |/| Send unread notification counts
| * Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-061-6/+1
| |\
| * | Add is_guest flag to users db to track whether a user is a guest user or ↵David Baker2016-01-061-1/+4
| | | | | | | | | | | | not. Use this so we can run _filter_events_for_client when calculating event_push_actions.
| * | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-051-3/+9
| |\ \
| * | | Only joined rooms have unread_notif_countDavid Baker2016-01-041-1/+1
| | | |
| * | | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2015-12-221-1/+9
| |\ \ \
| * \ \ \ Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2015-12-211-6/+21
| |\ \ \ \
| * | | | | still very WIP, but now sends unread_notifications_count in the room object ↵David Baker2015-12-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | on sync (only actually corrrect in a full sync: hardcoded to 0 in incremental syncs).
* | | | | | copyrightsMatthew Hodgson2016-01-0711-11/+11
| |_|_|_|/ |/| | | |
* | | | | Guest users must be joined to a room to see it in /syncMark Haines2016-01-061-6/+1
| |_|_|/ |/| | |
* | | | Allow guests to upgrade their accountsDaniel Wagner-Hall2016-01-051-3/+9
| |_|/ |/| |
* | | Allow guest access if the user provides a list of rooms in the filterMark Haines2015-12-221-1/+9
| |/ |/|
* | Remove accidentally committed debug loggingMark Haines2015-12-211-1/+0
| |
* | Fix spacingMark Haines2015-12-141-1/+1
| |
* | Fix logging to lie lessMark Haines2015-12-141-2/+9
| |
* | Add commentary for fix in PR#442Mark Haines2015-12-141-0/+6
| |
* | Combine the prev content testsMark Haines2015-12-141-14/+12
| |
* | Check whether prev_content or prev_sender is set before trying to rollback stateMark Haines2015-12-141-8/+13
|/
* Allow filter JSON object in the filter query parameter in /syncMark Haines2015-12-091-9/+21
| | | | Documented by matrix-org/matrix-doc#224
* Actually host r0 and unstable prefixesDaniel Wagner-Hall2015-12-081-36/+0
|
* Update endpoints to reflect current specDaniel Wagner-Hall2015-12-022-3/+3
|
* Add API for setting account_data globaly or on a per room basisMark Haines2015-12-013-0/+119
|
* Host /unstable and /r0 versions of r0 APIsDaniel Wagner-Hall2015-12-0110-27/+35
|
* Merge branch 'develop' into rav/flatten_sync_responsePaul "LeoNerd" Evans2015-11-192-5/+5
|\
| * s/private_user_data/account_data/Mark Haines2015-11-182-5/+5
| |
* | Put back the 'state.events' subobjectRichard van der Hoff2015-11-191-1/+1
| | | | | | | | We're keeping 'events', in case we decide to add more keys later.
* | v2 /sync: Rename the keys of the 'rooms' object to match member statesRichard van der Hoff2015-11-191-3/+3
| | | | | | | | | | | | joined->join invited->invite archived->leave
* | Flatten the /sync response to remove the event_mapRichard van der Hoff2015-11-191-22/+13
|/
* Implementation of state rollback in /syncRichard van der Hoff2015-11-131-2/+65
| | | | | | | Implementation of SPEC-254: roll back the state dictionary to how it looked at the start of the timeline. Merged PR https://github.com/matrix-org/synapse/pull/373
* Make handlers.sync return a state dictionary, instead of an event list.Richard van der Hoff2015-11-131-1/+1
| | | | | | | | | Basically this moves the process of flattening the existing dictionary into a list up to rest.client.*, instead of doing it in handlers.sync. This simplifies a bit of the code in handlers.sync, but it is also going to be somewhat beneficial in the next stage of my hacking on SPEC-254. Merged from PR #371
* Update some commentsRichard van der Hoff2015-11-131-0/+56
| | | | | | | Add a couple of type annotations, docstrings, and other comments, in the interest of keeping track of what types I have. Merged from pull request #370.
* Allow guests to register and call /events?room_id=Daniel Wagner-Hall2015-11-047-14/+39
| | | | | | | 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.
* That TODO was doneMark Haines2015-11-031-1/+0
|
* Include room tags in v2 /syncMark Haines2015-11-021-0/+5
|
* Store room tag content and return the content in the m.tag eventMark Haines2015-11-021-2/+10
|
* Merge branch 'develop' into markjh/room_tagsMark Haines2015-11-021-2/+4
|\
| * Implement full_state incremental syncRichard van der Hoff2015-10-261-2/+4
| | | | | | | | | | | | | | | | A hopefully-complete implementation of the full_state incremental sync, as specced at https://github.com/matrix-org/matrix-doc/pull/133. This actually turns out to be a relatively simple modification to the initial sync implementation.
* | Inform the client of new room tags using v1 /eventsMark Haines2015-10-291-3/+11
| |
* | Fix pyflakes errorsMark Haines2015-10-281-0/+2
| |
* | Add APIs for adding and removing tags from roomsMark Haines2015-10-282-0/+91
|/
* Merge pull request #319 from matrix-org/erikj/filter_refactorErik Johnston2015-10-221-2/+2
|\ | | | | Refactor api.filtering to have a Filter API
| * Refactor api.filtering to have a Filter APIErik Johnston2015-10-201-2/+2
| |
* | Add rooms that the user has left under archived in v2 sync.Mark Haines2015-10-191-6/+23
|/
* Include invites in incremental syncMark Haines2015-10-131-1/+1
|
* Include invited rooms in the initial syncMark Haines2015-10-131-1/+20
|
* Start spliting out the rooms into joined and invited in v2 syncMark Haines2015-10-131-9/+9
|
* Update the filters to match the latest spec.Mark Haines2015-10-121-15/+11
| | | | | Apply the filter the 'timeline' and 'ephemeral' keys of rooms. Apply the filter to the 'presence' key of a sync response.
* Set the user as online if they start polling the v2 syncMark Haines2015-10-091-3/+11
|
* Merge branch 'markjh/eventstream_presence' into markjh/v2_sync_apiMark Haines2015-10-091-0/+4
|\
| * Validate the receipt type before passing it on to the receipt handlerKegan Dougal2015-10-011-0/+4
| |
* | Format the presence events correctly for v2Mark Haines2015-10-091-3/+9
| |
* | Update the v2 room sync format to match the current v2 specMark Haines2015-10-081-7/+7
| |
* | Update the sync response to match the latest specMark Haines2015-10-071-24/+22
| |
* | Move the rooms out into a room_map mapping from room_id to room.Mark Haines2015-10-051-13/+31
| |
* | Start updating the sync API to match the specificationMark Haines2015-10-011-53/+22
|/
* Merge pull request #274 from matrix-org/add_threepid_fixDavid Baker2015-09-101-0/+1
|\ | | | | Fix adding threepids to an existing account
| * Fix adding threepids to an existing accountDavid Baker2015-09-101-0/+1
| |
* | Merge pull request #248 from matrix-org/deviceidDaniel Wagner-Hall2015-08-255-11/+10
|\ \ | | | | | | Remove completely unused concepts from codebase
| * | Fix up one more referenceDaniel Wagner-Hall2015-08-251-3/+2
| | |
| * | Remove completely unused concepts from codebaseDaniel Wagner-Hall2015-08-255-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Remove syutil dependency in favour of smaller single-purpose librariesMark Haines2015-08-241-1/+2
|/ /
* | Merge branch 'develop' into refreshDaniel Wagner-Hall2015-08-202-1/+29
|\| | | | | | | | | Conflicts: synapse/rest/client/v1/login.py
| * Remove spurious extra arg to set_passwordDavid Baker2015-08-201-1/+1
| |
| * Merge pull request #211 from matrix-org/email_in_useMark Haines2015-08-201-0/+28
| |\ | | | | | | Changes for unique emails
| | * Check absent before trying to access keysDavid Baker2015-08-121-3/+3
| | |
| | * Just leaving off the $ is fine. r* == registerrrrrrrrrDavid Baker2015-08-121-1/+1
| | |
| | * Remember to yield: not much point testing is a deferred is not NoneDavid Baker2015-08-041-1/+2
| | |
| | * splt long lineDavid Baker2015-08-041-1/+3
| | |
| | * Add endpoint that proxies ID server request token and errors if the given ↵David Baker2015-08-041-1/+26
| | | | | | | | | | | | email is in use on this Home Server.
* | | /tokenrefresh POST endpointDaniel Wagner-Hall2015-08-202-0/+58
|/ / | | | | | | | | | | | | | | 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.
* | Merge pull request #208 from matrix-org/markjh/end-to-end-key-federationMark Haines2015-08-181-30/+70
|\ \ | | | | | | Federation for end-to-end key requests.
| * | Merge remote-tracking branch 'origin/develop' into ↵Mark Haines2015-08-131-54/+73
| |\| | | | | | | | | | markjh/end-to-end-key-federation
| * | Get the end-to-end key federation workingMark Haines2015-07-241-5/+5
| | |
| * | Add federation support for end-to-end key requestsMark Haines2015-07-231-30/+70
| | |
* | | Simplify LoginHander and AuthHandlerDaniel Wagner-Hall2015-08-122-7/+4
| |/ |/| | | | | | | | | | | | | | | * Merge LoginHandler -> AuthHandler * Add a bunch of documentation * Improve some naming * Remove unused branches I will start merging the actual logic of the two handlers shortly
* | Don't try & check the username if we don't have one (which we won't if it's ↵David Baker2015-08-031-1/+2
| | | | | | | | been saved in the auth layer)
* | Use the same reg paths as register v1 for ASes.Kegan Dougal2015-07-291-4/+6
| | | | | | | | Namely this means using registration_handler.appservice_register.
* | Fix v2_alpha registration. Add unit tests.Kegan Dougal2015-07-281-54/+70
|/ | | | | | | | 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.
* Query for all the ones we were asked about, not just the last...David Baker2015-07-211-1/+1
|
* s/take/claim/ for end to end key APIsMark Haines2015-07-201-5/+5
|
* Merge pull request #199 from matrix-org/erikj/receiptsErik Johnston2015-07-162-0/+57
|\ | | | | Implement read receipts.
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receiptsErik Johnston2015-07-132-0/+278
| |\
| * | Wire together receipts and the notifer/federationErik Johnston2015-07-071-2/+1
| | |
| * | Add a ReceiptServletErik Johnston2015-07-072-1/+59
| | |
* | | pep8 + debug lineDavid Baker2015-07-151-6/+8
| | |
* | | Add back in support for remembering parameters submitted to a ↵David Baker2015-07-151-2/+9
| |/ |/| | | | | user-interactive auth call.
* | Assume that each device for a user has only one of each type of keyMark Haines2015-07-101-3/+3
| |
* | Don't bother with a timeout for one time keys on the server.Mark Haines2015-07-091-18/+7
| |
* | Add client API for uploading and querying keys for end to end encryptionMark Haines2015-07-062-1/+290
|/
* Add config option to turn off freezing events. Use new encode_json api and ↵Erik Johnston2015-05-291-1/+1
| | | | ujson.loads
* Make shared secret registration work againDavid Baker2015-05-141-1/+4
|
* user_id now in user_threepidsDavid Baker2015-05-011-3/+3
|
* pep8David Baker2015-04-271-1/+2
|
* logging argsDavid Baker2015-04-271-2/+2
|
* More underscoresDavid Baker2015-04-242-4/+4
|
* Use underscores instead of camelcase for id server stuffDavid Baker2015-04-241-2/+2
|
* Merge branch 'develop' into csauthDavid Baker2015-04-241-9/+11
|\ | | | | | | | | Conflicts: synapse/http/server.py
| * Combine the request wrappers in rest/media/v1 and http/server into a single ↵Mark Haines2015-04-211-9/+11
| | | | | | | | wrapper decorator
* | Dedicated error code for failed 3pid auth verificationDavid Baker2015-04-231-1/+3
| |
* | Password reset, finally.David Baker2015-04-171-5/+16
| |
* | Add endpoint to get threepids from serverDavid Baker2015-04-171-0/+12
| |
* | make add3pid servlet workDavid Baker2015-04-172-12/+64
| |
* | just the once would probably be fineDavid Baker2015-04-171-1/+0
| |
* | Register the 3pid servletDavid Baker2015-04-171-1/+3
| |
* | password -> account servlet and add start of an 'add 3pid' endpointDavid Baker2015-04-172-2/+17
| |
* | Return user ID in use error straight awayDavid Baker2015-04-161-2/+23
| |
* | Dummy login so we can do the first POST request to get login flows without ↵David Baker2015-04-151-4/+14
| | | | | | | | it just succeeding
* | Regstration with email in v2David Baker2015-04-152-7/+7
| |
* | Add app service auth back in to v2 registerDavid Baker2015-04-021-2/+7
| |
* | Throw sensible errors on not-json when allowing empty bodyDavid Baker2015-04-021-1/+4
| |
* | pep8David Baker2015-04-021-0/+1
| |