Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								6cfee09be9 
								
							
								 
							
						 
						
							
							
								
								Make __init__ consitstent across Store heirarchy  
							
							 
							
							... 
							
							
							
							Add db_conn parameters to the `__init__` methods of the *Store classes, so that
they are all consistent, which makes the multiple inheritance work correctly
(and so that we can later extract mixins which can be used in the slavedstores) 
							
						 
						
							2017-11-13 10:46:07 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								64ed74c01e 
								
							
								 
							
						 
						
							
							
								
								When pruning, delete from device_lists_outbound_last_success  
							
							 
							
							
							
						 
						
							2017-06-07 11:20:47 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1a81a1898e 
								
							
								 
							
						 
						
							
							
								
								Keep pruning background task  
							
							 
							
							
							
						 
						
							2017-06-07 11:16:56 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								65f0513a33 
								
							
								 
							
						 
						
							
							
								
								Split up device_lists_outbound_pokes table for faster updates.  
							
							 
							
							
							
						 
						
							2017-06-07 11:02:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6a12998a83 
								
							
								 
							
						 
						
							
							
								
								Add missing yields  
							
							 
							
							
							
						 
						
							2017-05-08 16:10:51 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								94e6ad71f5 
								
							
								 
							
						 
						
							
							
								
								Invalidate cache on device deletion  
							
							 
							
							
							
						 
						
							2017-05-08 15:55:59 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								fc6d4974a6 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							 
							
							
							
						 
						
							2017-05-08 15:33:57 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								738ccf61c0 
								
							
								 
							
						 
						
							
							
								
								Cache check to see if device exists  
							
							 
							
							
							
						 
						
							2017-05-08 15:32:18 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								24d35ab47b 
								
							
								 
							
						 
						
							
							
								
								Add new storage functions for new replication  
							
							 
							
							... 
							
							
							
							The new replication protocol will keep all the streams separate, rather
than muxing multiple streams into one. 
							
						 
						
							2017-03-30 11:48:35 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2a28b79e04 
								
							
								 
							
						 
						
							
							
								
								Batch sending of device list pokes  
							
							 
							
							
							
						 
						
							2017-03-24 14:44:49 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								00957d1aa4 
								
							
								 
							
						 
						
							
							
								
								User Cursor.__iter__ instead of fetchall  
							
							 
							
							... 
							
							
							
							This prevents unnecessary construction of lists 
							
						 
						
							2017-03-23 17:53:49 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								29ed09e80a 
								
							
								 
							
						 
						
							
							
								
								Fix assertion to stop transaction queue getting wedged  
							
							 
							
							... 
							
							
							
							... and update some docstrings to correctly reflect the types being used.
