From c7d0552a112d55e8224f4975bbc79cb9be335caa Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Fri, 3 Oct 2025 14:03:02 -0500 Subject: [PATCH 1/3] Make it more obvious what version_strings are being used in the codebase Keywords make it easier to search and positional arguments are easy to mess up especially when there are multiple strings next to each other. --- synapse/app/_base.py | 19 ++++++++++++++----- synapse/http/site.py | 1 + tests/test_server.py | 10 +++++----- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/synapse/app/_base.py b/synapse/app/_base.py index 655f684ecf0..a3e4b4ea4b6 100644 --- a/synapse/app/_base.py +++ b/synapse/app/_base.py @@ -421,17 +421,26 @@ def listen_http( context_factory: Optional[IOpenSSLContextFactory], reactor: ISynapseReactor = reactor, ) -> List[Port]: + """ + Args: + listener_config: TODO + root_resource: TODO + version_string: A string to present for the Server header + max_request_body_size: TODO + context_factory: TODO + reactor: TODO + """ assert listener_config.http_options is not None site_tag = listener_config.get_site_tag() site = SynapseSite( - "synapse.access.%s.%s" + logger_name="synapse.access.%s.%s" % ("https" if listener_config.is_tls() else "http", site_tag), - site_tag, - listener_config, - root_resource, - version_string, + site_tag=site_tag, + config=listener_config, + resource=root_resource, + server_version_string=version_string, max_request_body_size=max_request_body_size, reactor=reactor, hs=hs, diff --git a/synapse/http/site.py b/synapse/http/site.py index f4f326cfde4..cf31b64d80f 100644 --- a/synapse/http/site.py +++ b/synapse/http/site.py @@ -741,6 +741,7 @@ class SynapseSite(ProxySite): def __init__( self, + *, logger_name: str, site_tag: str, config: ListenerConfig, diff --git a/tests/test_server.py b/tests/test_server.py index 66c5cf9e373..1854a3c4d4e 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -236,17 +236,17 @@ def _make_request(self, method: bytes, path: bytes) -> FakeChannel: """Create a request from the method/path and return a channel with the response.""" # Create a site and query for the resource. site = SynapseSite( - "test", - "site_tag", - parse_listener_def( + logger_name="test", + site_tag="site_tag", + config=parse_listener_def( 0, { "type": "http", "port": 0, }, ), - self.resource, - "1.0", + resource=self.resource, + server_version_string="1", max_request_body_size=4096, reactor=self.reactor, hs=self.homeserver, From fd4af274f5c6806dcd921cca2d2b84cbca56f108 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Fri, 3 Oct 2025 14:08:26 -0500 Subject: [PATCH 2/3] No need to customize `version_string` --- synapse/_scripts/synapse_port_db.py | 2 -- synapse/_scripts/update_synapse_database.py | 2 -- synapse/app/admin_cmd.py | 2 -- synapse/app/generic_worker.py | 2 -- synapse/app/homeserver.py | 3 +-- synapse/server.py | 4 ++-- tests/server.py | 1 - 7 files changed, 3 insertions(+), 13 deletions(-) diff --git a/synapse/_scripts/synapse_port_db.py b/synapse/_scripts/synapse_port_db.py index b0a067edcbc..3c79919fea4 100755 --- a/synapse/_scripts/synapse_port_db.py +++ b/synapse/_scripts/synapse_port_db.py @@ -98,7 +98,6 @@ from synapse.storage.engines import create_engine from synapse.storage.prepare_database import prepare_database from synapse.types import ISynapseReactor -from synapse.util import SYNAPSE_VERSION # Cast safety: Twisted does some naughty magic which replaces the # twisted.internet.reactor module with a Reactor instance at runtime. @@ -325,7 +324,6 @@ def __init__(self, config: HomeServerConfig): hostname=config.server.server_name, config=config, reactor=reactor, - version_string=f"Synapse/{SYNAPSE_VERSION}", ) diff --git a/synapse/_scripts/update_synapse_database.py b/synapse/_scripts/update_synapse_database.py index ad02f0ed887..ce32f47d630 100644 --- a/synapse/_scripts/update_synapse_database.py +++ b/synapse/_scripts/update_synapse_database.py @@ -31,7 +31,6 @@ from synapse.server import HomeServer from synapse.storage import DataStore from synapse.types import ISynapseReactor -from synapse.util import SYNAPSE_VERSION # Cast safety: Twisted does some naughty magic which replaces the # twisted.internet.reactor module with a Reactor instance at runtime. @@ -47,7 +46,6 @@ def __init__(self, config: HomeServerConfig): hostname=config.server.server_name, config=config, reactor=reactor, - version_string=f"Synapse/{SYNAPSE_VERSION}", ) diff --git a/synapse/app/admin_cmd.py b/synapse/app/admin_cmd.py index bc84dbdf494..bafeb46971e 100644 --- a/synapse/app/admin_cmd.py +++ b/synapse/app/admin_cmd.py @@ -65,7 +65,6 @@ from synapse.storage.databases.main.tags import TagsWorkerStore from synapse.storage.databases.main.user_erasure_store import UserErasureWorkerStore from synapse.types import JsonMapping, StateMap -from synapse.util import SYNAPSE_VERSION from synapse.util.logcontext import LoggingContext logger = logging.getLogger("synapse.app.admin_cmd") @@ -316,7 +315,6 @@ def start(config: HomeServerConfig, args: argparse.Namespace) -> None: ss = AdminCmdServer( config.server.server_name, config=config, - version_string=f"Synapse/{SYNAPSE_VERSION}", ) setup_logging(ss, config, use_worker_options=True) diff --git a/synapse/app/generic_worker.py b/synapse/app/generic_worker.py index 7e8b47c20a3..7518661265d 100644 --- a/synapse/app/generic_worker.py +++ b/synapse/app/generic_worker.py @@ -112,7 +112,6 @@ from synapse.storage.databases.main.ui_auth import UIAuthWorkerStore from synapse.storage.databases.main.user_directory import UserDirectoryStore from synapse.storage.databases.main.user_erasure_store import UserErasureWorkerStore -from synapse.util import SYNAPSE_VERSION from synapse.util.httpresourcetree import create_resource_tree logger = logging.getLogger("synapse.app.generic_worker") @@ -359,7 +358,6 @@ def start(config: HomeServerConfig) -> None: hs = GenericWorkerServer( config.server.server_name, config=config, - version_string=f"Synapse/{SYNAPSE_VERSION}", ) setup_logging(hs, config, use_worker_options=True) diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index 3c691906ca1..3424cdbdb81 100644 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -71,7 +71,7 @@ from synapse.server import HomeServer from synapse.storage import DataStore from synapse.types import ISynapseReactor -from synapse.util.check_dependencies import VERSION, check_requirements +from synapse.util.check_dependencies import check_requirements from synapse.util.httpresourcetree import create_resource_tree from synapse.util.module_loader import load_module @@ -399,7 +399,6 @@ def setup( hs = SynapseHomeServer( config.server.server_name, config=config, - version_string=f"Synapse/{VERSION}", reactor=reactor, ) diff --git a/synapse/server.py b/synapse/server.py index cc0d3a427b4..1c2132b8cc9 100644 --- a/synapse/server.py +++ b/synapse/server.py @@ -175,6 +175,7 @@ from synapse.streams.events import EventSources from synapse.synapse_rust.rendezvous import RendezvousHandler from synapse.types import DomainSpecificString, ISynapseReactor +from synapse.util import SYNAPSE_VERSION from synapse.util.caches import CACHE_METRIC_REGISTRY from synapse.util.clock import Clock from synapse.util.distributor import Distributor @@ -322,7 +323,6 @@ def __init__( hostname: str, config: HomeServerConfig, reactor: Optional[ISynapseReactor] = None, - version_string: str = "Synapse", ): """ Args: @@ -347,7 +347,7 @@ def __init__( self._instance_id = random_string(5) self._instance_name = config.worker.instance_name - self.version_string = version_string + self.version_string = f"Synapse/{SYNAPSE_VERSION}" self.datastores: Optional[Databases] = None diff --git a/tests/server.py b/tests/server.py index a9a53eb8a42..208556abafa 100644 --- a/tests/server.py +++ b/tests/server.py @@ -1198,7 +1198,6 @@ def setup_test_homeserver( hs = homeserver_to_use( server_name, config=config, - version_string="Synapse/tests", reactor=reactor, ) From f140bc115271b15d265d4665fe58e663b53b80ff Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Fri, 3 Oct 2025 14:11:09 -0500 Subject: [PATCH 3/3] Add changelog --- changelog.d/19012.misc | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/19012.misc diff --git a/changelog.d/19012.misc b/changelog.d/19012.misc new file mode 100644 index 00000000000..2677ca1432a --- /dev/null +++ b/changelog.d/19012.misc @@ -0,0 +1 @@ +Remove `version_string` argument from `HomeServer` since it's always the same.