73f097888e 
								
									
								
							
								 
							
						 
						
							
							
								
								Add listener `health` ( #14747 )  
							
							... 
							
							
							
							Fixes : #8780  
						
							2023-01-11 12:00:38 +00:00  
				
					
						
							
							
								 
						
							
							
								f685318c2a 
								
									
								
							
								 
							
						 
						
							
							
								
								Use ClientRestResource on both the main process and workers. ( #14528 )  
							
							... 
							
							
							
							Add logic to ClientRestResource to decide whether to mount servlets
or not based on whether the current process is a worker.
This is clearer to see what a worker runs than the completely separate /
copy & pasted list of servlets being mounted for workers. 
							
						 
						
							2022-12-02 13:10:05 -05:00  
				
					
						
							
							
								 
						
							
							
								9af2be192a 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove legacy Prometheus metrics names. They were deprecated in Synapse v1.69.0 and disabled by default in Synapse v1.71.0. ( #14538 )  
							
							
							
						 
						
							2022-11-24 09:09:17 +00:00  
				
					
						
							
							
								 
						
							
							
								c15e9a0edb 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove need for `worker_main_http_uri` setting to use /keys/upload. ( #14400 )  
							
							
							
						 
						
							2022-11-16 22:16:25 +00:00  
				
					
						
							
							
								 
						
							
							
								b5ab2c428a 
								
									
								
							
								 
							
						 
						
							
							
								
								Support using SSL on worker endpoints. ( #14128 )  
							
							... 
							
							
							
							* Fix missing SSL support in worker endpoints.
* Add changelog
* SSL for Replication endpoint
* Remove unit test change
* Refactor listener creation to reduce duplicated code
* Fix the logger message
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Update synapse/app/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Add config documentation for new TLS option
Co-authored-by: Tuomas Ojamies <tojamies@palantir.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org> 
							
						 
						
							2022-11-15 12:55:00 +00:00  
				
					
						
							
							
								 
						
							
							
								3a4f80f8c6 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge/remove `Slaved*` stores into `WorkerStores` ( #14375 )  
							
							
							
						 
						
							2022-11-11 10:51:49 +00:00  
				
					
						
							
							
								 
						
							
							
								730b13dbc9 
								
									
								
							
								 
							
						 
						
							
							
								
								Improve `RawHeaders` type hints ( #14303 )  
							
							
							
						 
						
							2022-10-28 16:04:02 +00:00  
				
					
						
							
							
								 
						
							
							
								755bfeee3a 
								
									
								
							
								 
							
						 
						
							
							
								
								Use servlets for /key/ endpoints. ( #14229 )  
							
							... 
							
							
							
							To fix the response for unknown endpoints under that prefix.
See MSC3743. 
							
						 
						
							2022-10-20 11:32:47 -04:00  
				
					
						
							
							
								 
						
							
							
								c604d2c218 
								
									
								
							
								 
							
						 
						
							
							
								
								Mark /relations endpoint as usable on workers. ( #14028 )  
							
							... 
							
							
							
							Co-authored-by: Eric Eastwood <erice@element.io> 
							
						 
						
							2022-10-12 06:46:13 -04:00  
				
					
						
							
							
								 
						
							
							
								be4250c7a8 
								
									
								
							
								 
							
						 
						
							
							
								
								Add experimental configuration option to allow disabling legacy Prometheus metric names. ( #13540 )  
							
							... 
							
							
							
							Co-authored-by: David Robertson <davidr@element.io> 
							
						 
						
							2022-08-24 11:35:54 +00:00  
				
					
						
							
							
								 
						
							
							
								f4ab6a4a96 
								
									
								
							
								 
							
						 
						
							
							
								
								Refuse to start when `faster_joins` is enabled on a worker deployment ( #13531 )  
							
							... 
							
							
							
							Synapse does not currently support faster room joins on deployments with
workers.
Signed-off-by: Sean Quah <seanq@matrix.org> 
							
						 
						
							2022-08-16 16:21:55 +01:00  
				
					
						
							
							
								 
						
							
							
								86e366a46e 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove old empty/redundant slaved stores. ( #13349 )  
							
							
							
						 
						
							2022-07-21 17:56:45 +00:00  
				
					
						
							
							
								 
						
							
							
								190f49d8ab 
								
									
								
							
								 
							
						 
						
							
							
								
								Use cache store remove base slaved ( #13329 )  
							
							... 
							
							
							
							This comes from two identical definitions in each of the base stores, and means the base slaved store is now empty and can be removed. 
							
						 
						
							2022-07-21 11:51:30 +01:00  
				
					
						
							
							
								 
						
							
							
								f30bcbd84a 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix Synapse git info missing in version strings ( #12973 )  
							
							
							
						 
						
							2022-06-07 15:24:11 +01:00  
				
					
						
							
							
								 
						
							
							
								cf05258f76 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove groups replication code. ( #12900 )  
							
							... 
							
							
							
							The replication logic for groups is no longer used, so the message
passing infrastructure can be removed. 
							
						 
						
							2022-05-31 13:04:08 -04:00  
				
					
						
							
							
								 
						
							
							
								a8db8c6eba 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove user-visible groups/communities code ( #12553 )  
							
							... 
							
							
							
							Makes it so that groups/communities no longer exist from a user-POV. E.g. we remove:
* All API endpoints (including Client-Server, Server-Server, and admin).
* Documented configuration options (and the experimental flag, which is now unused).
* Special handling during room upgrades.
* The `groups` section of the `/sync` response. 
							
						 
						
							2022-05-25 07:53:40 -04:00  
				
					
						
							
							
								 
						
							
							
								1f9013ce60 
								
									
								
							
								 
							
						 
						
							
							
								
								Add the `batch_send` endpoint to generic workers ( #12868 )  
							
							
							
						 
						
							2022-05-25 09:51:07 +00:00  
				
					
						
							
							
								 
						
							
							
								2e5f88b5e6 
								
									
								
							
								 
							
						 
						
							
							
								
								Add the `/account/whoami` endpoint to generic workers ( #12866 )  
							
							
							
						 
						
							2022-05-25 10:41:41 +01:00  
				
					
						
							
							
								 
						
							
							
								699192fc1a 
								
									
								
							
								 
							
						 
						
							
							
								
								Add the `update_user_directory_from_worker` configuration option (superseding `update_user_directory`) to allow a generic worker to be designated as the worker to update the user directory. ( #12654 )  
							
							... 
							
							
							
							Co-authored-by: Shay <hillerys@element.io> 
							
						 
						
							2022-05-10 11:08:45 +01:00  
				
					
						
							
							
								 
						
							
							
								c2d50e9f6c 
								
									
								
							
								 
							
						 
						
							
							
								
								Add the `notify_appservices_from_worker` configuration option (superseding `notify_appservices`) to allow a generic worker to be designated as the worker to send traffic to Application Services. ( #12452 )  
							
							
							
						 
						
							2022-05-06 11:43:53 +01:00  
				
					
						
							
							
								 
						
							
							
								f871222880 
								
									
								
							
								 
							
						 
						
							
							
								
								Move `update_client_ip` background job from the main process to the background worker. ( #12251 )  
							
							
							
						 
						
							2022-04-01 13:08:55 +01:00  
				
					
						
							
							
								 
						
							
							
								54f674f7a9 
								
									
								
							
								 
							
						 
						
							
							
								
								Deprecate the groups/communities endpoints and add an experimental configuration flag. ( #12200 )  
							
							
							
						 
						
							2022-03-12 13:23:37 -05:00  
				
					
						
							
							
								 
						
							
							
								3e4af36bc8 
								
									
								
							
								 
							
						 
						
							
							
								
								Rename get_tcp_replication to get_replication_command_handler. ( #12192 )  
							
							... 
							
							
							
							Since the object it returns is a ReplicationCommandHandler.
This is clean-up from adding support to Redis where the command handler
was added as an additional layer of abstraction from the TCP protocol. 
							
						 
						
							2022-03-10 13:01:56 +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  
				
					
						
							
							
								 
						
							
							
								4ae956c8bb 
								
									
								
							
								 
							
						 
						
							
							
								
								Use version string helper from matrix-common ( #11979 )  
							
							... 
							
							
							
							* Require latest matrix-common
* Use the common function 
							
						 
						
							2022-02-14 13:12:22 +00:00  
				
					
						
							
							
								 
						
							
							
								42bf020463 
								
									
								
							
								 
							
						 
						
							
							
								
								Expose worker & homeserver as entrypoints in `setup.py` ( #11449 )  
							
							... 
							
							
							
							Co-authored-by: reivilibre <oliverw@matrix.org> 
							
						 
						
							2021-11-30 16:52:45 +00:00  
				
					
						
							
							
								 
						
							
							
								7b4e228e41 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix using MSC2716 batch sending with event persistence workers ( #11220 )  
							
							... 
							
							
							
							Signed-off-by: Tulir Asokan <tulir@beeper.com> 
							
						 
						
							2021-11-29 13:13:23 +00:00  
				
					
						
							
							
								 
						
							
							
								d993c3bb1e 
								
									
								
							
								 
							
						 
						
							
							
								
								Add support for `/_matrix/media/v3` APIs ( #11371 )  
							
							... 
							
							
							
							* Add support for `/_matrix/media/v3` APIs
Signed-off-by: Aaron Raimist <aaron@raim.ist>
* Update `workers.md` to use v3 client and media APIs
Signed-off-by: Aaron Raimist <aaron@raim.ist>
* Add changelog
Signed-off-by: Aaron Raimist <aaron@raim.ist> 
							
						 
						
							2021-11-17 15:30:24 +00:00  
				
					
						
							
							
								 
						
							
							
								5cace20bf1 
								
									
								
							
								 
							
						 
						
							
							
								
								Add missing type hints to `synapse.app`. ( #11287 )  
							
							
							
						 
						
							2021-11-10 15:06:54 -05:00  
				
					
						
							
							
								 
						
							
							
								71f9966f27 
								
									
								
							
								 
							
						 
						
							
							
								
								Support for serving server well-known files ( #11211 )  
							
							... 
							
							
							
							Fixes https://github.com/matrix-org/synapse/issues/8308  
							
						 
						
							2021-11-01 15:10:16 +00:00  
				
					
						
							
							
								 
						
							
							
								2b82ec425f 
								
									
								
							
								 
							
						 
						
							
							
								
								Add type hints for most `HomeServer` parameters ( #11095 )  
							
							
							
						 
						
							2021-10-22 18:15:41 +01:00  
				
					
						
							
							
								 
						
							
							
								94b620a5ed 
								
									
								
							
								 
							
						 
						
							
							
								
								Use direct references for configuration variables (part 6). ( #10916 )  
							
							
							
						 
						
							2021-09-29 06:44:15 -04:00  
				
					
						
							
							
								 
						
							
							
								bb7fdd821b 
								
									
								
							
								 
							
						 
						
							
							
								
								Use direct references for configuration variables (part 5). ( #10897 )  
							
							
							
						 
						
							2021-09-24 07:25:21 -04:00  
				
					
						
							
							
								 
						
							
							
								47854c71e9 
								
									
								
							
								 
							
						 
						
							
							
								
								Use direct references for configuration variables (part 4). ( #10893 )  
							
							
							
						 
						
							2021-09-23 12:03:01 -04:00  
				
					
						
							
							
								 
						
							
							
								01c88a09cd 
								
									
								
							
								 
							
						 
						
							
							
								
								Use direct references for some configuration variables ( #10798 )  
							
							... 
							
							
							
							Instead of proxying through the magic getter of the RootConfig
object. This should be more performant (and is more explicit). 
							
						 
						
							2021-09-13 13:07:12 -04:00  
				
					
						
							
							
								 
						
							
							
								1fdf2cf8e8 
								
									
								
							
								 
							
						 
						
							
							
								
								Document that /spaces & /hierarchy can be routed to workers. ( #10648 )  
							
							... 
							
							
							
							Also refactors some of the registration of endpoints on workers. 
							
						 
						
							2021-09-08 11:02:31 -04:00  
				
					
						
							
							
								 
						
							
							
								6e895366ea 
								
									
								
							
								 
							
						 
						
							
							
								
								Add config option to use non-default manhole password and keys ( #10643 )  
							
							
							
						 
						
							2021-09-06 16:08:03 +01:00  
				
					
						
							
							
								 
						
							
							
								d12ba52f17 
								
									
								
							
								 
							
						 
						
							
							
								
								Persist room hierarchy pagination sessions to the database. ( #10613 )  
							
							
							
						 
						
							2021-08-24 08:14:03 -04:00  
				
					
						
							
							
								 
						
							
							
								947dbbdfd1 
								
									
								
							
								 
							
						 
						
							
							
								
								Implement MSC3231: Token authenticated registration ( #10142 )  
							
							... 
							
							
							
							Signed-off-by: Callum Brown <callum@calcuode.com>
This is part of my GSoC project implementing [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231 ). 
							
						 
						
							2021-08-21 22:14:43 +01:00  
				
					
						
							
							
								 
						
							
							
								84469bdac7 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove the unused public_room_list_stream ( #10565 )  
							
							... 
							
							
							
							Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> 
							
						 
						
							2021-08-17 14:02:50 +01:00  
				
					
						
							
							
								 
						
							
							
								642a42edde 
								
									
								
							
								 
							
						 
						
							
							
								
								Flatten the synapse.rest.client package ( #10600 )  
							
							
							
						 
						
							2021-08-17 11:57:58 +00:00  
				
					
						
							
							
								 
						
							
							
								b7f7ca24b1 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove shebang line from module files ( #10415 )  
							
							... 
							
							
							
							Signed-off-by: Kai A. Hiller <V02460@gmail.com> 
							
						 
						
							2021-07-29 21:34:14 +01:00  
				
					
						
							
							
								 
						
							
							
								95e47b2e78 
								
									
								
							
								 
							
						 
						
							
							
								
								[pyupgrade] `synapse/` ( #10348 )  
							
							... 
							
							
							
							This PR is tantamount to running 
```
pyupgrade --py36-plus --keep-percent-format `find synapse/ -type f -name "*.py"`
```
Part of #9744  
							
						 
						
							2021-07-19 15:28:05 +01:00  
				
					
						
							
							
								 
						
							
							
								bf72d10dbf 
								
									
								
							
								 
							
						 
						
							
							
								
								Use inline type hints in various other places (in `synapse/`) ( #10380 )  
							
							
							
						 
						
							2021-07-15 11:02:43 +01:00  
				
					
						
							
							
								 
						
							
							
								85d237eba7 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a distributed lock ( #10269 )  
							
							... 
							
							
							
							This adds a simple best effort locking mechanism that works cross workers. 
							
						 
						
							2021-06-29 19:15:47 +01:00  
				
					
						
							
							
								 
						
							
							
								107c06081f 
								
									
								
							
								 
							
						 
						
							
							
								
								Ensure that errors during startup are written to the logs and the console. ( #10191 )  
							
							... 
							
							
							
							* Defer stdio redirection until we are about to start the reactor
* Catch and handle exceptions during startup 
							
						 
						
							2021-06-21 11:41:25 +01:00  
				
					
						
							
							
								 
						
							
							
								1b3e398bea 
								
									
								
							
								 
							
						 
						
							
							
								
								Standardise the module interface ( #10062 )  
							
							... 
							
							
							
							This PR adds a common configuration section for all modules (see docs). These modules are then loaded at startup by the homeserver. Modules register their hooks and web resources using the new `register_[...]_callbacks` and `register_web_resource` methods of the module API. 
							
						 
						
							2021-06-18 12:15:52 +01:00  
				
					
						
							
							
								 
						
							
							
								5eed6348ce 
								
									
								
							
								 
							
						 
						
							
							
								
								Move some more endpoints off master ( #10084 )  
							
							
							
						 
						
							2021-05-27 22:45:43 +01:00  
				
					
						
							
							
								 
						
							
							
								3e831f24ff 
								
									
								
							
								 
							
						 
						
							
							
								
								Don't hammer the database for destination retry timings every ~5mins ( #10036 )  
							
							
							
						 
						
							2021-05-21 17:57:08 +01:00  
				
					
						
							
							
								 
						
							
							
								ef889c98a6 
								
									
								
							
								 
							
						 
						
							
							
								
								Optionally track memory usage of each LruCache ( #9881 )  
							
							... 
							
							
							
							This will double count slightly in the presence of interned strings. It's off by default as it can consume a lot of resources. 
							
						 
						
							2021-05-05 16:54:36 +01:00