diff --git a/scripts/sdk/base-manifest.json b/scripts/sdk/base-manifest.json index 03e052d2..4c79b502 100644 --- a/scripts/sdk/base-manifest.json +++ b/scripts/sdk/base-manifest.json @@ -1,7 +1,7 @@ { "name": "@thirdroom/hydrogen-view-sdk", "description": "Embeddable matrix client library, including view components", - "version": "0.0.6", + "version": "0.0.8", "main": "./hydrogen.es.js", "type": "module" } diff --git a/src/lib.ts b/src/lib.ts index 20a8a7d7..854248c2 100644 --- a/src/lib.ts +++ b/src/lib.ts @@ -80,7 +80,7 @@ export {TemplateView} from "./platform/web/ui/general/TemplateView"; export {ViewModel} from "./domain/ViewModel"; export {LoadingView} from "./platform/web/ui/general/LoadingView.js"; export {AvatarView} from "./platform/web/ui/AvatarView.js"; -export {RoomVisibility} from "./matrix/room/common"; +export {RoomVisibility, RoomType} from "./matrix/room/common"; export {EventEmitter} from "./utils/EventEmitter"; export {Disposables} from "./utils/Disposables"; export {LocalMedia} from "./matrix/calls/LocalMedia"; diff --git a/src/matrix/room/RoomBeingCreated.ts b/src/matrix/room/RoomBeingCreated.ts index 9fe8c31e..f825c163 100644 --- a/src/matrix/room/RoomBeingCreated.ts +++ b/src/matrix/room/RoomBeingCreated.ts @@ -36,7 +36,7 @@ type CreateRoomPayload = { topic?: string; invite?: 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}[] power_level_content_override?: any; } @@ -150,12 +150,15 @@ export class RoomBeingCreated extends EventEmitter<{change: never}> { if (this.options.alias) { createOptions.room_alias_name = this.options.alias; } - if (this.options.isFederationDisabled === true) { + if (this.options.type !== undefined) { createOptions.creation_content = { 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) { createOptions.initial_state.push(createRoomEncryptionEvent()); }