Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								c334ca67bb 
								
									
								
							
								 
							
						 
						
							
							
								
								Integrate presence from hotfixes ( #3694 )  
							
							 
							
							
							
						 
						
							2018-08-18 01:08:45 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								99dd975dae 
								
									
								
							
								 
							
						 
						
							
							
								
								Run tests under PostgreSQL ( #3423 )  
							
							 
							
							
							
						 
						
							2018-08-13 16:47:46 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								b37c472419 
								
									
								
							
								 
							
						 
						
							
							
								
								Rename async to async_helpers because `async` is a keyword on Python 3.7 ( #3678 )  
							
							 
							
							
							
						 
						
							2018-08-10 23:50:21 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							 
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								07cad26d65 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove all global reactor imports & pass it around explicitly ( #3424 )  
							
							 
							
							
							
						 
						
							2018-06-25 14:08:28 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								c936a52a9e 
								
									
								
							
								 
							
						 
						
							
							
								
								Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy ( #3307 )  
							
							 
							
							
							
						 
						
							2018-05-31 19:03:47 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								754826a830 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'origin/develop' into 3218-official-prom  
							
							 
							
							
							
						 
						
							2018-05-28 18:57:23 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								1f69693347 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3244  from NotAFile/py3-six-4  
							
							 
							
							... 
							
							
							
							replace some iteritems with six 
							
						 
						
							2018-05-24 13:04:07 -05:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								53cc2cde1f 
								
							
								 
							
						 
						
							
							
								
								cleanup  
							
							 
							
							
							
						 
						
							2018-05-22 17:32:57 -05:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								8f5a688d42 
								
							
								 
							
						 
						
							
							
								
								cleanups, self-registration  
							
							 
							
							
							
						 
						
							2018-05-22 10:56:03 -05:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								a8990fa2ec 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'origin/develop' into 3218-official-prom  
							
							 
							
							
							
						 
						
							2018-05-22 10:50:26 -05:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								8810685df9 
								
							
								 
							
						 
						
							
							
								
								Stub out ServerNoticesSender on the workers  
							
							 
							
							... 
							
							
							
							... and have the sync endpoints call it directly rather than obsure indirection
via PresenceHandler 
							
						 
						
							2018-05-22 11:54:51 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								9ea219c514 
								
							
								 
							
						 
						
							
							
								
								Send users a server notice about consent  
							
							 
							
							... 
							
							
							
							When a user first syncs, we will send them a server notice asking them to
consent to the privacy policy if they have not already done so. 
							
						 
						
							2018-05-22 11:54:51 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								df9f72d9e5 
								
							
								 
							
						 
						
							
							
								
								replacing portions  
							
							 
							
							
							
						 
						
							2018-05-21 19:47:37 -05:00  
						
					 
				
					
						
							
							
								 
								Adrian Tschira
							
						 
						
							 
							
							
							
								
							
								933bf2dd35 
								
							
								 
							
						 
						
							
							
								
								replace some iteritems with six  
							
							 
							
							... 
							
							
							
							Signed-off-by: Adrian Tschira <nota@notafile.com> 
							
						 
						
							2018-05-19 17:59:26 +02:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								d43d480d86 
								
							
								 
							
						 
						
							
							
								
								Remove unused `update_external_syncs`  
							
							 
							
							... 
							
							
							
							This method isn't used anywhere. Burninate it. 
							
						 
						
							2018-05-17 18:22:19 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								9255a6cb17 
								
							
								 
							
						 
						
							
							
								
								Improve exception handling for background processes  
							
							 
							
							... 
							
							
							
							There were a bunch of places where we fire off a process to happen in the
background, but don't have any exception handling on it - instead relying on
the unhandled error being logged when the relevent deferred gets
garbage-collected.
This is unsatisfactory for a number of reasons:
 - logging on garbage collection is best-effort and may happen some time after
   the error, if at all
 - it can be hard to figure out where the error actually happened.
 - it is logged as a scary CRITICAL error which (a) I always forget to grep for
   and (b) it's not really CRITICAL if a background process we don't care about
   fails.
So this is an attempt to add exception handling to everything we fire off into
the background. 
							
						 
						
							2018-04-27 11:07:40 +01:00  
						
					 
				
					
						
							
							
								 
								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