summary refs log tree commit diff
path: root/synapse/rest/client/v2_alpha (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fixed syntax nitsPablo Saavedra2017-05-152-5/+6
|
* Fixed implementation errorsPablo Saavedra2017-05-152-3/+7
| | | | | * Added HS as property in SyncRestServlet * Fixed set_timeline_upper_limit function implementat¡ion
* Configurable maximum number of events requested by /sync and /messages (#2220)Pablo Saavedra2017-05-133-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the limit on the returned events in the timeline in the get and sync operations. The default value is -1, means no upper limit. For example, using `filter_timeline_limit: 5000`: POST /_matrix/client/r0/user/user:id/filter { room: { timeline: { limit: 1000000000000000000 } } } GET /_matrix/client/r0/user/user:id/filter/filter:id { room: { timeline: { limit: 5000 } } } The server cuts down the room.timeline.limit.
* Modify register/available to be GET with query paramLuke Barnard2017-05-101-5/+4
| | | | | | | - GET is now the method for register/available - a query parameter "username" is now used Also, empty usernames are now handled with an error message on registration or via register/available: `User ID cannot be empty`
* Change register/available to POST (from GET)Luke Barnard2017-05-101-1/+1
|
* Appease the flake8 godsLuke Barnard2017-05-031-5/+10
|
* Implement username availability checkerLuke Barnard2017-05-031-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Outlined here: https://github.com/vector-im/riot-web/issues/3605#issuecomment-298679388 ```HTTP GET /_matrix/.../register/available { "username": "desiredlocalpart123" } ``` If available, the response looks like ```HTTP HTTP/1.1 200 OK { "available": true } ``` Otherwise, ```HTTP HTTP/1.1 429 { "errcode": "M_LIMIT_EXCEEDED", "error": "Too Many Requests", "retry_after_ms": 2000 } ``` or ```HTTP HTTP/1.1 400 { "errcode": "M_USER_IN_USE", "error": "User ID already taken." } ``` or ```HTTP HTTP/1.1 400 { "errcode": "M_INVALID_USERNAME", "error": "Some reason for username being invalid" } ```
* Comment and remove spurious loggingErik Johnston2017-04-271-1/+0
|
* Fix invite state to always include all eventsErik Johnston2017-04-261-0/+2
|
* m.read_marker -> m.fully_read (#2128)Luke Barnard2017-04-182-5/+5
| | | | | | Also: - change the REST endpoint to have a "S" on the end (so it's now /read_markers) - change the content of the m.read_up_to event to have the key "event_id" instead of "marker".
* More null-guard changesLuke Barnard2017-04-121-4/+4
|
* Remove Unused ref to hsLuke Barnard2017-04-121-1/+0
|
* Move a spaceLuke Barnard2017-04-121-2/+2
|
* flake8Luke Barnard2017-04-112-3/+3
|
* Finish implementing RM endpointLuke Barnard2017-04-112-9/+12
| | | | | - This change causes a 405 to be sent if "m.read_marker" is set via /account_data - This also fixes-up the RM endpoint so that it actually Works.
* Initial commit of RM server-side impllukebarnard2017-04-111-0/+71
| | | | (See https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit#heading=h.lndohpg8at5u)
* Merge pull request #1986 from matrix-org/matthew/enable_guest_3pErik Johnston2017-03-311-4/+4
|\ | | | | enable guest access for the 3pl/3pid APIs
| * switch to allow_guest=True for authing 3Ps as per PR feedbackMatthew Hodgson2017-03-311-0/+8
| |
| * enable guest access for the 3pl/3pid APIsMatthew Hodgson2017-03-121-8/+0
| |
* | Merge pull request #2057 from matrix-org/rav/missing_yield_2Richard van der Hoff2017-03-241-1/+1
|\ \ | | | | | | Add another missing yield on check_device_registered
| * | Add another missing yield on check_device_registeredRichard van der Hoff2017-03-231-1/+1
| | |
* | | Fix token request for addition of phone numbersDavid Baker2017-03-231-1/+1
|/ /
* | Remove unused importErik Johnston2017-03-151-1/+0
| |
* | Format presence events on the edges instead of reformatting them multiple timesErik Johnston2017-03-151-6/+13
| |
* | Merge pull request #1994 from matrix-org/dbkr/msisdn_signin_2Erik Johnston2017-03-152-36/+215
|\ \ | | | | | | Phone number registration / login support v2
| * | Use extend instead of +=David Baker2017-03-141-4/+4
| | |
| * | Oops, remove printDavid Baker2017-03-141-1/+0
| | |
| * | Fix registration for broken clientsDavid Baker2017-03-131-4/+22
| | | | | | | | | | | | Only offer msisdn flows if the x_show_msisdn option is given.
| * | Support registration / login with phone numberDavid Baker2017-03-132-36/+198
| | | | | | | | | | | | Changes from https://github.com/matrix-org/synapse/pull/1971
* | | Implement _simple_delete_many_txn, use it to delete devicesLuke Barnard2017-03-131-11/+9
| | | | | | | | | | | | | | | | | | (But this doesn't implement the same for deleting access tokens or e2e keys. Also respond to code review.
* | | FlakeLuke Barnard2017-03-131-0/+2
| | |
* | | Implement delete_devices APILuke Barnard2017-03-131-0/+47
|/ / | | | | | | This implements the proposal here https://docs.google.com/document/d/1C-25Gqz3TXy2jIAoeOKxpNtmme0jI4g3yFGqv5GlAAk for deleting multiple devices at once in a single request.
* / Revert "Support registration & login with phone number"Erik Johnston2017-03-132-198/+36
|/
* Comment when our 3pids would be incompleteDavid Baker2017-03-081-0/+2
|
* Better error messageDavid Baker2017-03-081-1/+3
|
* pep8David Baker2017-03-081-1/+1
|
* Pull out datastore in initialiserDavid Baker2017-03-081-5/+10
|
* Minor fixes from PR feedbackDavid Baker2017-03-081-4/+2
|
* TyposDavid Baker2017-03-081-2/+2
|
* Refector out assert_params_in_requestDavid Baker2017-03-082-37/+17
| | | | and replace requestEmailToken where we meant requestMsisdnToken
* Factor out msisdn canonicalisationDavid Baker2017-03-082-27/+5
| | | | Plus a couple of other minor fixes
* Fix pep8David Baker2017-03-082-3/+3
|
* Add msisdns as 3pids during registrationDavid Baker2017-03-031-0/+47
| | | | and support binding them with the bind_msisdn param
* WIP support for msisdn 3pid proxy methodsDavid Baker2017-02-142-13/+163
|
* sets aren't JSON serializableErik Johnston2017-02-021-1/+1
|
* Fix email push in pusher workerErik Johnston2017-02-021-1/+2
| | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending.
* Include newly joined users in /keys/changes APIErik Johnston2017-02-011-1/+1
|
* CommentErik Johnston2017-02-011-1/+1
|
* CommentErik Johnston2017-02-011-1/+12
|
* Implement /keys/changesErik Johnston2017-02-011-0/+38
|
* Add basic implementation of local device list changesErik Johnston2017-01-251-1/+5
|
* Lowercase all email addresses before querying dbDavid Baker2017-01-181-0/+5
| | | | | Since we store all emails in the DB in lowercase (https://github.com/matrix-org/synapse/pull/1170)
* Add /account/3pid/delete endpointDavid Baker2016-12-201-1/+35
| | | | Also fix a typo in a comment
* Remove unspecced GET endpoints for e2e keysRichard van der Hoff2016-12-121-39/+4
| | | | | | | | GET /keys/claim is a terrible idea, since it isn't idempotent; also it throws 500 errors if you call it without all the right params. GET /keys/query is arguable, but it's unspecced, so let's get rid of it too to stop people relying on unspecced APIs.
* Fix doc-stringRichard van der Hoff2016-12-011-2/+1
| | | | Remove refresh_token reference
* Rip out more refresh_token codeRichard van der Hoff2016-11-302-25/+3
| | | | | | | | 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-304-13/+24
|\
| * Merge pull request #1653 from matrix-org/rav/guest_e2eRichard van der Hoff2016-11-294-13/+24
| |\ | | | | | | Implement E2E for guests
| | * Allow guest access to endpoints for E2ERichard van der Hoff2016-11-253-9/+9
| | | | | | | | | | | | | | | Expose /devices, /keys, and /sendToDevice to guest users, so that they can use E2E.
| | * Give guest users a device_idRichard van der Hoff2016-11-251-4/+15
| | | | | | | | | | | | | | | We need to create devices for guests so that they can use e2e, but we don't have anywhere to store it, so just use a fixed one.
* | | Stop generating refresh tokensRichard van der Hoff2016-11-281-3/+2
|/ / | | | | | | | | | | | | 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
|/
* 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
| |