diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index d137d2fff4..48189d8b80 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -222,6 +222,7 @@ "Your browser does not support the required cryptography extensions": "Your browser does not support the required cryptography extensions", "Not a valid Riot keyfile": "Not a valid Riot keyfile", "Authentication check failed: incorrect password?": "Authentication check failed: incorrect password?", + "There was an error joining the room": "There was an error joining the room", "Use a few words, avoid common phrases": "Use a few words, avoid common phrases", "No need for symbols, digits, or uppercase letters": "No need for symbols, digits, or uppercase letters", "Use a longer keyboard pattern with more turns": "Use a longer keyboard pattern with more turns", diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js index f15925f480..9e048e5d8e 100644 --- a/src/stores/RoomViewStore.js +++ b/src/stores/RoomViewStore.js @@ -224,6 +224,11 @@ class RoomViewStore extends Store { err: err, }); let msg = err.message ? err.message : JSON.stringify(err); + // XXX: We are relying on the error message returned by browsers here. + // This isn't great, but it does generalize the error being shown to users. + if (msg && msg.startsWith("CORS request rejected")) { + msg = _t("There was an error joining the room"); + } if (err.errcode === 'M_INCOMPATIBLE_ROOM_VERSION') { msg =
{_t("Sorry, your homeserver is too old to participate in this room.")}