49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
				
					
						
							
							
								 
						
							
							
								07cad26d65 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove all global reactor imports & pass it around explicitly ( #3424 )  
							
							
							
						 
						
							2018-06-25 14:08:28 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								754826a830 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'origin/develop' into 3218-official-prom  
							
							
							
						 
						
							2018-05-28 18:57:23 +10:00  
				
					
						
							
							
								 
						
							
							
								1f69693347 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3244  from NotAFile/py3-six-4  
							
							... 
							
							
							
							replace some iteritems with six 
							
						 
						
							2018-05-24 13:04:07 -05:00  
				
					
						
							
							
								 
						
							
							
								53cc2cde1f 
								
							
								 
							
						 
						
							
							
								
								cleanup  
							
							
							
						 
						
							2018-05-22 17:32:57 -05:00  
				
					
						
							
							
								 
						
							
							
								8f5a688d42 
								
							
								 
							
						 
						
							
							
								
								cleanups, self-registration  
							
							
							
						 
						
							2018-05-22 10:56:03 -05:00  
				
					
						
							
							
								 
						
							
							
								a8990fa2ec 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'origin/develop' into 3218-official-prom  
							
							
							
						 
						
							2018-05-22 10:50:26 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								df9f72d9e5 
								
							
								 
							
						 
						
							
							
								
								replacing portions  
							
							
							
						 
						
							2018-05-21 19:47:37 -05:00  
				
					
						
							
							
								 
						
							
							
								933bf2dd35 
								
							
								 
							
						 
						
							
							
								
								replace some iteritems with six  
							
							... 
							
							
							
							Signed-off-by: Adrian Tschira <nota@notafile.com> 
							
						 
						
							2018-05-19 17:59:26 +02:00  
				
					
						
							
							
								 
						
							
							
								d43d480d86 
								
							
								 
							
						 
						
							
							
								
								Remove unused `update_external_syncs`  
							
							... 
							
							
							
							This method isn't used anywhere. Burninate it. 
							
						 
						
							2018-05-17 18:22:19 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								265b993b8a 
								
							
								 
							
						 
						
							
							
								
								Split replication layer into two  
							
							
							
						 
						
							2018-03-13 10:55:47 +00:00  
				
					
						
							
							
								 
						
							
							
								c3f79c9da5 
								
							
								 
							
						 
						
							
							
								
								Split out edu/query registration to a separate class  
							
							
							
						 
						
							2018-03-13 10:24:27 +00:00  
				
					
						
							
							
								 
						
							
							
								34c3d0a386 
								
							
								 
							
						 
						
							
							
								
								typo  
							
							
							
						 
						
							2017-11-17 01:54:02 +00:00  
				
					
						
							
							
								 
						
							
							
								eaaabc6c4f 
								
							
								 
							
						 
						
							
							
								
								replace 'except:' with 'except Exception:'  
							
							... 
							
							
							
							what could possibly go wrong 
							
						 
						
							2017-10-23 15:52:32 +01:00  
				
					
						
							
							
								 
						
							
							
								ec5c4499f4 
								
							
								 
							
						 
						
							
							
								
								Make presence use cached users/hosts in room  
							
							
							
						 
						
							2017-05-16 16:01:43 +01:00  
				
					
						
							
							
								 
						
							
							
								c7ddb5ef7a 
								
							
								 
							
						 
						
							
							
								
								Reuse get_interested_parties  
							
							
							
						 
						
							2017-04-12 10:16:26 +01:00  
				
					
						
							
							
								 
						
							
							
								414522aed5 
								
							
								 
							
						 
						
							
							
								
								Move get_interested_parties  
							
							
							
						 
						
							2017-04-11 15:33:26 +01:00  
				
					
						
							
							
								 
						
							
							
								2be8a281d2 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							
							
						 
						
							2017-04-11 15:28:24 +01:00  
				
					
						
							
							
								 
						
							
							
								6308ac45b0 
								
							
								 
							
						 
						
							
							
								
								Move get_interested_remotes back to presence handler  
							
							
							
						 
						
							2017-04-11 15:19:26 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								877c029c16 
								
							
								 
							
						 
						
							
							
								
								Use iteritems  
							
							
							
						 
						
							2017-04-06 15:51:22 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								9d0170ac6c 
								
							
								 
							
						 
						
							
							
								
								Fix up presence  
							
							
							
						 
						
							2017-03-31 11:36:32 +01:00  
				
					
						
							
							
								 
						
							
							
								63fcc42990 
								
							
								 
							
						 
						
							
							
								
								Remove user from process_presence when stops syncing  
							
							
							
						 
						
							2017-03-30 14:26:08 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								7fc1f1e2b6 
								
							
								 
							
						 
						
							
							
								
								Cache hosts in room  
							
							
							
						 
						
							2017-03-24 11:46:24 +00:00  
				
					
						
							
							
								 
						
							
							
								6957bfdca6 
								
							
								 
							
						 
						
							
							
								
								Don't recreate so many sets  
							
							
							
						 
						
							2017-03-16 11:54:26 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								f83ac78201 
								
							
								 
							
						 
						
							
							
								
								Cache set of users whose presence the other user should see  
							
							
							
						 
						
							2017-03-15 15:29:19 +00:00  
				
					
						
							
							
								 
						
							
							
								e6032054bf 
								
							
								 
							
						 
						
							
							
								
								Add a great comment to handle_timeout for active vs sync times.  
							
							
							
						 
						
							2017-03-15 15:24:48 +00:00  
				
					
						
							
							
								 
						
							
							
								ebf5a6b14c 
								
							
								 
							
						 
						
							
							
								
								Add fallback to last_active_ts if it beats the last sync time.  
							
							
							
						 
						
							2017-03-15 15:17:16 +00:00  
				
					
						
							
							
								 
						
							
							
								e892457a03 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2017-03-15 15:01:39 +00:00  
				
					
						
							
							
								 
						
							
							
								6c82de5100 
								
							
								 
							
						 
						
							
							
								
								Format presence events on the edges instead of reformatting them multiple times  
							
							
							
						 
						
							2017-03-15 14:27:34 +00:00  
				
					
						
							
							
								 
						
							
							
								9e617cd4c2 
								
							
								 
							
						 
						
							
							
								
								Cache get_presence storage  
							
							
							
						 
						
							2017-02-13 13:50:03 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								fd1c18c088 
								
							
								 
							
						 
						
							
							
								
								Use DB cache of joined users for presence  
							
							
							
						 
						
							2017-01-30 17:00:24 +00:00  
				
					
						
							
							
								 
						
							
							
								59ef517e6b 
								
							
								 
							
						 
						
							
							
								
								Use new federation_sender DI  
							
							
							
						 
						
							2016-11-16 14:47:52 +00:00  
				
					
						
							
							
								 
						
							
							
								ca35e54d6b 
								
							
								 
							
						 
						
							
							
								
								Fix typo "persiting"  
							
							
							
						 
						
							2016-09-13 13:26:33 +01:00  
				
					
						
							
							
								 
						
							
							
								52b2318777 
								
							
								 
							
						 
						
							
							
								
								Clobber EDUs in send queue  
							
							
							
						 
						
							2016-09-09 15:59:08 +01:00  
				
					
						
							
							
								 
						
							
							
								6c4d582144 
								
							
								 
							
						 
						
							
							
								
								Deduplicate presence in _update_states  
							
							
							
						 
						
							2016-09-09 14:28:22 +01:00  
				
					
						
							
							
								 
						
							
							
								8b93af662d 
								
							
								 
							
						 
						
							
							
								
								Check the user_id for presence/typing matches origin  
							
							
							
						 
						
							2016-09-08 15:07:38 +01:00  
				
					
						
							
							
								 
						
							
							
								3c4208a057 
								
							
								 
							
						 
						
							
							
								
								Record counts of state changes  
							
							
							
						 
						
							2016-09-06 11:31:01 +01:00  
				
					
						
							
							
								 
						
							
							
								438ef47637 
								
							
								 
							
						 
						
							
							
								
								Short circuit if presence is the same  
							
							
							
						 
						
							2016-09-06 10:28:35 +01:00  
				
					
						
							
							
								 
						
							
							
								74a3b4a650 
								
							
								 
							
						 
						
							
							
								
								Fiddle should_notify to better report stats  
							
							
							
						 
						
							2016-09-06 10:23:38 +01:00  
				
					
						
							
							
								 
						
							
							
								69054e3d4c 
								
							
								 
							
						 
						
							
							
								
								Record why we have chosen to notify  
							
							
							
						 
						
							2016-09-05 14:12:11 +01:00  
				
					
						
							
							
								 
						
							
							
								265d847ffd 
								
							
								 
							
						 
						
							
							
								
								Fix typo in log line  
							
							
							
						 
						
							2016-09-01 14:50:06 +01:00