@ -20,6 +20,7 @@ import os.path
from netaddr import IPSet
from synapse . api . room_versions import KNOWN_ROOM_VERSIONS
from synapse . http . endpoint import parse_and_validate_server_name
from synapse . python_dependencies import DependencyException , check_requirements
@ -35,6 +36,8 @@ logger = logging.Logger(__name__)
# in the list.
DEFAULT_BIND_ADDRESSES = [ ' :: ' , ' 0.0.0.0 ' ]
DEFAULT_ROOM_VERSION = " 1 "
class ServerConfig ( Config ) :
@ -88,6 +91,22 @@ class ServerConfig(Config):
" restrict_public_rooms_to_local_users " , False ,
)
default_room_version = config . get (
" default_room_version " , DEFAULT_ROOM_VERSION ,
)
# Ensure room version is a str
default_room_version = str ( default_room_version )
if default_room_version not in KNOWN_ROOM_VERSIONS :
raise ConfigError (
" Unknown default_room_version: %s , known room versions: %s " %
( default_room_version , list ( KNOWN_ROOM_VERSIONS . keys ( ) ) )
)
# Get the actual room version object rather than just the identifier
self . default_room_version = KNOWN_ROOM_VERSIONS [ default_room_version ]
# whether to enable search. If disabled, new entries will not be inserted
# into the search tables and they will not be indexed. Users will receive
# errors when attempting to search for messages.
@ -310,6 +329,10 @@ class ServerConfig(Config):
unsecure_port = 8008
pid_file = os . path . join ( data_dir_path , " homeserver.pid " )
# Bring DEFAULT_ROOM_VERSION into the local-scope for use in the
# default config string
default_room_version = DEFAULT_ROOM_VERSION
return """ \
## Server ##
@ -384,6 +407,15 @@ class ServerConfig(Config):
#
#restrict_public_rooms_to_local_users: true
# The default room version for newly created rooms.
#
# Known room versions are listed here:
# https://matrix.org/docs/spec/#complete-list-of-room-versions
#
# For example, for room version 1, default_room_version should be set
# to "1".
#default_room_version: "%(default_room_version)s"
# The GC threshold parameters to pass to `gc.set_threshold`, if defined
#
#gc_thresholds: [700, 10, 10]