Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								6d9dc67139 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3232  from matrix-org/rav/server_notices_room  
							
							 
							
							... 
							
							
							
							Infrastructure for a server notices room 
							
						 
						
							2018-05-18 11:28:04 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								67af392712 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3233  from matrix-org/rav/remove_dead_code  
							
							 
							
							... 
							
							
							
							Remove unused `update_external_syncs` 
							
						 
						
							2018-05-18 11:22:43 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								26305788fe 
								
							
								 
							
						 
						
							
							
								
								Make sure we reject attempts to invite the notices user  
							
							 
							
							
							
						 
						
							2018-05-18 11:18:39 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								fa30ac38cc 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3221  from matrix-org/erikj/purge_token  
							
							 
							
							... 
							
							
							
							Make purge_history operate on tokens 
							
						 
						
							2018-05-18 10:35:23 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								88d3405332 
								
							
								 
							
						 
						
							
							
								
								fix missing yield for server_notices_room  
							
							 
							
							
							
						 
						
							2018-05-17 18:33:45 +01: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
							
						 
						
							 
							
							
							
								
							
								fed62e21ad 
								
							
								 
							
						 
						
							
							
								
								Infrastructure for a server notices room  
							
							 
							
							... 
							
							
							
							Server Notices use a special room which the user can't dismiss. They are
created on demand when some other bit of the code calls send_notice.
(This doesn't actually do much yet becuse we don't call send_notice anywhere) 
							
						 
						
							2018-05-17 17:58:25 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								c46367d0d7 
								
							
								 
							
						 
						
							
							
								
								Move RoomCreationHandler out of synapse.handlers.Handlers  
							
							 
							
							... 
							
							
							
							Handlers is deprecated nowadays, so let's move this out before I add a new
dependency on it.
Also fix the docstrings on create_room. 
							
						 
						
							2018-05-17 09:08:42 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								5f27ed75ad 
								
							
								 
							
						 
						
							
							
								
								Make purge_history operate on tokens  
							
							 
							
							... 
							
							
							
							As we're soon going to change how topological_ordering works 
							
						 
						
							2018-05-15 16:23:50 +01:00  
						
					 
				
					
						
							
							
								 
								David Baker
							
						 
						
							 
							
							
								
								
							
							
								
							
								8cbbfd16fb 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3201  from matrix-org/dbkr/leave_rooms_on_deactivate  
							
							 
							
							... 
							
							
							
							Part user from rooms on account deactivate 
							
						 
						
							2018-05-14 11:31:48 +01:00  
						
					 
				
					
						
							
							
								 
								David Baker
							
						 
						
							 
							
							
							
								
							
								6b49628e3b 
								
							
								 
							
						 
						
							
							
								
								Catch failure to part user from room  
							
							 
							
							
							
						 
						
							2018-05-10 12:23:53 +01:00  
						
					 
				
					
						
							
							
								 
								David Baker
							
						 
						
							 
							
							
							
								
							
								217bc53c98 
								
							
								 
							
						 
						
							
							
								
								Many docstrings  
							
							 
							
							
							
						 
						
							2018-05-10 12:20:40 +01:00  
						
					 
				
					
						
							
							
								 
								David Baker
							
						 
						
							 
							
							
							
								
							
								4d298506dd 
								
							
								 
							
						 
						
							
							
								
								Oops, don't call function passed to run_in_background  
							
							 
							
							
							
						 
						
							2018-05-10 11:57:13 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								bfe1f73855 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3199  from matrix-org/erikj/pagination_sync  
							
							 
							
							... 
							
							
							
							Refactor sync APIs to reuse pagination API 
							
						 
						
							2018-05-09 16:16:56 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								d26bec8a43 
								
							
								 
							
						 
						
							
							
								
								Add comment to sync as to why code path is split  
							
							 
							
							
							
						 
						
							2018-05-09 15:56:07 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								fcf55f2255 
								
							
								 
							
						 
						
							
							
								
								Fix returned token is no longer a tuple  
							
							 
							
							
							
						 
						
							2018-05-09 15:43:00 +01:00  
						
					 
				
					
						
							
							
								 
								David Baker
							
						 
						
							 
							
							
							
								
							
								294e9a0c9b 
								
							
								 
							
						 
						
							
							
								
								Prefix internal functions  
							
							 
							
							
							
						 
						
							2018-05-09 15:10:37 +01:00  
						
					 
				
					
						
							
							
								 
								David Baker
							
						 
						
							 
							
							
							
								
							
								52281e4c54 
								
							
								 
							
						 
						
							
							
								
								Indent fail  
							
							 
							
							
							
						 
						
							2018-05-09 15:06:16 +01:00  
						
					 
				
					
						
							
							
								 
								David Baker
							
						 
						
							 
							
							
							
								
							
								7e8726b8fb 
								
							
								 
							
						 
						
							
							
								
								Part deactivated users in the background  
							
							 
							
							... 
							
							
							
							One room at a time so we don't take out the whole server with leave
