Erik Johnston
							
						 
						
							 
							
							
							
								
							
								265b993b8a 
								
							
								 
							
						 
						
							
							
								
								Split replication layer into two  
							
							 
							
							
							
						 
						
							2018-03-13 10:55:47 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c3f79c9da5 
								
							
								 
							
						 
						
							
							
								
								Split out edu/query registration to a separate class  
							
							 
							
							
							
						 
						
							2018-03-13 10:24:27 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								34c3d0a386 
								
							
								 
							
						 
						
							
							
								
								typo  
							
							 
							
							
							
						 
						
							2017-11-17 01:54:02 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								eaaabc6c4f 
								
							
								 
							
						 
						
							
							
								
								replace 'except:' with 'except Exception:'  
							
							 
							
							... 
							
							
							
							what could possibly go wrong 
							
						 
						
							2017-10-23 15:52:32 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ec5c4499f4 
								
							
								 
							
						 
						
							
							
								
								Make presence use cached users/hosts in room  
							
							 
							
							
							
						 
						
							2017-05-16 16:01:43 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c7ddb5ef7a 
								
							
								 
							
						 
						
							
							
								
								Reuse get_interested_parties  
							
							 
							
							
							
						 
						
							2017-04-12 10:16:26 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								414522aed5 
								
							
								 
							
						 
						
							
							
								
								Move get_interested_parties  
							
							 
							
							
							
						 
						
							2017-04-11 15:33:26 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2be8a281d2 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							 
							
							
							
						 
						
							2017-04-11 15:28:24 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6308ac45b0 
								
							
								 
							
						 
						
							
							
								
								Move get_interested_remotes back to presence handler  
							
							 
							
							
							
						 
						
							2017-04-11 15:19:26 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								29574fd5b3 
								
							
								 
							
						 
						
							
							
								
								Reduce federation presence replication traffic  
							
							 
							
							... 
							
							
							
							This is mainly done by moving the calculation of where to send presence
updates from the presence handler to the transaction queue, so we only
need to send the presence event (and not the destinations) across the
replication connection. Before we were duplicating by sending the full
state across once per destination. 
							
						 
						
							2017-04-10 16:48:30 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								877c029c16 
								
							
								 
							
						 
						
							
							
								
								Use iteritems  
							
							 
							
							
							
						 
						
							2017-04-06 15:51:22 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								36d2b66f90 
								
							
								 
							
						 
						
							
							
								
								Add a timestamp to USER_SYNC command  
							
							 
							
							... 
							
							
							
							This timestamp is used to indicate when the user last sync'd 
							
						 
						
							2017-03-31 15:42:22 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								9d0170ac6c 
								
							
								 
							
						 
						
							
							
								
								Fix up presence  
							
							 
							
							
							
						 
						
							2017-03-31 11:36:32 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								63fcc42990 
								
							
								 
							
						 
						
							
							
								
								Remove user from process_presence when stops syncing  
							
							 
							
							
							
						 
						
							2017-03-30 14:26:08 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e9dd8370b0 
								
							
								 
							
						 
						
							
							
								
								Add functions to presence to support remote syncs  
							
							 
							
							... 
							
							
							
							The TCP replication protocol streams deltas of who has started or
