diff --git a/event-schemas/schema/v1/m.room.create b/event-schemas/schema/v1/m.room.create index f2e1ee92..348b6d86 100644 --- a/event-schemas/schema/v1/m.room.create +++ b/event-schemas/schema/v1/m.room.create @@ -12,6 +12,10 @@ "creator": { "type": "string", "description": "The ``user_id`` of the room creator. This is set by the homeserver." + }, + "m.federate": { + "type": "boolean", + "description": "Whether users on other servers can join this room. Defaults to ``true`` if key does not exist." } }, "required": ["creator"] diff --git a/specification/1-client_server_api.rst b/specification/1-client_server_api.rst index 51e9b00b..c63742d1 100644 --- a/specification/1-client_server_api.rst +++ b/specification/1-client_server_api.rst @@ -779,6 +779,18 @@ options which can be set when creating a room: This will tell the server to invite everyone in the list to the newly created room. +``creation_content`` + Type: + Object + Optional: + Yes + Value: + Extra keys to be added to the content of the ``m.room.create``. The server + will clober the following keys: ``creator``. Future versions of this + spec may allow the server to clobber other keys if required. + Description: + Allows clients to add keys to the content of ``m.room.create``. + ``preset`` Type: String @@ -822,7 +834,10 @@ Example:: "preset": "public_chat", "room_alias_name": "thepub", "name": "The Grand Duke Pub", - "topic": "All about happy hour" + "topic": "All about happy hour", + "creation_content": { + "m.federate": false + } } The home server will create a ``m.room.create`` event when the room is created,