events, and restart at server restart. 
							
						 
						
							2018-05-09 14:54:28 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e2accd7f1d 
								
							
								 
							
						 
						
							
							
								
								Refactor sync APIs to reuse pagination API  
							
							 
							
							... 
							
							
							
							The sync API often returns events in a topological rather than stream
ordering, e.g. when the user joined the room or on initial sync. When
this happens we can reuse existing pagination storage functions. 
							
						 
						
							2018-05-09 13:43:39 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c4af4c24ca 
								
							
								 
							
						 
						
							
							
								
								Refactor get_recent_events_for_room return type  
							
							 
							
							... 
							
							
							
							There is no reason to return a tuple of tokens when the last token is
always the token passed as an argument. Changing it makes it consistent
with other storage APIs 
							
						 
						
							2018-05-09 11:55:34 +01:00  
						
					 
				
					
						
							
							
								 
								David Baker
							
						 
						
							 
							
							
							
								
							
								bf98fa0864 
								
							
								 
							
						 
						
							
							
								
								Part user from rooms on account deactivate  
							
							 
							
							... 
							
							
							
							This implements this very crudely: this probably isn't viable
because parting a user from all their rooms could take a long time,
and if the HS gets restarted in that time the process will be
aborted. 
							
						 
						
							2018-05-08 15:58:35 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								ca7211104e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'release-v0.28.1' into develop  
							
							 
							
							
							
						 
						
							2018-05-01 18:16:57 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								33f469ba19 
								
							
								 
							
						 
						
							
							
								
								Apply some limits to depth to counter abuse  
							
							 
							
							... 
							
							
							
							* When creating a new event, cap its depth to 2^63 - 1
* When receiving events, reject any without a sensible depth
As per https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI  
							
						 
						
							2018-05-01 17:54:19 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								63ae5cbf34 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3143  from matrix-org/rav/remove_redundant_preserve_fn  
							
							 
							
							... 
							
							
							
							Remove redundant call to preserve_fn 
							
						 
						
							2018-04-30 10:23:59 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								bc2017a594 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3153  from NotAFile/py3-httplib  
							
							 
							
							... 
							
							
							
							move httplib import to six 
							
						 
						
							2018-04-30 01:26:42 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								683149c1f9 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3151  from NotAFile/py3-xrange-1  
							
							 
							
							... 
							
							
							
							Move more xrange to six 
							
						 
						
							2018-04-30 01:20:06 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								3b0e431c82 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3150  from NotAFile/py3-listcomp-yield  
							
							 
							
							... 
							
							
							
							Don't yield in list comprehensions 
							
						 
						
							2018-04-30 01:11:41 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								db75c86e84 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' into py3-xrange-1  
							
							 
							
							
							
						 
						
							2018-04-30 01:02:25 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								af3cc50511 
								
							
								 
							
						 
						
							
							
								
								Remove redundant call to preserve_fn  
							
							 
							
							... 
							
							
							
							submit_event_for_as doesn't return a deferred anyway, so this is pointless. 
							
						 
						
							2018-04-30 00:48:36 +01:00  
						
					 
				
					
						
							
							
								 
								Adrian Tschira
							
						 
						
							 
							
							
							
								
							
								d82b6ea9e6 
								
							
								 
							
						 
						
							
							
								
								Move more xrange to six  
							
							 
							
							... 
							
							
							
							plus a bonus next()
Signed-off-by: Adrian Tschira <nota@notafile.com> 
							
						 
						
							2018-04-28 13:57:00 +02:00  
						
					 
				
					
						
							
							
								 
								Adrian Tschira
							
						 
						
							 
							
							
							
								
							
								94f4d7f49e 
								
							
								 
							
						 
						
							
							
								
								move httplib import to six  
							
							 
							
							
							
						 
						
							2018-04-28 13:43:34 +02:00  
						
					 
				
					
						
							
							
								 
								Adrian Tschira
							
						 
						
							 
							
							
							
								
							
								cdb4647a80 
								
							
								 
							
						 
						
							
							
								
								Don't yield in list comprehensions  
							
							 
							
							... 
							
							
							
							I've tried to grep for more of this with no success.
