Comment that the room publish failure check is Synapse-specific
Signed-off-by: Andrew Ferrazzutti <fair@miscworks.net>pull/21833/head
parent
71851d8075
commit
017b2e0444
|
@ -222,6 +222,10 @@ export default async function createRoom(opts: IOpts): Promise<string | null> {
|
||||||
return client.createRoom(createOpts).finally(function() {
|
return client.createRoom(createOpts).finally(function() {
|
||||||
if (modal) modal.close();
|
if (modal) modal.close();
|
||||||
}).catch(function(err) {
|
}).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") {
|
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");
|
console.warn("Failed to publish room, try again without publishing it");
|
||||||
createOpts.visibility = Visibility.Private;
|
createOpts.visibility = Visibility.Private;
|
||||||
|
|
Loading…
Reference in New Issue