Comment that the room publish failure check is Synapse-specific

Signed-off-by: Andrew Ferrazzutti <fair@miscworks.net>
pull/21833/head
Andrew Ferrazzutti 2021-10-01 01:42:25 -04:00
parent 71851d8075
commit 017b2e0444
1 changed files with 4 additions and 0 deletions

View File

@ -222,6 +222,10 @@ export default async function createRoom(opts: IOpts): Promise<string | null> {
return client.createRoom(createOpts).finally(function() {
if (modal) modal.close();
}).catch(function(err) {
// NB This checks for the Synapse-specific error condition of a room creation
// having been denied because the requesting user wanted to publish the room,
// but the server denies them that permission (via room_list_publication_rules).
// The check below responds by retrying without publishing the room.
if (err.httpStatus === 403 && err.errcode === "M_UNKNOWN" && err.data.error === "Not allowed to publish room") {
console.warn("Failed to publish room, try again without publishing it");
createOpts.visibility = Visibility.Private;