Signed-off-by: Adrian Tschira <nota@notafile.com> 
							
						 
						
							2018-04-28 13:36:30 +02:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								453adf00b6 
								
							
								 
							
						 
						
							
							
								
								pep8; remove spurious import  
							
							 
							
							
							
						 
						
							2018-04-27 14:32:08 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								fc149b4eeb 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'origin/develop' into rav/use_run_in_background  
							
							 
							
							
							
						 
						
							2018-04-27 14:31:23 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								2a13af23bc 
								
							
								 
							
						 
						
							
							
								
								Use run_in_background in preference to preserve_fn  
							
							 
							
							... 
							
							
							
							While I was going through uses of preserve_fn for other PRs, I converted places
which only use the wrapped function once to use run_in_background, to avoid
creating the function object. 
							
						 
						
							2018-04-27 12:55:51 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								41d4b07a53 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3142  from matrix-org/rav/reraise  
							
							 
							
							... 
							
							
							
							reraise exceptions more carefully 
							
						 
						
							2018-04-27 12:16:19 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								9c3da24561 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3138  from matrix-org/rav/catch_unhandled_exceptions  
							
							 
							
							... 
							
							
							
							Improve exception handling for background processes 
							
						 
						
							2018-04-27 11:47:49 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								6493b22b42 
								
							
								 
							
						 
						
							
							
								
								reraise exceptions more carefully  
							
							 
							
							... 
							
							
							
							We need to be careful (under python 2, at least) that when we reraise an
exception after doing some error handling, we actually reraise the original
exception rather than anything that might have been raised (and handled) during
the error handling. 
							
						 
						
							2018-04-27 11:40:06 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								605defb9e4 
								
							
								 
							
						 
						
							
							
								
								Add missing consumeErrors  
							
							 
							
							... 
							
							
							
							In general we want defer.gatherResults to consumeErrors, rather than having
exceptions hanging around and getting logged as CRITICAL unhandled errors. 
							
						 
						
							2018-04-27 11:16:28 +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  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								77ebef9d43 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3118  from matrix-org/rav/reject_prev_events  
							
							 
							
							... 
							
							
							
							Reject events which have lots of prev_events 
							
						 
						
							2018-04-23 17:51:38 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								9b9c38373c 
								
							
								 
							
						 
						
							
							
								
								Remove spurious param  
							
							 
							
							
							
						 
						
							2018-04-23 12:00:06 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								8dc4a6144b 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3107  from NotAFile/py3-bool-nonzero  
							
							 
							
							... 
							
							
							
							add __bool__ alias to __nonzero__ methods 
							
						 
						
							2018-04-20 15:43:39 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								3de7d9fe99 
								
							
								 
							
						 
						
							
							
								
								accept stupid events over backfill  
							
							 
							
							
							
						 
						
							2018-04-20 11:41:03 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								11a67b7c9d 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3093  from matrix-org/rav/response_cache_wrap  
							
							 
							
							... 
							
							
							
							Refactor ResponseCache usage 
							
						 
						
							2018-04-20 11:31:17 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								bc381d5798 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3117  from matrix-org/rav/refactor_have_events  
							
							 
							
							... 
							
							
							
							Refactor store.have_events 
							
						 
						
							2018-04-20 10:26:12 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								b1dfbc3c40 
								
							
								 
							
						 
						
							
							
								
								Refactor store.have_events  
							
							 
							
							... 
							
							
							
							It turns out that most of the time we were calling have_events, we were only
using half of the result. Replace have_events with have_seen_events and
get_rejection_reasons, so that we can see what's going on a bit more clearly. 
							
						 
						
							2018-04-20 10:25:56 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								1f4b498b73 
								
							
								 
							
						 
						
							
							
								
								Add some comments  
							
							 
							
							
							
						 
						
							2018-04-18 00:15:36 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								e585228860 
								
							
								 
							
						 
						
							
							
								
								Check events on backfill too  
							
							 
							
							
							
						 
						
							2018-04-18 00:06:42 +01:00