8756d5c87e 
								
									
								
							
								 
							
						 
						
							
							
								
								Save login tokens in database ( #13844 )  
							
							... 
							
							
							
							* Save login tokens in database
Signed-off-by: Quentin Gliech <quenting@element.io>
* Add upgrade notes
* Track login token reuse in a Prometheus metric
Signed-off-by: Quentin Gliech <quenting@element.io> 
							
						 
						
							2022-10-26 11:45:41 +01:00  
				
					
						
							
							
								 
						
							
							
								79c592cec6 
								
									
								
							
								 
							
						 
						
							
							
								
								Deprecate the `generate_short_term_login_token` method in favor of an async `create_login_token` method in the Module API. ( #13842 )  
							
							... 
							
							
							
							Signed-off-by: Quentin Gliech <quenting@element.io>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2022-10-06 10:22:36 +00:00  
				
					
						
							
							
								 
						
							
							
								1cc2ca81ba 
								
									
								
							
								 
							
						 
						
							
							
								
								Add missing version information in the ModuleApi ( #13947 )  
							
							
							
						 
						
							2022-09-30 12:27:21 +02:00  
				
					
						
							
							
								 
						
							
							
								6bd8763804 
								
									
								
							
								 
							
						 
						
							
							
								
								Add cache invalidation across workers to module API ( #13667 )  
							
							... 
							
							
							
							Signed-off-by: Mathieu Velten <mathieuv@matrix.org> 
							
						 
						
							2022-09-21 15:32:01 +02:00  
				
					
						
							
							
								 
						
							
							
								85fc7ea1a1 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove the `complete_sso_login` method from the Module API which was deprecated in Synapse 1.13.0. ( #13843 )  
							
							... 
							
							
							
							Signed-off-by: Quentin Gliech <quenting@element.io> 
							
						 
						
							2022-09-20 15:18:07 +02:00  
				
					
						
							
							
								 
						
							
							
								026ac4486c 
								
									
								
							
								 
							
						 
						
							
							
								
								Update module API "update room membership" method to allow for remote joins ( #13441 )  
							
							... 
							
							
							
							Co-authored-by: MattC <buffless-matt@users.noreply.github.com>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2022-08-05 09:37:58 +00:00  
				
					
						
							
							
								 
						
							
							
								a91078200d 
								
									
								
							
								 
							
						 
						
							
							
								
								Add module API method to create a room ( #13429 )  
							
							... 
							
							
							
							Co-authored-by: MattC <buffless-matt@users.noreply.github.com>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2022-08-04 09:34:05 +00:00  
				
					
						
							
							
								 
						
							
							
								570bf32bbb 
								
									
								
							
								 
							
						 
						
							
							
								
								Add module API method to resolve a room alias to a room ID ( #13428 )  
							
							... 
							
							
							
							Co-authored-by: MattC <buffless-matt@users.noreply.github.com>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2022-08-03 09:25:36 +00:00  
				
					
						
							
							
								 
						
							
							
								11f811470f 
								
									
								
							
								 
							
						 
						
							
							
								
								Uniformize spam-checker API, part 5: expand other spam-checker callbacks to return `Tuple[Codes, dict]` ( #13044 )  
							
							... 
							
							
							
							Signed-off-by: David Teller <davidt@element.io>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2022-07-11 16:52:10 +00:00  
				
					
						
							
							
								 
						
							
							
								a164a46038 
								
									
								
							
								 
							
						 
						
							
							
								
								Uniformize spam-checker API, part 4: port other spam-checker callbacks to return `Union[Allow, Codes]`. ( #12857 )  
							
							... 
							
							
							
							Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2022-06-13 18:16:16 +00:00  
				
					
						
							
							
								 
						
							
							
								9dc3293e0b 
								
									
								
							
								 
							
						 
						
							
							
								
								Consolidate the logic of delete_device/delete_devices. ( #12970 )  
							
							... 
							
							
							
							By always using delete_devices and sometimes passing a list
with a single device ID.
Previously these methods had gotten out of sync with each
other and it seems there's little benefit to the single-device
variant. 
							
						 
						
							2022-06-07 07:43:35 -04:00  
				
					
						
							
							
								 
						
							
							
								888a29f412 
								
									
								
							
								 
							
						 
						
							
							
								
								Wait for lazy join to complete when getting current state ( #12872 )  
							
							
							
						 
						
							2022-06-01 16:02:53 +01:00  
				
					
						
							
							
								 
						
							
							
								3594f6c1f3 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into develop  
							
							
							
						 
						
							2022-05-31 14:48:22 +01:00  
				
					
						
							
							
								 
						
							
							
								8fd87739bf 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix import in module_api module and docs on the new check_event_for_spam signature ( #12918 )  
							
							... 
							
							
							
							Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> 
							
						 
						
							2022-05-31 12:04:53 +02:00  
				
					
						
							
							
								 
						
							
							
								cd9fc058de 
								
									
								
							
								 
							
						 
						
							
							
								
								Document the Synapse version of a new module API method ( #12917 )  
							
							
							
						 
						
							2022-05-30 18:37:52 +02:00  
				
					
						
							
							
								 
						
							
							
								a7da00d4f7 
								
									
								
							
								 
							
						 
						
							
							
								
								Add storage and module API methods to get monthly active users and their appservices ( #12838 )  
							
							
							
						 
						
							2022-05-27 10:25:57 +00:00  
				
					
						
							
							
								 
						
							
							
								28199e9357 
								
									
								
							
								 
							
						 
						
							
							
								
								Uniformize spam-checker API, part 2: check_event_for_spam ( #12808 )  
							
							... 
							
							
							
							Signed-off-by: David Teller <davidt@element.io> 
							
						 
						
							2022-05-23 17:27:39 +00:00  
				
					
						
							
							
								 
						
							
							
								a608ac847b 
								
									
								
							
								 
							
						 
						
							
							
								
								add SpamChecker callback for silently dropping inbound federated events ( #12744 )  
							
							... 
							
							
							
							Signed-off-by: jesopo <github@lolnerd.net> 
							
						 
						
							2022-05-23 16:36:21 +00:00  
				
					
						
							
							
								 
						
							
							
								fa0eab9c8e 
								
									
								
							
								 
							
						 
						
							
							
								
								Use `ParamSpec` in a few places ( #12667 )  
							
							
							
						 
						
							2022-05-09 10:27:39 +00:00  
				
					
						
							
							
								 
						
							
							
								5ef673de4f 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a module API to allow modules to edit push rule actions ( #12406 )  
							
							... 
							
							
							
							Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> 
							
						 
						
							2022-04-27 13:55:33 +00:00  
				
					
						
							
							
								 
						
							
							
								6463244375 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove unused `# type: ignore`s ( #12531 )  
							
							... 
							
							
							
							Over time we've begun to use newer versions of mypy, typeshed, stub
packages---and of course we've improved our own annotations. This makes
some type ignore comments no longer necessary. I have removed them.
There was one exception: a module that imports `select.epoll`. The
ignore is redundant on Linux, but I've kept it ignored for those of us
who work on the source tree using not-Linux. (#11771 )
I'm more interested in the config line which enforces this. I want
unused ignores to be reported, because I think it's useful feedback when
annotating to know when you've fixed a problem you had to previously
ignore.
* Installing extras before typechecking
Lacking an easy way to install all extras generically, let's bite the bullet and
make install the hand-maintained `all` extra before typechecking.
Now that https://github.com/matrix-org/backend-meta/pull/6  is merged to
the release/v1 branch. 
							
						 
						
							2022-04-27 14:03:44 +01:00  
				
					
						
							
							
								 
						
							
							
								85ca963c1a 
								
									
								
							
								 
							
						 
						
							
							
								
								Add Module API for reading and writing global account data. ( #12391 )  
							
							
							
						 
						
							2022-04-11 10:05:43 +01:00  
				
					
						
							
							
								 
						
							
							
								e4409301ba 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a module callback to react to account data changes ( #12327 )  
							
							... 
							
							
							
							Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> 
							
						 
						
							2022-04-01 11:22:48 +02:00  
				
					
						
							
							
								 
						
							
							
								4e900ece42 
								
									
								
							
								 
							
						 
						
							
							
								
								Add set_user_admin function to the module API ( #12341 )  
							
							
							
						 
						
							2022-04-01 09:31:30 +01:00  
				
					
						
							
							
								 
						
							
							
								5e88143dff 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a callback to react to 3PID associations ( #12302 )  
							
							
							
						 
						
							2022-03-31 18:27:21 +02:00  
				
					
						
							
							
								 
						
							
							
								8cd760fca8 
								
									
								
							
								 
							
						 
						
							
							
								
								Allow modules to store already existing 3PID associations ( #12195 )  
							
							
							
						 
						
							2022-03-28 18:57:19 +02:00  
				
					
						
							
							
								 
						
							
							
								692b82838e 
								
									
								
							
								 
							
						 
						
							
							
								
								Allow registering admin users using the module API ( #12250 )  
							
							... 
							
							
							
							Signed-off-by: Nicolas Werner <n.werner@famedly.com> 
							
						 
						
							2022-03-23 12:48:47 +01:00  
				
					
						
							
							
								 
						
							
							
								872dbb0181 
								
									
								
							
								 
							
						 
						
							
							
								
								Correct `check_username_for_spam` annotations and docs ( #12246 )  
							
							... 
							
							
							
							* Formally type the UserProfile in user searches
* export UserProfile in synapse.module_api
* Update docs
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com> 
							
						 
						
							2022-03-18 13:51:41 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								ae8a616b49 
								
									
								
							
								 
							
						 
						
							
							
								
								Correctly register deactivation and profile update module callbacks ( #12141 )  
							
							
							
						 
						
							2022-03-03 11:39:58 +01:00  
				
					
						
							
							
								 
						
							
							
								300ed0b8a6 
								
									
								
							
								 
							
						 
						
							
							
								
								Add module callbacks called for reacting to deactivation status change and profile update ( #12062 )  
							
							
							
						 
						
							2022-03-01 15:00:03 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								444b04058b 
								
									
								
							
								 
							
						 
						
							
							
								
								Document why auth providers aren't validated in the admin API. ( #12004 )  
							
							... 
							
							
							
							Since it is reasonable to give a future or past auth provider,
which might not be in the current configuration. 
							
						 
						
							2022-02-18 17:24:25 +00:00  
				
					
						
							
							
								 
						
							
							
								707049c6ff 
								
									
								
							
								 
							
						 
						
							
							
								
								Allow modules to set a display name on registration ( #12009 )  
							
							... 
							
							
							
							Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> 
							
						 
						
							2022-02-17 16:54:16 +00:00  
				
					
						
							
							
								 
						
							
							
								738e569ed2 
								
									
								
							
								 
							
						 
						
							
							
								
								Require that modules register their callbacks using keyword arguments. ( #11975 )  
							
							... 
							
							
							
							To allow for easier backwards/forwards compatibility by making
it easier to add/remove callbacks. 
							
						 
						
							2022-02-14 09:18:44 -05:00  
				
					
						
							
							
								 
						
							
							
								0171fa5226 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove deprecated user_may_create_room_with_invites callback ( #11950 )  
							
							... 
							
							
							
							Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> 
							
						 
						
							2022-02-11 13:58:11 +00:00  
				
					
						
							
							
								 
						
							
							
								0640f8ebaa 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a callback to allow modules to deny 3PID ( #11854 )  
							
							... 
							
							
							
							Part of the Tchap Synapse mainlining.
This allows modules to implement extra logic to figure out whether a given 3PID can be added to the local homeserver. In the Tchap use case, this will allow a Synapse module to interface with the custom endpoint /internal_info. 
							
						 
						
							2022-02-08 11:20:32 +01:00  
				
					
						
							
							
								 
						
							
							
								5c16c33021 
								
									
								
							
								 
							
						 
						
							
							
								
								Allow modules to retrieve server and worker names ( #11868 )  
							
							... 
							
							
							
							Fixes  #10701  
						
							2022-02-01 16:23:55 +01:00  
				
					
						
							
							
								 
						
							
							
								2d3bd9aa67 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a module callback to set username at registration ( #11790 )  
							
							... 
							
							
							
							This is in the context of mainlining the Tchap fork of Synapse. Currently in Tchap usernames are derived from the user's email address (extracted from the UIA results, more specifically the m.login.email.identity step).
This change also exports the check_username method from the registration handler as part of the module API, so that a module can check if the username it's trying to generate is correct and doesn't conflict with an existing one, and fallback gracefully if not.
Co-authored-by: David Robertson <davidr@element.io> 
							
						 
						
							2022-01-26 14:21:13 +00:00  
				
					
						
							
							
								 
						
							
							
								eccc49d755 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix `ModuleApi.looping_background_call` for non-async functions ( #11524 )  
							
							... 
							
							
							
							After #10847 , `looping_background_call` would print an error in the logs
every time a non-async function was called. Since the error would be
caught and ignored immediately, there were no other side effects. 
							
						 
						
							2021-12-07 11:41:31 +00:00  
				
					
						
							
							
								 
						
							
							
								a15a893df8 
								
									
								
							
								 
							
						 
						
							
							
								
								Save the OIDC session ID (sid) with the device on login ( #11482 )  
							
							... 
							
							
							
							As a step towards allowing back-channel logout for OIDC. 
							
						 
						
							2021-12-06 12:43:06 -05:00  
				
					
						
							
							
								 
						
							
							
								d08ef6f155 
								
									
								
							
								 
							
						 
						
							
							
								
								Make background updates controllable via a plugin ( #11306 )  
							
							... 
							
							
							
							Co-authored-by: Brendan Abolivier <babolivier@matrix.org> 
							
						 
						
							2021-11-29 17:57:06 +01:00  
				
					
						
							
							
								 
						
							
							
								dc0a3cd596 
								
									
								
							
								 
							
						 
						
							
							
								
								disallow-untyped-defs for the module_api ( #11029 )  
							
							
							
						 
						
							2021-11-29 11:28:12 +00:00  
				
					
						
							
							
								 
						
							
							
								55669bd3de 
								
									
								
							
								 
							
						 
						
							
							
								
								Add missing type hints to config base classes ( #11377 )  
							
							
							
						 
						
							2021-11-23 15:21:19 +00:00  
				
					
						
							
							
								 
						
							
							
								5f81c0ce9c 
								
									
								
							
								 
							
						 
						
							
							
								
								Add/Unerase annotations to Module API ( #11341 )  
							
							
							
						 
						
							2021-11-18 16:55:33 +00:00  
				
					
						
							
							
								 
						
							
							
								5cace20bf1 
								
									
								
							
								 
							
						 
						
							
							
								
								Add missing type hints to `synapse.app`. ( #11287 )  
							
							
							
						 
						
							2021-11-10 15:06:54 -05:00  
				
					
						
							
							
								 
						
							
							
								ad4eab9862 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a module API method to retrieve state from a room ( #11204 )  
							
							
							
						 
						
							2021-10-29 16:28:29 +00:00  
				
					
						
							
							
								 
						
							
							
								adc0d35b17 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a ModuleApi method to update a user's membership in a room ( #11147 )  
							
							... 
							
							
							
							Co-authored-by: reivilibre <oliverw@matrix.org> 
							
						 
						
							2021-10-28 16:45:53 +00:00  
				
					
						
							
							
								 
						
							
							
								8c8e36af0d 
								
									
								
							
								 
							
						 
						
							
							
								
								Document the version each module API method was added to Synapse ( #11183 )  
							
							
							
						 
						
							2021-10-26 11:09:10 +02:00  
				
					
						
							
							
								 
						
							
							
								85a09f8b8b 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix module API's `get_user_ip_and_agents` function when run on workers ( #11112 )  
							
							
							
						 
						
							2021-10-25 13:01:04 +01:00