Add config key for default room version (#3171)

This PR adds a config key `room_server.default_config_key` to set the
default room version for the room server.

Signed-off-by: `Sam Wedgwood <sam@wedgwood.dev>`
This commit is contained in:
Sam Wedgwood 2023-08-08 14:20:05 +01:00 committed by GitHub
parent 294eff8a7f
commit 35804f8493
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 56 additions and 36 deletions

View file

@ -55,6 +55,11 @@ type RestrictedJoinAPI interface {
LocallyJoinedUsers(ctx context.Context, roomVersion gomatrixserverlib.RoomVersion, roomNID types.RoomNID) ([]gomatrixserverlib.PDU, error)
}
type DefaultRoomVersionAPI interface {
// Returns the default room version used.
DefaultRoomVersion() gomatrixserverlib.RoomVersion
}
// RoomserverInputAPI is used to write events to the room server.
type RoomserverInternalAPI interface {
SyncRoomserverAPI
@ -64,6 +69,7 @@ type RoomserverInternalAPI interface {
FederationRoomserverAPI
QuerySenderIDAPI
UserRoomPrivateKeyCreator
DefaultRoomVersionAPI
// needed to avoid chicken and egg scenario when setting up the
// interdependencies between the roomserver and other input APIs
@ -210,6 +216,7 @@ type ClientRoomserverAPI interface {
QuerySenderIDAPI
UserRoomPrivateKeyCreator
QueryRoomHierarchyAPI
DefaultRoomVersionAPI
QueryMembershipForUser(ctx context.Context, req *QueryMembershipForUserRequest, res *QueryMembershipForUserResponse) error
QueryMembershipsForRoom(ctx context.Context, req *QueryMembershipsForRoomRequest, res *QueryMembershipsForRoomResponse) error
QueryRoomsForUser(ctx context.Context, req *QueryRoomsForUserRequest, res *QueryRoomsForUserResponse) error