From cc58b06226eb99e641259b65d1e5b3d71fb59201 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 2 Aug 2018 14:25:17 +0100 Subject: [PATCH 1/2] Support montly active user limit error on /login The 'contact your service administrator' should be a link but we don't have this info from the HS yet. --- src/components/structures/login/Login.js | 9 +++++++++ src/i18n/strings/en_EN.json | 10 +++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/components/structures/login/Login.js b/src/components/structures/login/Login.js index 43264e7003..cac1c99f24 100644 --- a/src/components/structures/login/Login.js +++ b/src/components/structures/login/Login.js @@ -121,6 +121,15 @@ module.exports = React.createClass({ const usingEmail = username.indexOf("@") > 0; if (error.httpStatus === 400 && usingEmail) { errorText = _t('This Home Server does not support login using email address.'); + } else if (error.errcode == 'M_MAU_LIMIT_EXCEEDED') { + errorText = ( +
+
{ _t('This homeserver has hit its Monthly Active User limit') }
+
+ { _t('Please contact your service administrator to continue using this service.') } +
+
+ ); } else if (error.httpStatus === 401 || error.httpStatus === 403) { if (SdkConfig.get()['disable_custom_urls']) { errorText = ( diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 9acde2b80c..2bd7be4ced 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -33,12 +33,6 @@ "VoIP is unsupported": "VoIP is unsupported", "You cannot place VoIP calls in this browser.": "You cannot place VoIP calls in this browser.", "You cannot place a call with yourself.": "You cannot place a call with yourself.", - "Conference calls are not supported in encrypted rooms": "Conference calls are not supported in encrypted rooms", - "Conference calls are not supported in this client": "Conference calls are not supported in this client", - "Warning!": "Warning!", - "Conference calling is in development and may not be reliable.": "Conference calling is in development and may not be reliable.", - "Failed to set up conference call": "Failed to set up conference call", - "Conference call failed.": "Conference call failed.", "Could not connect to the integration server": "Could not connect to the integration server", "A conference call could not be started because the intgrations server is not available": "A conference call could not be started because the intgrations server is not available", "Call in Progress": "Call in Progress", @@ -211,7 +205,6 @@ "Authentication check failed: incorrect password?": "Authentication check failed: incorrect password?", "Failed to join room": "Failed to join room", "Message Pinning": "Message Pinning", - "Jitsi Conference Calling": "Jitsi Conference Calling", "Disable Emoji suggestions while typing": "Disable Emoji suggestions while typing", "Use compact timeline layout": "Use compact timeline layout", "Hide removed messages": "Hide removed messages", @@ -271,6 +264,7 @@ "No display name": "No display name", "New passwords don't match": "New passwords don't match", "Passwords can't be empty": "Passwords can't be empty", + "Warning!": "Warning!", "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.", "Continue": "Continue", "Export E2E room keys": "Export E2E room keys", @@ -1157,6 +1151,8 @@ "Send Reset Email": "Send Reset Email", "Create an account": "Create an account", "This Home Server does not support login using email address.": "This Home Server does not support login using email address.", + "This homeserver has hit its Monthly Active User limit": "This homeserver has hit its Monthly Active User limit", + "Please contact your service administrator to continue using this service.": "Please contact your service administrator to continue using this service.", "Incorrect username and/or password.": "Incorrect username and/or password.", "Please note you are logging into the %(hs)s server, not matrix.org.": "Please note you are logging into the %(hs)s server, not matrix.org.", "Guest access is disabled on this Home Server.": "Guest access is disabled on this Home Server.", From bb9a3eb33db4fb7aab9316ac6a51565dee5eee49 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 2 Aug 2018 16:09:57 +0100 Subject: [PATCH 2/2] Support MAU limit error on register too --- src/components/structures/login/Registration.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/structures/login/Registration.js b/src/components/structures/login/Registration.js index 462063406f..1f6a2fbcdb 100644 --- a/src/components/structures/login/Registration.js +++ b/src/components/structures/login/Registration.js @@ -164,7 +164,12 @@ module.exports = React.createClass({ if (!success) { let msg = response.message || response.toString(); // can we give a better error message? - if (response.required_stages && response.required_stages.indexOf('m.login.msisdn') > -1) { + if (response.errcode == 'M_MAU_LIMIT_EXCEEDED') { + msg =
+

{_t("This homeserver has hit its Monthly Active User limit")}

+

{_t("Please contact your service administrator to continue using this service.")}

+
; + } else if (response.required_stages && response.required_stages.indexOf('m.login.msisdn') > -1) { let msisdnAvailable = false; for (const flow of response.available_flows) { msisdnAvailable |= flow.stages.indexOf('m.login.msisdn') > -1;