If public room creation fails, retry without publishing it (#19194)

Signed-off-by: Andrew Ferrazzutti <fair@miscworks.net>
pull/21833/head
Andrew Ferrazzutti 2021-09-28 03:42:19 -04:00
parent 8e497f8c56
commit cd8a0b8aec
1 changed files with 8 additions and 0 deletions

View File

@ -221,6 +221,14 @@ export default async function createRoom(opts: IOpts): Promise<string | null> {
let roomId;
return client.createRoom(createOpts).finally(function() {
if (modal) modal.close();
}).catch(function(err) {
if (err.httpStatus === 403 && err.errcode == "M_UNKNOWN") {
console.warn("Failed to publish room, try again without publishing it");
createOpts.visibility = Visibility.Private;
return client.createRoom(createOpts);
} else {
return Promise.reject(err);
}
}).then(function(res) {
roomId = res.room_id;
if (opts.dmUserId) {