0f971ca68e 
								
									
								
							
								 
							
						 
						
							
							
								
								Update `get_pdu` to return the original, pristine `EventBase` ( #13320 )  
							
							... 
							
							
							
							Update `get_pdu` to return the untouched, pristine `EventBase` as it was originally seen over federation (no metadata added). Previously, we returned the same `event` reference that we stored in the cache which downstream code modified in place and added metadata like setting it as an `outlier`  and essentially poisoned our cache. Now we always return a copy of the `event` so the original can stay pristine in our cache and re-used for the next cache call.
Split out from https://github.com/matrix-org/synapse/pull/13205 
As discussed at:
 - https://github.com/matrix-org/synapse/pull/13205#discussion_r918365746 
 - https://github.com/matrix-org/synapse/pull/13205#discussion_r918366125 
Related to https://github.com/matrix-org/synapse/issues/12584 . This PR doesn't fix that issue because it hits [`get_event` which exists from the local database before it tries to `get_pdu`](7864f33e28/synapse/federation/federation_client.py (L581-L594) 
							
						 
						
							2022-07-20 15:58:51 -05:00  
				
					
						
							
							
								 
						
							
							
								a1b62af2af 
								
									
								
							
								 
							
						 
						
							
							
								
								Validate federation destinations and log an error if server name is invalid. ( #13318 )  
							
							
							
						 
						
							2022-07-20 11:17:26 -07:00  
				
					
						
							
							
								 
						
							
							
								52a0c8f2f7 
								
									
								
							
								 
							
						 
						
							
							
								
								Rename test case method to `add_hashes_and_signatures_from_other_server` ( #13255 )  
							
							
							
						 
						
							2022-07-12 18:46:32 +00:00  
				
					
						
							
							
								 
						
							
							
								78b99de7c2 
								
									
								
							
								 
							
						 
						
							
							
								
								Prefer `make_awaitable` over `defer.succeed` in tests ( #12505 )  
							
							... 
							
							
							
							When configuring the return values of mocks, prefer awaitables from
`make_awaitable` over `defer.succeed`. `Deferred`s are only awaitable
once, so it is inappropriate for a mock to return the same `Deferred`
multiple times.
Also update `run_in_background` to support functions that return
arbitrary awaitables.
Signed-off-by: Sean Quah <seanq@element.io> 
							
						 
						
							2022-04-27 14:58:26 +01:00  
				
					
						
							
							
								 
						
							
							
								7273011f60 
								
									
								
							
								 
							
						 
						
							
							
								
								Faster joins: Support for calling `/federation/v1/state` ( #12013 )  
							
							... 
							
							
							
							This is an endpoint that we have server-side support for, but no client-side support. It's going to be useful for resyncing partial-stated rooms, so let's introduce it. 
							
						 
						
							2022-02-22 12:17:10 +00:00