From 3523f5432a79659ac365dc2ff1212aa1a3707d8e Mon Sep 17 00:00:00 2001
From: Richard van der Hoff <richard@matrix.org>
Date: Tue, 7 Aug 2018 12:51:57 +0100
Subject: [PATCH] Don't expose default_room_version as config opt

---
 synapse/api/constants.py |  3 +++
 synapse/config/server.py | 14 --------------
 synapse/handlers/room.py |  3 ++-
 3 files changed, 5 insertions(+), 15 deletions(-)

diff --git a/synapse/api/constants.py b/synapse/api/constants.py
index a27bf3b32d..b0da506f6d 100644
--- a/synapse/api/constants.py
+++ b/synapse/api/constants.py
@@ -97,6 +97,9 @@ class ThirdPartyEntityKind(object):
     LOCATION = "location"
 
 
+# the version we will give rooms which are created on this server
+DEFAULT_ROOM_VERSION = "1"
+
 # vdh-test-version is a placeholder to get room versioning support working and tested
 # until we have a working v2.
 KNOWN_ROOM_VERSIONS = {"1", "vdh-test-version"}
diff --git a/synapse/config/server.py b/synapse/config/server.py
index 68ef2789d3..6a471a0a5e 100644
--- a/synapse/config/server.py
+++ b/synapse/config/server.py
@@ -16,7 +16,6 @@
 
 import logging
 
-from synapse.api.constants import KNOWN_ROOM_VERSIONS
 from synapse.http.endpoint import parse_and_validate_server_name
 
 from ._base import Config, ConfigError
@@ -76,16 +75,6 @@ class ServerConfig(Config):
             )
         else:
             self.max_mau_value = 0
-
-        # the version of rooms created by default on this server
-        self.default_room_version = str(config.get(
-            "default_room_version", "1",
-        ))
-        if self.default_room_version not in KNOWN_ROOM_VERSIONS:
-            raise ConfigError("Unrecognised value '%s' for default_room_version" % (
-                self.default_room_version,
-            ))
-
         # FIXME: federation_domain_whitelist needs sytests
         self.federation_domain_whitelist = None
         federation_domain_whitelist = config.get(
@@ -260,9 +249,6 @@ class ServerConfig(Config):
         # (except those sent by local server admins). The default is False.
         # block_non_admin_invites: True
 
-        # The room_version of rooms which are created by default by this server.
-        # default_room_version: 1
-
         # Restrict federation to the following whitelist of domains.
         # N.B. we recommend also firewalling your federation listener to limit
         # inbound federation traffic as early as possible, rather than relying
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index a526b684e9..6a17c42238 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -26,6 +26,7 @@ from six import string_types
 from twisted.internet import defer
 
 from synapse.api.constants import (
+    DEFAULT_ROOM_VERSION,
     KNOWN_ROOM_VERSIONS,
     EventTypes,
     JoinRules,
@@ -106,7 +107,7 @@ class RoomCreationHandler(BaseHandler):
         if ratelimit:
             yield self.ratelimit(requester)
 
-        room_version = config.get("room_version", self.hs.config.default_room_version)
+        room_version = config.get("room_version", DEFAULT_ROOM_VERSION)
         if not isinstance(room_version, string_types):
             raise SynapseError(
                 400,
-- 
GitLab