diff --git a/app/sagas/deepLinking.js b/app/sagas/deepLinking.js index ffa04040f1b..d42e202c61d 100644 --- a/app/sagas/deepLinking.js +++ b/app/sagas/deepLinking.js @@ -63,7 +63,9 @@ const handleOpen = function* handleOpen({ params }) { let { host } = params; if (!/^(http|https)/.test(host)) { - host = `https://${ params.host }`; + host = `https://${ host }`; + } else { + host = host.replace('http://', 'https://'); } // remove last "/" from host if (host.slice(-1) === '/') { @@ -75,7 +77,6 @@ const handleOpen = function* handleOpen({ params }) { RNUserDefaults.get(`${ RocketChat.TOKEN_KEY }-${ host }`) ]); - // TODO: needs better test // if deep link is from same server if (server === host && user) { const connected = yield select(state => state.server.connected); diff --git a/app/views/NewServerView.js b/app/views/NewServerView.js index 5d2726cdd63..2f337f83e1b 100644 --- a/app/views/NewServerView.js +++ b/app/views/NewServerView.js @@ -133,8 +133,8 @@ class NewServerView extends React.Component { handleNewServerEvent = (event) => { let { server } = event; const { connectServer } = this.props; - this.setState({ text: server }); server = this.completeUrl(server); + this.setState({ text: server }); connectServer(server); } @@ -163,6 +163,7 @@ class NewServerView extends React.Component { if (text) { Keyboard.dismiss(); const server = this.completeUrl(text); + this.setState({ text: server }); await this.basicAuth(server, text); connectServer(server, cert); } @@ -225,11 +226,14 @@ class NewServerView extends React.Component { url = `${ url }.rocket.chat`; } + // Comment to test local server on Android device if (/^(https?:\/\/)?(((\w|[0-9-_])+(\.(\w|[0-9-_])+)+)|localhost)(:\d+)?$/.test(url)) { if (/^localhost(:\d+)?/.test(url)) { url = `http://${ url }`; } else if (/^https?:\/\//.test(url) === false) { url = `https://${ url }`; + } else if (/^http:\/\//.test(url)) { + url = url.replace('http://', 'https://'); } }