Merge pull request #736 from vector-im/fix-create-room-type

Fix room type with federation allowed
This commit is contained in:
Robert Long 2022-05-16 11:28:10 -07:00 committed by GitHub
commit cc54dbc1d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -36,7 +36,7 @@ type CreateRoomPayload = {
topic?: string; topic?: string;
invite?: string[]; invite?: string[];
room_alias_name?: string; room_alias_name?: string;
creation_content?: {"m.federate": boolean, type?: string}; creation_content?: {"m.federate"?: boolean, type?: string};
initial_state: {type: string; state_key: string; content: Record<string, any>}[] initial_state: {type: string; state_key: string; content: Record<string, any>}[]
power_level_content_override?: any; power_level_content_override?: any;
} }
@ -150,12 +150,15 @@ export class RoomBeingCreated extends EventEmitter<{change: never}> {
if (this.options.alias) { if (this.options.alias) {
createOptions.room_alias_name = this.options.alias; createOptions.room_alias_name = this.options.alias;
} }
if (this.options.isFederationDisabled === true) { if (this.options.type !== undefined) {
createOptions.creation_content = { createOptions.creation_content = {
type: this.options.type === RoomType.World ? "org.matrix.msc3815.world" : undefined, type: this.options.type === RoomType.World ? "org.matrix.msc3815.world" : undefined,
"m.federate": false
}; };
} }
if (this.options.isFederationDisabled === true) {
if (createOptions.creation_content === undefined) createOptions.creation_content = {};
createOptions.creation_content["m.federate"] = false;
}
if (this.isEncrypted) { if (this.isEncrypted) {
createOptions.initial_state.push(createRoomEncryptionEvent()); createOptions.initial_state.push(createRoomEncryptionEvent());
} }