d758d5310e 
								
							
								 
							
						 
						
							
							
								
								Correctly use default room version if none is set  
							
							
							
						 
						
							2019-01-28 17:26:39 +00:00  
				
					
						
							
							
								 
						
							
							
								ae2a957dba 
								
							
								 
							
						 
						
							
							
								
								Pass through room version to event auth  
							
							
							
						 
						
							2019-01-25 18:31:41 +00:00  
				
					
						
							
							
								 
						
							
							
								a50cf929c1 
								
							
								 
							
						 
						
							
							
								
								Require event format version to parse or create events  
							
							
							
						 
						
							2019-01-25 10:32:19 +00:00  
				
					
						
							
							
								 
						
							
							
								be6a7e47fa 
								
									
								
							
								 
							
						 
						
							
							
								
								Revert "Require event format version to parse or create events"  
							
							
							
						 
						
							2019-01-25 10:23:51 +00:00  
				
					
						
							
							
								 
						
							
							
								f431ff3fb8 
								
							
								 
							
						 
						
							
							
								
								Require event format version to parse or create events  
							
							
							
						 
						
							2019-01-23 20:21:33 +00:00  
				
					
						
							
							
								 
						
							
							
								9b827c40ca 
								
									
								
							
								 
							
						 
						
							
							
								
								Log some bits about event creation ( #4121 )  
							
							... 
							
							
							
							I found these helpful in debugging my room upgrade tests. 
							
						 
						
							2018-10-31 15:42:23 +00:00  
				
					
						
							
							
								 
						
							
							
								cb53ce9d64 
								
									
								
							
								 
							
						 
						
							
							
								
								Refactor state group lookup to reduce DB hits ( #4011 )  
							
							... 
							
							
							
							Currently when fetching state groups from the data store we make two
hits two the database: once for members and once for non-members (unless
request is filtered to one or the other). This adds needless load to the
datbase, so this PR refactors the lookup to make only a single database
hit. 
							
						 
						
							2018-10-25 17:49:55 +01:00  
				
					
						
							
							
								 
						
							
							
								e7a16c6210 
								
							
								 
							
						 
						
							
							
								
								Remove redundant run_as_background_process() from pusherpool  
							
							... 
							
							
							
							`on_new_notifications` and `on_new_receipts` in `HttpPusher` and `EmailPusher`
now always return synchronously, so we can remove the `defer.gatherResults` on
their results, and the `run_as_background_process` wrappers can be removed too
because the PusherPool methods will now complete quickly enough. 
							
						 
						
							2018-10-22 16:12:11 +01:00  
				
					
						
							
							
								 
						
							
							
								8174c6725b 
								
							
								 
							
						 
						
							
							
								
								Avoid reraise, to improve stacktraces  
							
							
							
						 
						
							2018-10-01 18:50:34 +01:00  
				
					
						
							
							
								 
						
							
							
								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