stopped syncing. This is different from the HTTP API which periodically
sends the full list of users who are syncing. This commit adds support
for the new TCP style of sending deltas. 
							
						 
						
							2017-03-30 13:25:14 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								7fc1f1e2b6 
								
							
								 
							
						 
						
							
							
								
								Cache hosts in room  
							
							 
							
							
							
						 
						
							2017-03-24 11:46:24 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6957bfdca6 
								
							
								 
							
						 
						
							
							
								
								Don't recreate so many sets  
							
							 
							
							
							
						 
						
							2017-03-16 11:54:26 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								54d2b7e596 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2014  from Half-Shot/hs/fix-appservice-presence  
							
							 
							
							... 
							
							
							
							Add fallback to last_active_ts if it beats the last sync time on a presence timeout. 
							
						 
						
							2017-03-15 17:37:15 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								f83ac78201 
								
							
								 
							
						 
						
							
							
								
								Cache set of users whose presence the other user should see  
							
							 
							
							
							
						 
						
							2017-03-15 15:29:19 +00:00  
						
					 
				
					
						
							
							
								 
								Will Hunt
							
						 
						
							 
							
							
							
								
							
								e6032054bf 
								
							
								 
							
						 
						
							
							
								
								Add a great comment to handle_timeout for active vs sync times.  
							
							 
							
							
							
						 
						
							2017-03-15 15:24:48 +00:00  
						
					 
				
					
						
							
							
								 
								Will Hunt
							
						 
						
							 
							
							
							
								
							
								ebf5a6b14c 
								
							
								 
							
						 
						
							
							
								
								Add fallback to last_active_ts if it beats the last sync time.  
							
							 
							
							
							
						 
						
							2017-03-15 15:17:16 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e892457a03 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							 
							
							
							
						 
						
							2017-03-15 15:01:39 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6c82de5100 
								
							
								 
							
						 
						
							
							
								
								Format presence events on the edges instead of reformatting them multiple times  
							
							 
							
							
							
						 
						
							2017-03-15 14:27:34 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								9e617cd4c2 
								
							
								 
							
						 
						
							
							
								
								Cache get_presence storage  
							
							 
							
							
							
						 
						
							2017-02-13 13:50:03 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								54a79c1d37 
								
							
								 
							
						 
						
							
							
								
								Make presence.get_new_events a bit faster  
							
							 
							
							... 
							
							
							
							We do this by caching the set of users a user shares rooms with. 
							
						 
						
							2017-02-02 13:07:18 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								fd1c18c088 
								
							
								 
							
						 
						
							
							
								
								Use DB cache of joined users for presence  
							
							 
							
							
							
						 
						
							2017-01-30 17:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								59ef517e6b 
								
							
								 
							
						 
						
							
							
								
								Use new federation_sender DI  
							
							 
							
							
							
						 
						
							2016-11-16 14:47:52 +00:00  
						
					 
				
					
						
							
							
								 
								Paul "LeoNerd" Evans
							
						 
						
							 
							
							
							
								
							
								ca35e54d6b 
								
							
								 
							
						 
						
							
							
								
								Fix typo "persiting"  
							
							 
							
							
							
						 
						
							2016-09-13 13:26:33 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								52b2318777 
								
							
								 
							
						 
						
							
							
								
								Clobber EDUs in send queue  
							
							 
							
							
							
						 
						
							2016-09-09 15:59:08 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								6c4d582144 
								
							
								 
							
						 
						
							
							
								
								Deduplicate presence in _update_states  
							
							 
							
							
							
						 
						
							2016-09-09 14:28:22 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8b93af662d 
								
							
								 
							
						 
						
							
							
								
								Check the user_id for presence/typing matches origin  
							
							 
							
							
							
						 
						
							2016-09-08 15:07:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3c4208a057 
								
							
								 
							
						 
						
							
							
								
								Record counts of state changes  
							
							 
							
							
							
						 
						
							2016-09-06 11:31:01 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								438ef47637 
								
							
								 
							
						 
						
							
							
								
								Short circuit if presence is the same  
							
							 
							
							
							
						 
						
							2016-09-06 10:28:35 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								74a3b4a650 
								
							
								 
							
						 
						
							
							
								
								Fiddle should_notify to better report stats  
							
							 
							
							
							
						 
						
							2016-09-06 10:23:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								69054e3d4c 
								
							
								 
							
						 
						
							
							
								
								Record why we have chosen to notify  
							
							 
							
							
							
						 
						
							2016-09-05 14:12:11 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								265d847ffd 
								
							
								 
							
						 
						
							
							
								
								Fix typo in log line  
							
							 
							
							
							
						 
						
							2016-09-01 14:50:06 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c7f665d700 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #1055  from matrix-org/erikj/occaisonally_persist  
							
							 
							
							... 
							
							
							
							Occaisonally persist unpersisted presence updates 
							
						 
						
							2016-08-30 15:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								097330bae8 
								
							
								 
							
						 
						
							
							
								
								Check correct variable  
							
							 
							
							
							
						 
						
							2016-08-30 15:50:20 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								21b977ccfe 
								
							
								 
							
						 
						
							
							
								
								Occaisonally persist unpersisted presence updates  
							
							 
							
							
							
						 
						
							2016-08-30 15:39:50 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								bc1a8b1f7a 
								
							
								 
							
						 
						
							
							
								
								Don't notify for online -> online transitions.  
							
							 
							
							... 
							
							
							
							Specifically, if currently_active remains true then we should not notify
if only the last active time changes. 
							
						 
						
							2016-08-30 15:05:32 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								bed10f9880 
								
							
								 
							
						 
						
							
							
								
								Use state handler instead of get_users_in_room/get_joined_hosts  
							
							 
							
							
							
						 
						
							2016-08-26 14:54:30 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								4e1cebd56f 
								
							
								 
							
						 
						
							
							
								
								Make synchrotron accept /events  
							
							 
							
							
							
						 
						
							2016-08-12 15:31:44 +01:00  
						
					 
				
					
						
							
							
								 
								Will Hunt
							
						 
						
							 
							
							
							
								
							
								2510db3e76 
								
							
								 
							
						 
						
							
							
								
								Don't change status_msg on /sync  
							
							 
							
							
							
						 
						
							2016-08-10 12:59:59 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								216a05b3e3 
								
							
								 
							
						 
						
							
							
								
								.values() returns list of sets  
							
							 
							
							
							
						 
						
							2016-06-06 16:00:09 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								96dc600579 
								
							
								 
							
						 
						
							
							
								
								Fix typos  
							
							 
							
							
							
						 
						
							2016-06-06 15:44:41 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								377eb480ca 
								
							
								 
							
						 
						
							
							
								
								Fire after 30s not 8h  
							
							 
							
							
							
						 
						
							2016-06-06 15:14:21 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								4ce84a1acd 
								
							
								 
							
						 
						
							
							
								
								Change metric style  
							
							 
							
							
							
						 
						
							2016-06-03 13:49:16 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a7ff5a1770 
								
							
								 
							
						 
						
							
							
								
								Presence metrics. Change def of small delta  
							
							 
							
							
							
						 
						
							2016-06-03 13:40:55 +01:00  
						
					 
				
					
						
							
							
								 
								Mark Haines
							
						 
						
							 
							
							
							
								
							
								70599ce925 
								
							
								 
							
						 
						
							
							
								
								Allow external processes to mark a user as syncing. ( #812 )  
							
							 
							
							... 
							
							
							
							* Add infrastructure to the presence handler to track sync requests in external processes
* Expire stale entries for dead external processes
* Add an http endpoint for making users as syncing
Add some docstrings and comments.
* Fixes 
							
						 
						
							2016-06-02 15:20:15 +01:00  
						
					 
				
					
						
							
							
								 
								Mark Haines
							
						 
						
							 
							
							
							
								
							
								b153f5b150 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #787  from matrix-org/markjh/liberate_presence_handler  
							
							 
							
							... 
							
							
							
							Move the presence handler out of the Handlers object 
							
						 
						
							2016-05-17 10:09:43 +01:00