Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #1653 from matrix-org/rav/guest_e2e | Richard van der Hoff | 2016-11-29 | 4 | -13/+24 |
|\ | | | | | Implement E2E for guests | ||||
| * | Allow guest access to endpoints for E2E | Richard van der Hoff | 2016-11-25 | 3 | -9/+9 |
| | | | | | | | | | | Expose /devices, /keys, and /sendToDevice to guest users, so that they can use E2E. | ||||
| * | Give guest users a device_id | Richard van der Hoff | 2016-11-25 | 1 | -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. | ||||
* | | Shuffle receipt handler around so that worker apps don't need to load it | Erik Johnston | 2016-11-23 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #1638 from matrix-org/kegan/sync-event-fields | Kegsay | 2016-11-22 | 1 | -10/+13 |
|\ | | | | | Implement "event_fields" in filters | ||||
| * | Glue only_event_fields into the sync rest servlet | Kegan Dougal | 2016-11-22 | 1 | -10/+13 |
| | | |||||
* | | Fix flake8 | Mark Haines | 2016-11-18 | 1 | -1/+0 |
| | | |||||
* | | Work around client replacing reg params | David Baker | 2016-11-18 | 1 | -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 Dougal | 2016-11-14 | 1 | -1/+1 |
| | |||||
* | Move .observe() up to the cache to make things neater | Kegan Dougal | 2016-11-14 | 1 | -4/+1 |
| | |||||
* | Review comments | Kegan Dougal | 2016-11-11 | 1 | -12/+5 |
| | |||||
* | Use observable deferreds because they are sane | Kegan Dougal | 2016-11-11 | 1 | -3/+4 |
| | |||||
* | Flake8 | Kegan Dougal | 2016-11-10 | 1 | -1/+1 |
| | |||||
* | Store Promise<Response> instead of Response for HTTP API transactions | Kegan Dougal | 2016-11-10 | 1 | -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-codes | Erik Johnston | 2016-10-19 | 1 | -6/+6 |
|\ | | | | | Clarify Error codes for GET /filter/ | ||||
| * | Refactor test_filter to use real DataStore | pik | 2016-10-18 | 1 | -2/+2 |
| | | | | | | | | * add tests for filter api errors | ||||
| * | Error codes for filters | Alexander Maznev | 2016-10-14 | 1 | -4/+4 |
| | | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com> | ||||
* | | Handle delete device requests with no body | Richard van der Hoff | 2016-10-12 | 1 | -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 device | Richard van der Hoff | 2016-10-12 | 1 | -5/+11 |
|/ | |||||
* | window.postmessage for Interactive Auth fallback | Richard van der Hoff | 2016-10-06 | 1 | -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 handler | Mark Haines | 2016-09-13 | 1 | -112/+16 |
| | |||||
* | Add a timeout parameter for end2end key queries. | Mark Haines | 2016-09-12 | 1 | -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_token | Mark Haines | 2016-09-09 | 2 | -4/+6 |
|\ | | | | | Add helper function for getting access_tokens from requests | ||||
| * | Add helper function for getting access_tokens from requests | Mark Haines | 2016-09-09 | 2 | -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-lookup | Paul Evans | 2016-09-09 | 1 | -0/+24 |
|\ \ | |/ |/| | Improvements to 3PE lookup API | ||||
| * | appease pep8 | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -1/+2 |
| | | |||||
| * | Python isn't JavaScript; have to quote dict keys | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -1/+1 |
| | | |||||
| * | Efficiency fix for lookups of a single protocol | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -1/+3 |
| | | |||||
| * | Allow lookup of a single 3PE protocol query metadata | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -0/+21 |
| | | |||||
* | | Merge pull request #1081 from matrix-org/dbkr/notifications_only_highlight | Matthew Hodgson | 2016-09-09 | 1 | -1/+2 |
|\ \ | |/ |/| | Implement `only=highlight` on `/notifications` | ||||
| * | Implement `only=highlight` on `/notifications` | David Baker | 2016-09-08 | 1 | -1/+2 |
| | | |||||
* | | Send device messages over federation | Mark Haines | 2016-09-06 | 1 | -26/+7 |
|/ | |||||
* | Fix up the calls to the notifier for device messages | Mark Haines | 2016-09-01 | 1 | -1/+1 |
| | |||||
* | Add a replication stream for direct to device messages | Mark Haines | 2016-08-31 | 1 | -2/+8 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into markjh/direct_to_device | Mark Haines | 2016-08-26 | 1 | -1/+1 |
|\ | |||||
| * | Move ThirdPartyEntityKind into api.constants so the expectation becomes that ↵ | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -1/+1 |
| | | | | | | | | the value is significant | ||||
* | | Merge branch 'develop' into markjh/direct_to_device | Mark Haines | 2016-08-25 | 2 | -4/+21 |
|\| | |||||
| * | Merge pull request #1041 from matrix-org/paul/third-party-lookup | Paul Evans | 2016-08-25 | 1 | -2/+20 |
| |\ | | | | | | | Extend 3PE lookup APIs for metadata query | ||||
| | * | Move static knowledge of protocol metadata into AS handler; cache the result | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -20/+1 |
| | | | |||||
| | * | Declare 'gitter' known protocol, with user lookup | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -0/+3 |
| | | | |||||
| | * | Initial hack at the 3PN protocols metadata lookup API | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -0/+34 |
| | | | |||||
| | * | Move 3PU/3PL lookup APIs into /thirdparty containing entity | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -2/+2 |
| | | | |||||
| * | | Preserve some logcontexts | Erik Johnston | 2016-08-24 | 1 | -2/+1 |
| |/ | |||||
* | | Add some TODOs | Mark Haines | 2016-08-25 | 1 | -0/+4 |
| | | |||||
* | | Fix the deduplication of incoming direct-to-device messages | Mark Haines | 2016-08-25 | 1 | -1/+12 |
| | | |||||
* | | Add store-and-forward direct-to-device messaging | Mark Haines | 2016-08-25 | 2 | -3/+75 |
|/ | |||||
* | Merge branch 'develop' into dbkr/notifications_api | Matthew Hodgson | 2016-08-20 | 1 | -0/+78 |
|\ | |||||
| * | Avoid so much copypasta between 3PU and 3PL query by unifying around a ↵ | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -2/+7 |
| | | | | | | | | ThirdPartyEntityKind enumeration | ||||
| * | Authenticate 3PE lookup requests | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -0/+6 |
| | | |||||
| * | Copypasta the 3PU support code to also do 3PL | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -0/+20 |
| | | |||||
| * | Remove TODO note about request fields being strings - they're always strings | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -2/+0 |
| | | |||||
| * | Ensure that 3PU lookup request fields actually get passed in | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -1/+5 |
| | | |||||
| * | Thread 3PU lookup through as far as the AS API object; which currently noöps it | Paul "LeoNerd" Evans | 2016-08-17 | 1 | -2/+9 |
| | | |||||
| * | Initial empty implementation that just registers an API endpoint handler | Paul "LeoNerd" Evans | 2016-08-17 | 1 | -0/+38 |
| | | |||||
* | | Use tuple comparison | David Baker | 2016-08-18 | 1 | -4/+3 |
| | | | | | | | | Hopefully easier to read | ||||
* | | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_api | David Baker | 2016-08-18 | 1 | -1/+1 |
|\| | |||||
| * | Don't change status_msg on /sync | Will Hunt | 2016-08-10 | 1 | -1/+1 |
| | | |||||
* | | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_api | David Baker | 2016-08-11 | 7 | -199/+493 |
|\| | |||||
| * | Merge branch 'rav/null_default_device_displayname' into develop | Richard van der Hoff | 2016-08-03 | 1 | -3/+1 |
| |\ | |||||
| | * | Default device_display_name to null | Richard van der Hoff | 2016-08-03 | 1 | -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_query | Mark Haines | 2016-08-03 | 1 | -9/+7 |
| |\| | |||||
| | * | Fix adding emails on registration | David Baker | 2016-07-29 | 1 | -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 handler | Richard van der Hoff | 2016-08-01 | 1 | -39/+7 |
| |/ | |||||
| * | key upload tweaks | Richard van der Hoff | 2016-07-27 | 1 | -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 delete | Richard van der Hoff | 2016-07-27 | 1 | -4/+9 |
| | | |||||
| * | Make the device id on e2e key upload optional | Richard van der Hoff | 2016-07-26 | 1 | -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` function | Richard van der Hoff | 2016-07-26 | 1 | -6/+4 |
| | | | | | | | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout | ||||
| * | Implement updating devices | Richard van der Hoff | 2016-07-26 | 1 | -7/+17 |
| | | | | | | | | You can update the displayname of devices now. | ||||
| * | Implement deleting devices | Richard van der Hoff | 2016-07-26 | 2 | -5/+19 |
| | | |||||
| * | Merge pull request #943 from matrix-org/rav/get_device_api | David Baker | 2016-07-21 | 1 | -0/+25 |
| |\ | | | | | | | Implement GET /device/{deviceId} | ||||
| | * | Implement GET /device/{deviceId} | Richard van der Hoff | 2016-07-21 | 1 | -0/+25 |
| | | | |||||
| * | | Merge pull request #942 from matrix-org/rav/fix_register_deviceid | David Baker | 2016-07-21 | 1 | -11/+10 |
| |\ \ | | |/ | |/| | Preserve device_id from first call to /register | ||||
| | * | Preserve device_id from first call to /register | Richard van der Hoff | 2016-07-21 | 1 | -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_api | Richard van der Hoff | 2016-07-20 | 1 | -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 Hoff | 2016-07-20 | 1 | -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 endpoint | Richard van der Hoff | 2016-07-20 | 2 | -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_annotations | Richard van der Hoff | 2016-07-20 | 1 | -0/+9 |
| |\ | | | | | | | Type annotations | ||||
| | * | Type annotations | Richard van der Hoff | 2016-07-19 | 1 | -0/+9 |
| | | | | | | | | | | | | | | | Add some type annotations to help PyCharm (in particular) to figure out the types of a bunch of things. | ||||
| * | | Further registration refactoring | Richard van der Hoff | 2016-07-19 | 1 | -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_register | David Baker | 2016-07-19 | 1 | -78/+102 |
| |\ | | | | | | | rest/client/v2_alpha/register.py: Refactor flow somewhat. | ||||
| | * | Don't bind email unless threepid contains expected fields | Richard van der Hoff | 2016-07-19 | 1 | -28/+25 |
| | | | |||||
| | * | rest/client/v2_alpha/register.py: Refactor flow somewhat. | Richard van der Hoff | 2016-07-19 | 1 | -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 /login | Richard van der Hoff | 2016-07-18 | 1 | -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 Hunt | 2016-07-16 | 1 | -2/+1 |
| | | |||||
| * | Fall back to 'username' if 'user' is not given for appservice reg. | Will Hunt | 2016-07-16 | 1 | -3/+5 |
| | | |||||
| * | Add hs object | Erik Johnston | 2016-07-14 | 1 | -0/+1 |
| | | |||||
| * | Only accept password auth | Erik Johnston | 2016-07-14 | 1 | -12/+0 |
| | | |||||
| * | Add an /account/deactivate endpoint | Erik Johnston | 2016-07-14 | 1 | -0/+55 |
| | | |||||
| * | be more pythonic | David Baker | 2016-07-12 | 1 | -1/+1 |
| | | |||||
| * | on_OPTIONS isn't neccessary | David Baker | 2016-07-12 | 2 | -10/+1 |
| | | |||||
| * | Remove other debug logging | David Baker | 2016-07-12 | 1 | -2/+0 |
| | | |||||
| * | Separate out requestTokens to separate handlers | David Baker | 2016-07-11 | 2 | -65/+93 |
| | | |||||
| * | Oops, remove debug logging | David Baker | 2016-07-11 | 1 | -4/+0 |
| | | |||||
| * | Implement https://github.com/matrix-org/matrix-doc/pull/346/files | David Baker | 2016-07-08 | 1 | -0/+59 |
| | | |||||
| * | Split out the auth handler | David Baker | 2016-06-02 | 4 | -5/+5 |
| | | |||||
* | | Include the ts the notif was received at | David Baker | 2016-05-24 | 1 | -0/+1 |
| | | |||||
* | | Actually make the 'read' flag correct | David Baker | 2016-05-23 | 1 | -4/+3 |
| | | |||||
* | | Add GET /notifications API | David Baker | 2016-05-23 | 1 | -0/+100 |
|/ | |||||
* | Move SyncHandler out of the Handlers object | Mark Haines | 2016-05-16 | 1 | -2/+1 |
| | |||||
* | Move the presence handler out of the Handlers object | Mark Haines | 2016-05-16 | 2 | -2/+2 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into dbkr/email_notifs | David Baker | 2016-05-10 | 2 | -0/+155 |
|\ | |||||
| * | Rename openid/token to openid/request_token | Mark Haines | 2016-05-05 | 1 | -2/+2 |
| | | |||||
| * | Add an openidish mechanism for proving to third parties that you own a given ↵ | Mark Haines | 2016-05-05 | 1 | -0/+96 |
| | | | | | | | | user_id | ||||
| * | Add timestamp and auto incrementing ID | Erik Johnston | 2016-05-04 | 1 | -0/+2 |
| | | |||||
| * | Move event_id to path | Erik Johnston | 2016-05-04 | 1 | -4/+2 |
| | | |||||
| * | Add /report endpoint | Erik Johnston | 2016-05-04 | 1 | -0/+59 |
| | | |||||
* | | More consistent config naming | David Baker | 2016-05-10 | 1 | -1/+1 |
| | | |||||
* | | Add config option to not send email notifs for new users | David Baker | 2016-05-10 | 1 | -1/+4 |
| | | |||||
* | | Merge remote-tracking branch 'origin/develop' into dbkr/email_notifs | David Baker | 2016-04-29 | 1 | -0/+1 |
|\| | |||||
| * | Fix password reset | David Baker | 2016-04-29 | 1 | -0/+1 |
| | | | | | | | | Default requester to None, otherwise it isn't defined when resetting using email auth | ||||
* | | Add an email pusher for new users | David Baker | 2016-04-29 | 1 | -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 specification | Kegan Dougal | 2016-04-14 | 1 | -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 Haines | 2016-04-01 | 1 | -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 requests | Mark Haines | 2016-03-24 | 1 | -0/+3 |
| | |||||
* | remove debug logging | David Baker | 2016-03-16 | 1 | -3/+0 |
| | |||||
* | Unused import | David Baker | 2016-03-16 | 1 | -1/+0 |
| | |||||
* | Make registration idempotent, part 2: be idempotent if the client specifies ↵ | David Baker | 2016-03-16 | 1 | -5/+17 |
| | | | | a username. | ||||
* | take extra return val from check_auth in account too | David Baker | 2016-03-16 | 1 | -1/+1 |
| | |||||
* | pep8 & remove debug logging | David Baker | 2016-03-16 | 1 | -4/+5 |
| | |||||
* | Make registration idempotent: if you specify the same session, make it give ↵ | David Baker | 2016-03-16 | 1 | -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 bodies | Mark Haines | 2016-03-11 | 4 | -49/+16 |
| | |||||
* | Fix cache invalidation so deleting access tokens (which we did when changing ↵ | David Baker | 2016-03-11 | 1 | -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_token | blide | 2016-03-10 | 1 | -5/+8 |
| | | | | Guest registration still doesn't return refresh_token | ||||
* | Add a parse_json_object function | Mark Haines | 2016-03-09 | 4 | -33/+11 |
| | | | | | to deduplicate all the copy+pasted _parse_json functions. Also document the parse_.* functions. | ||||
* | Initial cut | Erik Johnston | 2016-02-17 | 2 | -6/+13 |
| | |||||
* | Catch the exceptions thrown by twisted when you write to a closed connection | Mark Haines | 2016-02-12 | 1 | -2/+3 |
| | |||||
* | Add some paranoia logging | Erik Johnston | 2016-02-11 | 1 | -0/+10 |
| | |||||
* | Fix up logcontexts | Erik Johnston | 2016-02-08 | 2 | -4/+4 |
| | |||||
* | Rename config field to reflect yaml name | Daniel Wagner-Hall | 2016-02-03 | 1 | -1/+1 |
| | |||||
* | Fix flake8 warnings for new flake8 | Daniel Wagner-Hall | 2016-02-02 | 1 | -1/+2 |
| | |||||
* | Merge pull request #545 from matrix-org/erikj/sync | Erik Johnston | 2016-02-02 | 1 | -75/+0 |
|\ | | | | | Move /sync state calculations from rest to handler | ||||
| * | Move state calculations from rest to handler | Erik Johnston | 2016-02-01 | 1 | -75/+0 |
| | | |||||
* | | Pull guest access token out of the auth session params, otherwise it will ↵ | David Baker | 2016-02-01 | 1 | -0/+1 |
|/ | | | | break if you open the email on a different device. | ||||
* | Allow three_pid_creds as well as threePidCreds in /account/3pid | Mark Haines | 2016-01-29 | 1 | -2/+3 |
| | |||||
* | Move logic from rest/ to handlers/ | Erik Johnston | 2016-01-25 | 1 | -34/+23 |
| | |||||
* | Sanitize filters | Erik Johnston | 2016-01-22 | 2 | -13/+13 |
| | |||||
* | Fix change_password | Erik Johnston | 2016-01-20 | 1 | -3/+2 |
| | |||||
* | Whine if we give a from param to /sync | Erik Johnston | 2016-01-20 | 1 | -0/+7 |
| | |||||
* | Only compute unread notifications for rooms we send down stream | Erik Johnston | 2016-01-19 | 1 | -2/+1 |
| | |||||
* | Return highlight_count in /sync | Erik Johnston | 2016-01-19 | 1 | -0/+1 |
| | |||||
* | Merge pull request #478 from matrix-org/daniel/userobject | Daniel Wagner-Hall | 2016-01-11 | 7 | -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 object | Daniel Wagner-Hall | 2016-01-11 | 7 | -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_actions | David Baker | 2016-01-08 | 2 | -1/+5 |
|\ \ | |/ |/| | Send unread notification counts | ||||
| * | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2016-01-06 | 1 | -6/+1 |
| |\ | |||||
| * | | Add is_guest flag to users db to track whether a user is a guest user or ↵ | David Baker | 2016-01-06 | 1 | -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_actions | David Baker | 2016-01-05 | 1 | -3/+9 |
| |\ \ | |||||
| * | | | Only joined rooms have unread_notif_count | David Baker | 2016-01-04 | 1 | -1/+1 |
| | | | | |||||
| * | | | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2015-12-22 | 1 | -1/+9 |
| |\ \ \ | |||||
| * \ \ \ | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2015-12-21 | 1 | -6/+21 |
| |\ \ \ \ | |||||
| * | | | | | still very WIP, but now sends unread_notifications_count in the room object ↵ | David Baker | 2015-12-16 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | on sync (only actually corrrect in a full sync: hardcoded to 0 in incremental syncs). | ||||
* | | | | | | copyrights | Matthew Hodgson | 2016-01-07 | 11 | -11/+11 |
| |_|_|_|/ |/| | | | | |||||
* | | | | | Guest users must be joined to a room to see it in /sync | Mark Haines | 2016-01-06 | 1 | -6/+1 |
| |_|_|/ |/| | | | |||||
* | | | | Allow guests to upgrade their accounts | Daniel Wagner-Hall | 2016-01-05 | 1 | -3/+9 |
| |_|/ |/| | | |||||
* | | | Allow guest access if the user provides a list of rooms in the filter | Mark Haines | 2015-12-22 | 1 | -1/+9 |
| |/ |/| | |||||
* | | Remove accidentally committed debug logging | Mark Haines | 2015-12-21 | 1 | -1/+0 |
| | | |||||
* | | Fix spacing | Mark Haines | 2015-12-14 | 1 | -1/+1 |
| | | |||||
* | | Fix logging to lie less | Mark Haines | 2015-12-14 | 1 | -2/+9 |
| | | |||||
* | | Add commentary for fix in PR#442 | Mark Haines | 2015-12-14 | 1 | -0/+6 |
| | | |||||
* | | Combine the prev content tests | Mark Haines | 2015-12-14 | 1 | -14/+12 |
| | | |||||
* | | Check whether prev_content or prev_sender is set before trying to rollback state | Mark Haines | 2015-12-14 | 1 | -8/+13 |
|/ | |||||
* | Allow filter JSON object in the filter query parameter in /sync | Mark Haines | 2015-12-09 | 1 | -9/+21 |
| | | | | Documented by matrix-org/matrix-doc#224 | ||||
* | Actually host r0 and unstable prefixes | Daniel Wagner-Hall | 2015-12-08 | 1 | -36/+0 |
| | |||||
* | Update endpoints to reflect current spec | Daniel Wagner-Hall | 2015-12-02 | 2 | -3/+3 |
| | |||||
* | Add API for setting account_data globaly or on a per room basis | Mark Haines | 2015-12-01 | 3 | -0/+119 |
| | |||||
* | Host /unstable and /r0 versions of r0 APIs | Daniel Wagner-Hall | 2015-12-01 | 10 | -27/+35 |
| | |||||
* | Merge branch 'develop' into rav/flatten_sync_response | Paul "LeoNerd" Evans | 2015-11-19 | 2 | -5/+5 |
|\ | |||||
| * | s/private_user_data/account_data/ | Mark Haines | 2015-11-18 | 2 | -5/+5 |
| | | |||||
* | | Put back the 'state.events' subobject | Richard van der Hoff | 2015-11-19 | 1 | -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 states | Richard van der Hoff | 2015-11-19 | 1 | -3/+3 |
| | | | | | | | | | | | | joined->join invited->invite archived->leave | ||||
* | | Flatten the /sync response to remove the event_map | Richard van der Hoff | 2015-11-19 | 1 | -22/+13 |
|/ | |||||
* | Implementation of state rollback in /sync | Richard van der Hoff | 2015-11-13 | 1 | -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 Hoff | 2015-11-13 | 1 | -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 comments | Richard van der Hoff | 2015-11-13 | 1 | -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-Hall | 2015-11-04 | 7 | -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 done | Mark Haines | 2015-11-03 | 1 | -1/+0 |
| | |||||
* | Include room tags in v2 /sync | Mark Haines | 2015-11-02 | 1 | -0/+5 |
| | |||||
* | Store room tag content and return the content in the m.tag event | Mark Haines | 2015-11-02 | 1 | -2/+10 |
| | |||||
* | Merge branch 'develop' into markjh/room_tags | Mark Haines | 2015-11-02 | 1 | -2/+4 |
|\ | |||||
| * | Implement full_state incremental sync | Richard van der Hoff | 2015-10-26 | 1 | -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 /events | Mark Haines | 2015-10-29 | 1 | -3/+11 |
| | | |||||
* | | Fix pyflakes errors | Mark Haines | 2015-10-28 | 1 | -0/+2 |
| | | |||||
* | | Add APIs for adding and removing tags from rooms | Mark Haines | 2015-10-28 | 2 | -0/+91 |
|/ | |||||
* | Merge pull request #319 from matrix-org/erikj/filter_refactor | Erik Johnston | 2015-10-22 | 1 | -2/+2 |
|\ | | | | | Refactor api.filtering to have a Filter API | ||||
| * | Refactor api.filtering to have a Filter API | Erik Johnston | 2015-10-20 | 1 | -2/+2 |
| | | |||||
* | | Add rooms that the user has left under archived in v2 sync. | Mark Haines | 2015-10-19 | 1 | -6/+23 |
|/ | |||||
* | Include invites in incremental sync | Mark Haines | 2015-10-13 | 1 | -1/+1 |
| | |||||
* | Include invited rooms in the initial sync | Mark Haines | 2015-10-13 | 1 | -1/+20 |
| | |||||
* | Start spliting out the rooms into joined and invited in v2 sync | Mark Haines | 2015-10-13 | 1 | -9/+9 |
| | |||||
* | Update the filters to match the latest spec. | Mark Haines | 2015-10-12 | 1 | -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 sync | Mark Haines | 2015-10-09 | 1 | -3/+11 |
| | |||||
* | Merge branch 'markjh/eventstream_presence' into markjh/v2_sync_api | Mark Haines | 2015-10-09 | 1 | -0/+4 |
|\ | |||||
| * | Validate the receipt type before passing it on to the receipt handler | Kegan Dougal | 2015-10-01 | 1 | -0/+4 |
| | | |||||
* | | Format the presence events correctly for v2 | Mark Haines | 2015-10-09 | 1 | -3/+9 |
| | | |||||
* | | Update the v2 room sync format to match the current v2 spec | Mark Haines | 2015-10-08 | 1 | -7/+7 |
| | | |||||
* | | Update the sync response to match the latest spec | Mark Haines | 2015-10-07 | 1 | -24/+22 |
| | | |||||
* | | Move the rooms out into a room_map mapping from room_id to room. | Mark Haines | 2015-10-05 | 1 | -13/+31 |
| | | |||||
* | | Start updating the sync API to match the specification | Mark Haines | 2015-10-01 | 1 | -53/+22 |
|/ | |||||
* | Merge pull request #274 from matrix-org/add_threepid_fix | David Baker | 2015-09-10 | 1 | -0/+1 |
|\ | | | | | Fix adding threepids to an existing account | ||||
| * | Fix adding threepids to an existing account | David Baker | 2015-09-10 | 1 | -0/+1 |
| | | |||||
* | | Merge pull request #248 from matrix-org/deviceid | Daniel Wagner-Hall | 2015-08-25 | 5 | -11/+10 |
|\ \ | | | | | | | Remove completely unused concepts from codebase | ||||
| * | | Fix up one more reference | Daniel Wagner-Hall | 2015-08-25 | 1 | -3/+2 |
| | | | |||||
| * | | Remove completely unused concepts from codebase | Daniel Wagner-Hall | 2015-08-25 | 5 | -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 libraries | Mark Haines | 2015-08-24 | 1 | -1/+2 |
|/ / | |||||
* | | Merge branch 'develop' into refresh | Daniel Wagner-Hall | 2015-08-20 | 2 | -1/+29 |
|\| | | | | | | | | | Conflicts: synapse/rest/client/v1/login.py | ||||
| * | Remove spurious extra arg to set_password | David Baker | 2015-08-20 | 1 | -1/+1 |
| | | |||||
| * | Merge pull request #211 from matrix-org/email_in_use | Mark Haines | 2015-08-20 | 1 | -0/+28 |
| |\ | | | | | | | Changes for unique emails | ||||
| | * | Check absent before trying to access keys | David Baker | 2015-08-12 | 1 | -3/+3 |
| | | | |||||
| | * | Just leaving off the $ is fine. r* == registerrrrrrrrr | David Baker | 2015-08-12 | 1 | -1/+1 |
| | | | |||||
| | * | Remember to yield: not much point testing is a deferred is not None | David Baker | 2015-08-04 | 1 | -1/+2 |
| | | | |||||
| | * | splt long line | David Baker | 2015-08-04 | 1 | -1/+3 |
| | | | |||||
| | * | Add endpoint that proxies ID server request token and errors if the given ↵ | David Baker | 2015-08-04 | 1 | -1/+26 |
| | | | | | | | | | | | | email is in use on this Home Server. | ||||
* | | | /tokenrefresh POST endpoint | Daniel Wagner-Hall | 2015-08-20 | 2 | -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-federation | Mark Haines | 2015-08-18 | 1 | -30/+70 |
|\ \ | | | | | | | Federation for end-to-end key requests. | ||||
| * | | Merge remote-tracking branch 'origin/develop' into ↵ | Mark Haines | 2015-08-13 | 1 | -54/+73 |
| |\| | | | | | | | | | | markjh/end-to-end-key-federation | ||||
| * | | Get the end-to-end key federation working | Mark Haines | 2015-07-24 | 1 | -5/+5 |
| | | | |||||
| * | | Add federation support for end-to-end key requests | Mark Haines | 2015-07-23 | 1 | -30/+70 |
| | | | |||||
* | | | Simplify LoginHander and AuthHandler | Daniel Wagner-Hall | 2015-08-12 | 2 | -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 Baker | 2015-08-03 | 1 | -1/+2 |
| | | | | | | | | been saved in the auth layer) | ||||
* | | Use the same reg paths as register v1 for ASes. | Kegan Dougal | 2015-07-29 | 1 | -4/+6 |
| | | | | | | | | Namely this means using registration_handler.appservice_register. | ||||
* | | Fix v2_alpha registration. Add unit tests. | Kegan Dougal | 2015-07-28 | 1 | -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 Baker | 2015-07-21 | 1 | -1/+1 |
| | |||||
* | s/take/claim/ for end to end key APIs | Mark Haines | 2015-07-20 | 1 | -5/+5 |
| | |||||
* | Merge pull request #199 from matrix-org/erikj/receipts | Erik Johnston | 2015-07-16 | 2 | -0/+57 |
|\ | | | | | Implement read receipts. | ||||
| * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receipts | Erik Johnston | 2015-07-13 | 2 | -0/+278 |
| |\ | |||||
| * | | Wire together receipts and the notifer/federation | Erik Johnston | 2015-07-07 | 1 | -2/+1 |
| | | | |||||
| * | | Add a ReceiptServlet | Erik Johnston | 2015-07-07 | 2 | -1/+59 |
| | | | |||||
* | | | pep8 + debug line | David Baker | 2015-07-15 | 1 | -6/+8 |
| | | | |||||
* | | | Add back in support for remembering parameters submitted to a ↵ | David Baker | 2015-07-15 | 1 | -2/+9 |
| |/ |/| | | | | | user-interactive auth call. | ||||
* | | Assume that each device for a user has only one of each type of key | Mark Haines | 2015-07-10 | 1 | -3/+3 |
| | | |||||
* | | Don't bother with a timeout for one time keys on the server. | Mark Haines | 2015-07-09 | 1 | -18/+7 |
| | | |||||
* | | Add client API for uploading and querying keys for end to end encryption | Mark Haines | 2015-07-06 | 2 | -1/+290 |
|/ | |||||
* | Add config option to turn off freezing events. Use new encode_json api and ↵ | Erik Johnston | 2015-05-29 | 1 | -1/+1 |
| | | | | ujson.loads | ||||
* | Make shared secret registration work again | David Baker | 2015-05-14 | 1 | -1/+4 |
| | |||||
* | user_id now in user_threepids | David Baker | 2015-05-01 | 1 | -3/+3 |
| | |||||
* | pep8 | David Baker | 2015-04-27 | 1 | -1/+2 |
| | |||||
* | logging args | David Baker | 2015-04-27 | 1 | -2/+2 |
| | |||||
* | More underscores | David Baker | 2015-04-24 | 2 | -4/+4 |
| | |||||
* | Use underscores instead of camelcase for id server stuff | David Baker | 2015-04-24 | 1 | -2/+2 |
| | |||||
* | Merge branch 'develop' into csauth | David Baker | 2015-04-24 | 1 | -9/+11 |
|\ | | | | | | | | | Conflicts: synapse/http/server.py | ||||
| * | Combine the request wrappers in rest/media/v1 and http/server into a single ↵ | Mark Haines | 2015-04-21 | 1 | -9/+11 |
| | | | | | | | | wrapper decorator | ||||
* | | Dedicated error code for failed 3pid auth verification | David Baker | 2015-04-23 | 1 | -1/+3 |
| | | |||||
* | | Password reset, finally. | David Baker | 2015-04-17 | 1 | -5/+16 |
| | | |||||
* | | Add endpoint to get threepids from server | David Baker | 2015-04-17 | 1 | -0/+12 |
| | | |||||
* | | make add3pid servlet work | David Baker | 2015-04-17 | 2 | -12/+64 |
| | | |||||
* | | just the once would probably be fine | David Baker | 2015-04-17 | 1 | -1/+0 |
| | | |||||
* | | Register the 3pid servlet | David Baker | 2015-04-17 | 1 | -1/+3 |
| | | |||||
* | | password -> account servlet and add start of an 'add 3pid' endpoint | David Baker | 2015-04-17 | 2 | -2/+17 |
| | | |||||
* | | Return user ID in use error straight away | David Baker | 2015-04-16 | 1 | -2/+23 |
| | | |||||
* | | Dummy login so we can do the first POST request to get login flows without ↵ | David Baker | 2015-04-15 | 1 | -4/+14 |
| | | | | | | | | it just succeeding | ||||
* | | Regstration with email in v2 | David Baker | 2015-04-15 | 2 | -7/+7 |
| | |