get_new_device_msgs_for_remote can return a long under some circumstances,
which was being stored in last_device_list_stream_id_by_dest, and was then
upsetting things on the next loop. 
							
						 
						
							2017-03-15 12:16:55 +00:00  
						
					 
				
					
						
							
							
								 
								Luke Barnard
							
						 
						
							 
							
							
							
								
							
								bbeeb97f75 
								
							
								 
							
						 
						
							
							
								
								Implement _simple_delete_many_txn, use it to delete devices  
							
							 
							
							... 
							
							
							
							(But this doesn't implement the same for deleting access tokens or e2e keys.
Also respond to code review. 
							
						 
						
							2017-03-13 17:53:23 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ac5491f563 
								
							
								 
							
						 
						
							
							
								
								Select distinct devices from DB  
							
							 
							
							... 
							
							
							
							Otherwise we might pull out tonnes of duplicate user_ids and this can
make synapse sad. 
							
						 
						
							2017-03-06 11:10:14 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								da52d3af31 
								
							
								 
							
						 
						
							
							
								
								Fix up  
							
							 
							
							
							
						 
						
							2017-03-03 15:29:13 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d766343668 
								
							
								 
							
						 
						
							
							
								
								Add index to device_lists_stream  
							
							 
							
							
							
						 
						
							2017-03-01 15:56:30 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3365117151 
								
							
								 
							
						 
						
							
							
								
								Clobber old device list stream entries  
							
							 
							
							
							
						 
						
							2017-03-01 10:21:30 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8a12b6f1eb 
								
							
								 
							
						 
						
							
							
								
								Fix up txn name  
							
							 
							
							
							
						 
						
							2017-02-28 10:15:50 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								f58dbb02a6 
								
							
								 
							
						 
						
							
							
								
								Cache get_user_devices_from_cache  
							
							 
							
							
							
						 
						
							2017-02-27 16:22:12 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ab55794b6f 
								
							
								 
							
						 
						
							
							
								
								Fix deletion of old sent devices correctly  
							
							 
							
							
							
						 
						
							2017-01-31 13:22:41 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d3169e8d28 
								
							
								 
							
						 
						
							
							
								
								Only fetch with row ts and count > 1  
							
							 
							
							
							
						 
						
							2017-01-31 11:20:03 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								05b9f48ee5 
								
							
								 
							
						 
						
							
							
								
								Fix clearing out old device list outbound pokes  
							
							 
							
							
							
						 
						
							2017-01-31 10:08:55 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c2c9a78db9 
								
							
								 
							
						 
						
							
							
								
								Noop device key changes if they're the same  
							
							 
							
							
							
						 
						
							2017-01-30 16:55:04 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e75a779d9e 
								
							
								 
							
						 
						
							
							
								
								Fix query  
							
							 
							
							
							
						 
						
							2017-01-30 16:38:20 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3670025e64 
								
							
								 
							
						 
						
							
							
								
								Rename func  
							
							 
							
							
							
						 
						
							2017-01-30 14:11:31 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d360c97ae1 
								
							
								 
							
						 
						
							
							
								
								Clear out old destination pokes.  
							
							 
							
							
							
						 
						
							2017-01-30 10:14:37 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								76100203ab 
								
							
								 
							
						 
						
							
							
								
								Always use the latest stream_id, sent or unsent  
							
							 
							
							
							
						 
						
							2017-01-30 10:14:25 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d1e1fd6210 
								
							
								 
							
						 
						
							
							
								
								Add ts column to device_lists_outbound_pokes  
							
							 
							
							
							
						 
						
							2017-01-27 15:23:48 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								252b503fc8 
								
							
								 
							
						 
						
							
							
								
								Hook device list updates to replication  
							
							 
							
							
							
						 
						
							2017-01-27 14:31:35 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								84a35f32c7 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							 
							
							
							
						 
						
							2017-01-27 10:35:12 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								738a2867c8 
								
							
								 
							
						 
						
							
							
								
								SQL param ordering  
							
							 
							
							
							
						 
						
							2017-01-27 10:31:29 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								755adff0e4 
								
							
								 
							
						 
						
							
							
								
								User if rather than for  
							
							 
							
							
							
						 
						
							2017-01-27 10:31:06 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								888c59c955 
								
							
								 
							
						 
						
							
							
								
								Better name  
							
							 
							
							
							
						 
						
							2017-01-27 10:29:47 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								f25a4a4692 
								
							
								 
							
						 
						
							
							
								
								Remove unused param  
							
							 
							
							
							
						 
						
							2017-01-27 10:27:39 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								76d40f4904 
								
							
								 
							
						 
						
							
							
								
								Handle users leaving rooms  
							
							 
							
							
							
						 
						
							2017-01-26 16:39:33 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								fbfad76c03 
								
							
								 
							
						 
						
							
							
								
								Add comments  
							
							 
							
							
							
						 
						
							2017-01-26 16:33:21 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c974116f19 
								
							
								 
							
						 
						
							
							
								
								Implement device key caching over federation  
							
							 
							
							
							
						 
						
							2017-01-26 16:07:24 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								51e9fe36e4 
								
							
								 
							
						 
						
							
							
								
								Fix up sending of m.device_list_update edus  
							
							 
							
							
							
						 
						
							2017-01-25 16:55:21 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2367c5568c 
								
							
								 
							
						 
						
							
							
								
								Add basic implementation of local device list changes  
							
							 
							
							
							
						 
						
							2017-01-25 14:27:27 +00:00  
						
					 
				
					
						
							
							
								 
								Mark Haines
							
						 
						
							 
							
							
							
								
							
								85b51fdd6b 
								
							
								 
							
						 
						
							
							
								
								Log the types and values when failing to store devices  
							
							 
							
							
							
						 
						
							2016-09-07 17:19:18 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								012b4c1913 
								
							
								 
							
						 
						
							
							
								
								Implement updating devices  
							
							 
							
							... 
							
							
							
							You can update the displayname of devices now. 
							
						 
						
							2016-07-26 07:35:48 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								436bffd15f 
								
							
								 
							
						 
						
							
							
								
								Implement deleting devices  
							
							 
							
							
							
						 
						
							2016-07-26 07:35:48 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								bc8f265f0a 
								
							
								 
							
						 
						
							
							
								
								GET /devices endpoint  
							
							 
							
							... 
							
							
							
							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. 
							
						 
						
							2016-07-20 16:42:32 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								f863a52cea 
								
							
								 
							
						 
						
							
							
								
								Add device_id support to /login  
							
							 
							
							... 
							
							
							
							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. 
							
						 
						
							2016-07-18 16:39:44 +01:00