c144252a8c 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3710  from matrix-org/rav/logcontext_for_pusher_updates  
							
							... 
							
							
							
							Fix logcontexts for running pushers 
							
						 
						
							2018-08-17 16:21:49 +01:00  
				
					
						
							
							
								 
						
							
							
								66f7dc8c87 
								
							
								 
							
						 
						
							
							
								
								Fix logcontexts for running pushers  
							
							... 
							
							
							
							First of all, avoid resetting the logcontext before running the pushers, to fix
the "Starting db txn 'get_all_updated_receipts' from sentinel context" warning.
Instead, give them their own "background process" logcontexts. 
							
						 
						
							2018-08-17 00:32:39 +01:00  
				
					
						
							
							
								 
						
							
							
								372bf073c1 
								
							
								 
							
						 
						
							
							
								
								block event creation and room creation on hitting resource limits  
							
							
							
						 
						
							2018-08-16 21:25:16 +01:00  
				
					
						
							
							
								 
						
							
							
								2f78f432c4 
								
							
								 
							
						 
						
							
							
								
								speed up /members and add at= and membership params ( #3568 )  
							
							
							
						 
						
							2018-08-15 16:35:22 +01:00  
				
					
						
							
							
								 
						
							
							
								b37c472419 
								
									
								
							
								 
							
						 
						
							
							
								
								Rename async to async_helpers because `async` is a keyword on Python 3.7 ( #3678 )  
							
							
							
						 
						
							2018-08-10 23:50:21 +10:00  
				
					
						
							
							
								 
						
							
							
								729b672823 
								
							
								 
							
						 
						
							
							
								
								Use new helper base class for ReplicationSendEventRestServlet  
							
							
							
						 
						
							2018-07-31 14:32:23 +01:00  
				
					
						
							
							
								 
						
							
							
								536bc63a4e 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' into erikj/client_apis_move  
							
							
							
						 
						
							2018-07-24 09:57:05 +01:00  
				
					
						
							
							
								 
						
							
							
								0faa3223cd 
								
							
								 
							
						 
						
							
							
								
								Fix missing attributes on workers.  
							
							... 
							
							
							
							This was missed during the transition from attribute to getter for
getting state from context. 
							
						 
						
							2018-07-23 16:28:00 +01:00  
				
					
						
							
							
								 
						
							
							
								0b0b24cb82 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' of github.com:matrix-org/synapse into erikj/client_apis_move  
							
							
							
						 
						
							2018-07-23 13:21:15 +01:00  
				
					
						
							
							
								 
						
							
							
								e42510ba63 
								
							
								 
							
						 
						
							
							
								
								Use new getters  
							
							
							
						 
						
							2018-07-23 13:17:22 +01:00  
				
					
						
							
							
								 
						
							
							
								5c88bb722f 
								
							
								 
							
						 
						
							
							
								
								Move PaginationHandler to its own file  
							
							
							
						 
						
							2018-07-20 15:32:23 +01:00  
				
					
						
							
							
								 
						
							
							
								0ecf68aedc 
								
							
								 
							
						 
						
							
							
								
								Move check_in_room_or_world_readable to Auth  
							
							
							
						 
						
							2018-07-20 15:30:59 +01:00  
				
					
						
							
							
								 
						
							
							
								7c712f95bb 
								
							
								 
							
						 
						
							
							
								
								Combine Limiter and Linearizer  
							
							... 
							
							
							
							Linearizer was effectively a Limiter with max_count=1, so rather than
maintaining two sets of code, let's combine them. 
							
						 
						
							2018-07-20 13:11:43 +01:00  
				
					
						
							
							
								 
						
							
							
								8462c26485 
								
							
								 
							
						 
						
							
							
								
								Improvements to the Limiter  
							
							... 
							
							
							
							* give them names, to improve logging
* use a deque rather than a list for efficiency 
							
						 
						
							2018-07-20 12:50:27 +01:00  
				
					
						
							
							
								 
						
							
							
								8cb8df55e9 
								
							
								 
							
						 
						
							
							
								
								Split MessageHandler into read only and writers  
							
							... 
							
							
							
							This will let us call the read only parts from workers, and so be able
to move some APIs off of master, e.g. the `/state` API. 
							
						 
						
							2018-07-18 15:33:03 +01:00  
				
					
						
							
							
								 
						
							
							
								ea752bdd99 
								
							
								 
							
						 
						
							
							
								
								s/becuase/because/g  
							
							
							
						 
						
							2018-07-10 17:58:18 +01:00  
				
					
						
							
							
								 
						
							
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
				
					
						
							
							
								 
						
							
							
								6350bf925e 
								
									
								
							
								 
							
						 
						
							
							
								
								Attempt to be more performant on PyPy ( #3462 )  
							
							
							
						 
						
							2018-06-28 14:49:57 +01:00  
				
					
						
							
							
								 
						
							
							
								0269367f18 
								
							
								 
							
						 
						
							
							
								
								allow non-consented users to still part rooms (to let us autopart them)  
							
							
							
						 
						
							2018-06-25 17:56:10 +01:00  
				
					
						
							
							
								 
						
							
							
								07cad26d65 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove all global reactor imports & pass it around explicitly ( #3424 )  
							
							
							
						 
						
							2018-06-25 14:08:28 +01:00  
				
					
						
							
							
								 
						
							
							
								77ac14b960 
								
									
								
							
								 
							
						 
						
							
							
								
								Pass around the reactor explicitly ( #3385 )  
							
							
							
						 
						
							2018-06-22 09:37:10 +01:00  
				
					
						
							
							
								 
						
							
							
								a61738b316 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove run_on_reactor ( #3395 )  
							
							
							
						 
						
							2018-06-14 18:27:37 +10:00  
				
					
						
							
							
								 
						
							
							
								4a9cbdbc15 
								
							
								 
							
						 
						
							
							
								
								Exempt AS-registered users from doing gdpr  
							
							
							
						 
						
							2018-05-29 19:54:32 +01:00  
				
					
						
							
							
								 
						
							
							
								17a70cf6e9 
								
							
								 
							
						 
						
							
							
								
								Misc. py3 fixes  
							
							... 
							
							
							
							Signed-off-by: Adrian Tschira <nota@notafile.com> 
							
						 
						
							2018-05-24 20:20:33 +02:00  
				
					
						
							
							
								 
						
							
							
								a0b3946fe2 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge branch 'release-v0.30.0' into rav/localpart_in_consent_uri  
							
							
							
						 
						
							2018-05-23 16:06:03 +01:00  
				
					
						
							
							
								 
						
							
							
								3ff6f50eac 
								
							
								 
							
						 
						
							
							
								
								Use the localpart in the consent uri  
							
							... 
							
							
							
							... because it's shorter. 
							
						 
						
							2018-05-23 15:28:23 +01:00  
				
					
						
							
							
								 
						
							
							
								82191b08f6 
								
							
								 
							
						 
						
							
							
								
								Support for putting %(consent_uri)s in messages  
							
							... 
							
							
							
							Make it possible to put the URI in the error message and the server notice that
get sent by the server 
							
						 
						
							2018-05-23 15:24:31 +01:00  
				
					
						
							
							
								 
						
							
							
								a5e2941aad 
								
							
								 
							
						 
						
							
							
								
								Reject attempts to send event before privacy consent is given  
							
							... 
							
							
							
							Returns an M_CONSENT_NOT_GIVEN error (cf
https://github.com/matrix-org/matrix-doc/issues/1252 ) if consent is not yet
given. 
							
						 
						
							2018-05-22 12:00:47 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								ca7211104e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'release-v0.28.1' into develop  
							
							
							
						 
						
							2018-05-01 18:16:57 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								453adf00b6 
								
							
								 
							
						 
						
							
							
								
								pep8; remove spurious import  
							
							
							
						 
						
							2018-04-27 14:32:08 +01:00  
				
					
						
							
							
								 
						
							
							
								fc149b4eeb 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'origin/develop' into rav/use_run_in_background  
							
							
							
						 
						
							2018-04-27 14:31:23 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								41d4b07a53 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #3142  from matrix-org/rav/reraise  
							
							... 
							
							
							
							reraise exceptions more carefully 
							
						 
						
							2018-04-27 12:16:19 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								639480e14a 
								
							
								 
							
						 
						
							
							
								
								Avoid creating events with huge numbers of prev_events  
							
							... 
							
							
							
							In most cases, we limit the number of prev_events for a given event to 10
events. This fixes a particular code path which created events with huge
numbers of prev_events. 
							
						 
						
							2018-04-16 18:41:37 +01:00  
				
					
						
							
							
								 
						
							
							
								f8e8ec013b 
								
							
								 
							
						 
						
							
							
								
								Note why we're limiting concurrent event sends  
							
							
							
						 
						
							2018-04-10 14:00:46 +01:00  
				
					
						
							
							
								 
						
							
							
								e5082494eb 
								
							
								 
							
						 
						
							
							
								
								Limit concurrent event sends for a room  
							
							
							
						 
						
							2018-04-09 12:07:39 +01:00  
				
					
						
							
							
								 
						
							
							
								05630758f2 
								
							
								 
							
						 
						
							
							
								
								Use static JSONEncoders  
							
							... 
							
							
							
							using json.dumps with custom options requires us to create a new JSONEncoder on
each call. It's more efficient to create one upfront and reuse it. 
							
						 
						
							2018-03-29 23:13:33 +01:00  
				
					
						
							
							
								 
						
							
							
								fa72803490 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of github.com:matrix-org/synapse into develop  
							
							
							
						 
						
							2018-03-19 11:41:01 +00:00  
				
					
						
							
							
								 
						
							
							
								926ba76e23 
								
							
								 
							
						 
						
							
							
								
								Replace ujson with simplejson  
							
							
							
						 
						
							2018-03-15 23:43:31 +00:00  
				
					
						
							
							
								 
						
							
							
								d0fcc48f9d 
								
							
								 
							
						 
						
							
							
								
								extra_users is actually a list of UserIDs  
							
							
							
						 
						
							2018-03-13 11:20:06 +00:00  
				
					
						
							
							
								 
						
							
							
								e48c7aac4d 
								
							
								 
							
						 
						
							
							
								
								Add transactional API to history purge  
							
							... 
							
							
							
							Make the purge request return quickly, and allow scripts to poll for updates. 
							
						 
						
							2018-03-12 16:22:55 +00:00  
				
					
						
							
							
								 
						
							
							
								1708412f56 
								
							
								 
							
						 
						
							
							
								
								Return an error when doing two purges on a room  
							
							... 
							
							
							
							Queuing up purges doesn't sound like a good thing. 
							
						 
						
							2018-03-12 16:22:54 +00:00  
				
					
						
							
							
								 
						
							
							
								f8bfcd7e0d 
								
							
								 
							
						 
						
							
							
								
								Provide a means to pass a timestamp to purge_history  
							
							
							
						 
						
							2018-03-05 14:37:23 +00:00  
				
					
						
							
							
								 
						
							
							
								f381d63813 
								
							
								 
							
						 
						
							
							
								
								Check event auth on the worker  
							
							
							
						 
						
							2018-03-01 10:18:37 +00:00  
				
					
						
							
							
								 
						
							
							
								6b8604239f 
								
							
								 
							
						 
						
							
							
								
								Correctly send ratelimit and extra_users params  
							
							
							
						 
						
							2018-03-01 10:08:39 +00:00  
				
					
						
							
							
								 
						
							
							
								f756f961ea 
								
							
								 
							
						 
						
							
							
								
								Fixup comments  
							
							
							
						 
						
							2018-03-01 10:05:27 +00:00