summary refs log tree commit diff
path: root/synapse/handlers/device.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-03-141-0/+34
|\ | | | | | | erikj/public_list_speed
| * Implement _simple_delete_many_txn, use it to delete devicesLuke Barnard2017-03-131-0/+34
| | | | | | | | | | | | (But this doesn't implement the same for deleting access tokens or e2e keys. Also respond to code review.
* | Get current state by using current_state_events tableErik Johnston2017-03-101-1/+1
|/
* Don't keep around old stream IDs foreverErik Johnston2017-03-031-2/+9
|
* SpellingErik Johnston2017-03-031-2/+2
|
* Fix device list update to not constantly resyncErik Johnston2017-03-011-46/+115
|
* Fix bugs in the /keys/changes apiRichard van der Hoff2017-02-141-9/+29
| | | | | | | | | | | | | | | * `get_forward_extremeties_for_room` takes a numeric `stream_ordering`. We were passing a `RoomStreamToken`, which meant that it returned the *current* extremities, rather than those corresponding to the `from_token`. However: * `get_state_ids_for_events` required a second ('types') parameter; this meant that a `TypeError` was thrown and we ended up acting as though there was *no* prev state. * `get_state_ids_for_events` actually returns a map from event_id to state dictionary - just looking up the state keys in it again meant that we acted as though there was no prev state. We now check if each member's state has changed since *any* of the extremities. Also add/fix some comments.
* Measure new device list stuffErik Johnston2017-02-021-0/+4
|
* Use new get_users_who_share_room_with_userErik Johnston2017-02-021-11/+13
|
* Use stream_ordering_to_exterm for /keys/changesErik Johnston2017-02-021-9/+9
|
* Doc argsErik Johnston2017-02-011-0/+7
|
* Include newly joined users in /keys/changes APIErik Johnston2017-02-011-4/+35
|
* Implement /keys/changesErik Johnston2017-02-011-0/+16
|
* Use get_users_in_room and declare it iterableErik Johnston2017-01-301-1/+1
|
* Hook device list updates to replicationErik Johnston2017-01-271-16/+0
|
* Better nameErik Johnston2017-01-271-1/+3
|
* Handle users leaving roomsErik Johnston2017-01-261-1/+16
|
* Add commentsErik Johnston2017-01-261-3/+16
|
* Implement device key caching over federationErik Johnston2017-01-261-12/+73
|
* Fix up sending of m.device_list_update edusErik Johnston2017-01-251-0/+1
|
* Add basic implementation of local device list changesErik Johnston2017-01-251-12/+53
|
* make device IDs more useful for human disambiguationMatthew Hodgson2016-09-131-1/+1
|
* PEP8Richard van der Hoff2016-08-031-1/+1
|
* Default device_display_name to nullRichard van der Hoff2016-08-031-1/+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".
* Delete e2e keys on device deleteRichard van der Hoff2016-07-271-0/+4
|
* Delete refresh tokens when deleting devicesRichard van der Hoff2016-07-261-2/+4
|
* Implement updating devicesRichard van der Hoff2016-07-261-0/+24
| | | | You can update the displayname of devices now.
* Implement deleting devicesRichard van der Hoff2016-07-261-1/+26
|
* make /devices return a listRichard van der Hoff2016-07-211-5/+5
| | | | Turns out I specced this to return a list of devices rather than a dict of them
* Fix PEP8 errorsRichard van der Hoff2016-07-211-1/+1
|
* Implement GET /device/{deviceId}Richard van der Hoff2016-07-211-9/+37
|
* GET /devices endpointRichard van der Hoff2016-07-201-0/+27
| | | | | | | 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.
* Add device_id support to /loginRichard van der Hoff2016-07-181-0/+71
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.