Andrew Morgan
							
						 
						
							 
							
							
								
								
							
							
								
							
								b40657314e 
								
									
								
							
								 
							
						 
						
							
							
								
								Add module API callbacks for adding and deleting local 3PID associations ( #15044  
							
							 
							
							
							
						 
						
							2023-02-27 14:19:19 +00:00  
						
					 
				
					
						
							
							
								 
								dependabot[bot]
							
						 
						
							 
							
							
								
								
							
							
								
							
								9bb2eac719 
								
									
								
							
								 
							
						 
						
							
							
								
								Bump black from 22.12.0 to 23.1.0 ( #15103 )  
							
							 
							
							
							
						 
						
							2023-02-22 15:29:09 -05:00  
						
					 
				
					
						
							
							
								 
								Shay
							
						 
						
							 
							
							
								
								
							
							
								
							
								03bccd542b 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a class UnpersistedEventContext to allow for the batching up of storing state groups ( #14675 )  
							
							 
							
							... 
							
							
							
							* add class UnpersistedEventContext
* modify create new client event to create unpersistedeventcontexts
* persist event contexts after creation
* fix tests to persist unpersisted event contexts
* cleanup
* misc lints + cleanup
* changelog + fix comments
* lints
* fix batch insertion?
* reduce redundant calculation
* add unpersisted event classes
* rework compute_event_context, split into function that returns unpersisted event context and then persists it
* use calculate_context_info to create unpersisted event contexts
* update typing
* $%#^&*
* black
* fix comments and consolidate classes, use attr.s for class
* requested changes
* lint
* requested changes
* requested changes
* refactor to be stupidly explicit
* clearer renaming and flow
* make partial state non-optional
* update docstrings
---------
Co-authored-by: Erik Johnston <erik@matrix.org> 
							
						 
						
							2023-02-09 13:05:02 -08:00  
						
					 
				
					
						
							
							
								 
								David Teller
							
						 
						
							 
							
							
								
								
							
							
								
							
								57f6f59e3e 
								
									
								
							
								 
							
						 
						
							
							
								
								Make `_get_state_map_for_room` not break when room state events don't contain an event id. ( #13174 )  
							
							 
							
							... 
							
							
							
							Method `_get_state_map_for_room` seems to break in presence of some ill-formed events in the database. Reimplementing this method to use `get_current_state`, which is more robust to such events. 
							
						 
						
							2022-07-07 08:14:32 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								888a29f412 
								
									
								
							
								 
							
						 
						
							
							
								
								Wait for lazy join to complete when getting current state ( #12872 )  
							
							 
							
							
							
						 
						
							2022-06-01 16:02:53 +01:00  
						
					 
				
					
						
							
							
								 
								Sean Quah
							
						 
						
							 
							
							
								
								
							
							
								
							
								a00462dd99 
								
									
								
							
								 
							
						 
						
							
							
								
								Implement cancellation support/protection for module callbacks ( #12568 )  
							
							 
							
							... 
							
							
							
							There's no guarantee that module callbacks will handle cancellation
appropriately. Protect module callbacks with read semantics from
cancellation and avoid swallowing `CancelledError`s that arise.
Other module callbacks, such as the `on_*` callbacks, are presumed to
live on code paths that involve writes and aren't cancellation-friendly.
These module callbacks have been left alone.
Signed-off-by: Sean Quah <seanq@element.io> 
							
						 
						
							2022-05-09 12:31:14 +01:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
								
								
							
							
								
							
								5e88143dff 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a callback to react to 3PID associations ( #12302 )  
							
							 
							
							
							
						 
						
							2022-03-31 18:27:21 +02:00  
						
					 
				
					
						
							
							
								 
								Will Hunt
							
						 
						
							 
							
							
								
								
							
							
								
							
								15382b1afa 
								
									
								
							
								 
							
						 
						
							
							
								
								Add third_party module callbacks to check if a user can delete a room and deactivate a user ( #12028 )  
							
							 
							
							... 
							
							
							
							* Add check_can_deactivate_user
* Add check_can_shutdown_rooms
* Documentation
* callbacks, not functions
* Various suggested tweaks
* Add tests for test_check_can_shutdown_room and test_check_can_deactivate_user
* Update check_can_deactivate_user to not take a Requester
* Fix check_can_shutdown_room docs
* Renegade and use `by_admin` instead of `admin_user_id`
* fix lint
* Update docs/modules/third_party_rules_callbacks.md
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
* Update docs/modules/third_party_rules_callbacks.md
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
* Update docs/modules/third_party_rules_callbacks.md
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
* Update docs/modules/third_party_rules_callbacks.md
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2022-03-09 18:23:57 +00:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
								
								
							
							
								
							
								ae8a616b49 
								
									
								
							
								 
							
						 
						
							
							
								
								Correctly register deactivation and profile update module callbacks ( #12141 )  
							
							 
							
							
							
						 
						
							2022-03-03 11:39:58 +01:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
								
								
							
							
								
							
								300ed0b8a6 
								
									
								
							
								 
							
						 
						
							
							
								
								Add module callbacks called for reacting to deactivation status change and profile update ( #12062 )  
							
							 
							
							
							
						 
						
							2022-03-01 15:00:03 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								e24ff8ebe3 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove `HomeServer.get_datastore()` ( #12031 )  
							
							 
							
							... 
							
							
							
							The presence of this method was confusing, and mostly present for backwards
compatibility. Let's get rid of it.
Part of #11733  
							
						 
						
							2022-02-23 11:04:02 +00:00  
						
					 
				
					
						
							
							
								 
								reivilibre
							
						 
						
							 
							
							
								
								
							
							
								
							
								69ab3dddbc 
								
									
								
							
								 
							
						 
						
							
							
								
								Make `check_event_allowed` module API callback not fail open (accept events) when an exception is raised ( #11033 )  
							
							 
							
							
							
						 
						
							2021-11-01 15:45:56 +00:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
								
								
							
							
								
							
								c7a5e49664 
								
									
								
							
								 
							
						 
						
							
							
								
								Implement an `on_new_event` callback ( #11126 )  
							
							 
							
							... 
							
							
							
							Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> 
							
						 
						
							2021-10-26 15:17:36 +02:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								1f9d0b8a7a 
								
									
								
							
								 
							
						 
						
							
							
								
								Add type hints to synapse.events.*. ( #11066 )  
							
							 
							
							... 
							
							
							
							Except `synapse/events/__init__.py`, which will be done in a follow-up. 
							
						 
						
							2021-10-13 07:24:07 -04:00  
						
					 
				
					
						
							
							
								 
								reivilibre
							
						 
						
							 
							
							
								
								
							
							
								
							
								3828dd819b 
								
									
								
							
								 
							
						 
						
							
							
								
								Pass through `SynapseError`s that are raised from experimental `check_event_allowed` callback of the module API ( #11042 )  
							
							 
							
							... 
							
							
							
							Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2021-10-11 16:29:02 +01:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								bb7fdd821b 
								
									
								
							
								 
							
						 
						
							
							
								
								Use direct references for configuration variables (part 5). ( #10897 )  
							
							 
							
							
							
						 
						
							2021-09-24 07:25:21 -04:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
								
								
							
							
								
							
								a743bf4694 
								
									
								
							
								 
							
						 
						
							
							
								
								Port the ThirdPartyEventRules module interface to the new generic interface ( #10386 )  
							
							 
							
							... 
							
							
							
							Port the third-party event rules interface to the generic module interface introduced in v1.37.0 
							
						 
						
							2021-07-20 12:39:46 +02:00  
						
					 
				
					
						
							
							
								 
								Jonathan de Jong
							
						 
						
							 
							
							
								
								
							
							
								
							
								4b965c862d 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove redundant "coding: utf-8" lines ( #9786 )  
							
							 
							
							... 
							
							
							
							Part of #9744 
Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now.
`Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>` 
							
						 
						
							2021-04-14 15:34:27 +01:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								af387cf52a 
								
									
								
							
								 
							
						 
						
							
							
								
								Add type hints to misc. files. ( #9676 )  
							
							 
							
							
							
						 
						
							2021-03-24 06:49:01 -04:00  
						
					 
				
					
						
							
							
								 
								Eric Eastwood
							
						 
						
							 
							
							
								
								
							
							
								
							
								0a00b7ff14 
								
									
								
							
								 
							
						 
						
							
							
								
								Update black, and run auto formatting over the codebase ( #9381 )  
							
							 
							
							... 
							
							
							
							- Update black version to the latest
 - Run black auto formatting over the codebase
    - Run autoformatting according to [`docs/code_style.md
`](80d6dc9783/docs/code_style.md )
 - Update `code_style.md` docs around installing black to use the correct version 
							
						 
						
							2021-02-16 22:32:34 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								898196f1cc 
								
							
								 
							
						 
						
							
							
								
								guard against accidental modification  
							
							 
							
							
							
						 
						
							2020-10-13 23:24:50 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								617e8a4653 
								
							
								 
							
						 
						
							
							
								
								Allow ThirdPartyRules modules to replace event content  
							
							 
							
							... 
							
							
							
							Support returning a new event dict from `check_event_allowed`. 
							
						 
						
							2020-10-13 23:24:50 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								4f0637346a 
								
									
								
							
								 
							
						 
						
							
							
								
								Combine `SpamCheckerApi` with the more generic `ModuleApi`. ( #8464 )  
							
							 
							
							... 
							
							
							
							Lots of different module apis is not easy to maintain.
Rather than adding yet another ModuleApi(hs, hs.get_auth_handler()) incantation, first add an hs.get_module_api() method and use it where possible. 
							
						 
						
							2020-10-07 12:03:26 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								a024461130 
								
									
								
							
								 
							
						 
						
							
							
								
								Additional tests for third-party event rules ( #8468 )  
							
							 
							
							... 
							
							
							
							* Optimise and test state fetching for 3p event rules
Getting all the events at once is much more efficient than getting them
individually
* Test that 3p event rules can modify events 
							
						 
						
							2020-10-06 16:31:31 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								4cd1448d0e 
								
							
								 
							
						 
						
							
							
								
								Fix third-party event modules for `check_visibility_can_be_modified` check  
							
							 
							
							... 
							
							
							
							PR #8292  tried to maintain backwards compat with modules which don't provide a
`check_visibility_can_be_modified` method, but the tests weren't being run,
and the check didn't work. 
							
						 
						
							2020-10-05 20:29:52 +01:00  
						
					 
				
					
						
							
							
								 
								Andrew Morgan
							
						 
						
							 
							
							
								
								
							
							
								
							
								0991a2da93 
								
									
								
							
								 
							
						 
						
							
							
								
								Allow ThirdPartyEventRules modules to manipulate public room state ( #8292 )  
							
							 
							
							... 
							
							
							
							This PR allows `ThirdPartyEventRules` modules to view, manipulate and block changes to the state of whether a room is published in the public rooms directory.
While the idea of whether a room is in the public rooms list is not kept within an event in the room, `ThirdPartyEventRules` generally deal with controlling which modifications can happen to a room. Public rooms fits within that idea, even if its toggle state isn't controlled through a state event. 
							
						 
						
							2020-10-05 14:57:46 +01:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								c619253db8 
								
									
								
							
								 
							
						 
						
							
							
								
								Stop sub-classing object ( #8249 )  
							
							 
							
							
							
						 
						
							2020-09-04 06:54:56 -04:00  
						
					 
				
					
						
							
							
								 
								Patrick Cloke
							
						 
						
							 
							
							
								
								
							
							
								
							
								8553f46498 
								
									
								
							
								 
							
						 
						
							
							
								
								Convert a synapse.events to async/await. ( #7949 )  
							
							 
							
							
							
						 
						
							2020-07-27 13:40:22 -04:00  
						
					 
				
					
						
							
							
								 
								PeerD
							
						 
						
							 
							
							
								
								
							
							
								
							
								99fcc96289 
								
									
								
							
								 
							
						 
						
							
							
								
								Third party event rules Update ( #6781 )  
							
							 
							
							
							
						 
						
							2020-02-06 14:15:29 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								fa780e9721 
								
									
								
							
								 
							
						 
						
							
							
								
								Change EventContext to use the Storage class ( #6564 )  
							
							 
							
							
							
						 
						
							2019-12-20 10:32:02 +00:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								4806651744 
								
									
								
							
								 
							
						 
						
							
							
								
								Replace returnValue with return ( #5736 )  
							
							 
							
							
							
						 
						
							2019-07-23 23:00:55 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								32e7c9e7f2 
								
									
								
							
								 
							
						 
						
							
							
								
								Run Black. ( #5482 )  
							
							 
							
							
							
						 
						
							2019-06-20 19:32:02 +10:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
								
								
							
							
								
							
								33ea87be39 
								
									
								
							
								 
							
						 
						
							
							
								
								Make check_threepid_can_be_invited async  
							
							 
							
							
							
						 
						
							2019-06-17 17:39:38 +01:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
							
								
							
								112cf5a73a 
								
							
								 
							
						 
						
							
							
								
								Add third party rules hook for 3PID invites  
							
							 
							
							
							
						 
						
							2019-06-17 17:39:09 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								187d2837a9 
								
							
								 
							
						 
						
							
							
								
								Add third party rules hook into create room  
							
							 
							
							
							
						 
						
							2019-06-17 16:41:19 +01:00  
						
					 
				
					
						
							
							
								 
								Brendan Abolivier
							
						 
						
							 
							
							
							
								
							
								f874b16b2e 
								
							
								 
							
						 
						
							
							
								
								Add plugin APIs for implementations of custom event rules.  
							
							 
							
							
							
						 
						
							2019-06-14 18:16:03 +01:00