Remove server types from login
This commit is contained in:
parent
94f6f65fac
commit
4e152f82e7
1 changed files with 14 additions and 95 deletions
|
@ -26,7 +26,6 @@ import Login from '../../../Login';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
import { messageForResourceLimitError } from '../../../utils/ErrorUtils';
|
import { messageForResourceLimitError } from '../../../utils/ErrorUtils';
|
||||||
import { AutoDiscovery } from "matrix-js-sdk";
|
import { AutoDiscovery } from "matrix-js-sdk";
|
||||||
import * as ServerType from '../../views/auth/ServerTypeSelector';
|
|
||||||
|
|
||||||
// For validating phone numbers without country codes
|
// For validating phone numbers without country codes
|
||||||
const PHONE_NUMBER_REGEX = /^[0-9()\-\s]*$/;
|
const PHONE_NUMBER_REGEX = /^[0-9()\-\s]*$/;
|
||||||
|
@ -87,7 +86,6 @@ module.exports = React.createClass({
|
||||||
errorText: null,
|
errorText: null,
|
||||||
loginIncorrect: false,
|
loginIncorrect: false,
|
||||||
|
|
||||||
serverType: null,
|
|
||||||
enteredHsUrl: this.props.customHsUrl || this.props.defaultHsUrl,
|
enteredHsUrl: this.props.customHsUrl || this.props.defaultHsUrl,
|
||||||
enteredIsUrl: this.props.customIsUrl || this.props.defaultIsUrl,
|
enteredIsUrl: this.props.customIsUrl || this.props.defaultIsUrl,
|
||||||
|
|
||||||
|
@ -263,11 +261,6 @@ module.exports = React.createClass({
|
||||||
username: username,
|
username: username,
|
||||||
discoveryError: null,
|
discoveryError: null,
|
||||||
});
|
});
|
||||||
// If the free server type is selected, we don't show server details at all,
|
|
||||||
// so it doesn't make sense to try .well-known discovery.
|
|
||||||
if (this.state.serverType === ServerType.FREE) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (username[0] === "@") {
|
if (username[0] === "@") {
|
||||||
const serverName = username.split(':').slice(1).join(':');
|
const serverName = username.split(':').slice(1).join(':');
|
||||||
try {
|
try {
|
||||||
|
@ -323,39 +316,6 @@ module.exports = React.createClass({
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onServerTypeChange(type) {
|
|
||||||
this.setState({
|
|
||||||
serverType: type,
|
|
||||||
});
|
|
||||||
|
|
||||||
// When changing server types, set the HS / IS URLs to reasonable defaults for the
|
|
||||||
// the new type.
|
|
||||||
switch (type) {
|
|
||||||
case ServerType.FREE: {
|
|
||||||
const { hsUrl, isUrl } = ServerType.TYPES.FREE;
|
|
||||||
this.onServerConfigChange({
|
|
||||||
hsUrl,
|
|
||||||
isUrl,
|
|
||||||
});
|
|
||||||
// Move directly to the login phase since the server details are fixed.
|
|
||||||
this.setState({
|
|
||||||
phase: PHASE_LOGIN,
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case ServerType.PREMIUM:
|
|
||||||
case ServerType.ADVANCED:
|
|
||||||
this.onServerConfigChange({
|
|
||||||
hsUrl: this.props.defaultHsUrl,
|
|
||||||
isUrl: this.props.defaultIsUrl,
|
|
||||||
});
|
|
||||||
this.setState({
|
|
||||||
phase: PHASE_SERVER_DETAILS,
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
onRegisterClick: function(ev) {
|
onRegisterClick: function(ev) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
ev.stopPropagation();
|
ev.stopPropagation();
|
||||||
|
@ -391,14 +351,6 @@ module.exports = React.createClass({
|
||||||
try {
|
try {
|
||||||
const discovery = await AutoDiscovery.findClientConfig(serverName);
|
const discovery = await AutoDiscovery.findClientConfig(serverName);
|
||||||
|
|
||||||
// The server type may have changed while discovery began in the background.
|
|
||||||
// If it has become the free server type which doesn't show server details,
|
|
||||||
// ignore discovery results.
|
|
||||||
if (this.state.serverType === ServerType.FREE) {
|
|
||||||
this.setState({findingHomeserver: false});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const state = discovery["m.homeserver"].state;
|
const state = discovery["m.homeserver"].state;
|
||||||
if (state !== AutoDiscovery.SUCCESS && state !== AutoDiscovery.PROMPT) {
|
if (state !== AutoDiscovery.SUCCESS && state !== AutoDiscovery.PROMPT) {
|
||||||
this.setState({
|
this.setState({
|
||||||
|
@ -554,42 +506,20 @@ module.exports = React.createClass({
|
||||||
return errorText;
|
return errorText;
|
||||||
},
|
},
|
||||||
|
|
||||||
renderServerComponentForStep() {
|
renderServerComponent() {
|
||||||
const ServerTypeSelector = sdk.getComponent("auth.ServerTypeSelector");
|
|
||||||
const ServerConfig = sdk.getComponent("auth.ServerConfig");
|
const ServerConfig = sdk.getComponent("auth.ServerConfig");
|
||||||
const ModularServerConfig = sdk.getComponent("auth.ModularServerConfig");
|
|
||||||
const AccessibleButton = sdk.getComponent("elements.AccessibleButton");
|
const AccessibleButton = sdk.getComponent("elements.AccessibleButton");
|
||||||
|
|
||||||
if (SdkConfig.get()['disable_custom_urls']) {
|
if (SdkConfig.get()['disable_custom_urls']) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we're on a different phase, we only show the server type selector,
|
|
||||||
// which is always shown if we allow custom URLs at all.
|
|
||||||
if (PHASES_ENABLED && this.state.phase !== PHASE_SERVER_DETAILS) {
|
if (PHASES_ENABLED && this.state.phase !== PHASE_SERVER_DETAILS) {
|
||||||
return <div>
|
// TODO: ...
|
||||||
<ServerTypeSelector
|
return null;
|
||||||
defaultHsUrl={this.props.defaultHsUrl}
|
|
||||||
onChange={this.onServerTypeChange}
|
|
||||||
/>
|
|
||||||
</div>;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let serverDetails = null;
|
const serverDetails = <ServerConfig
|
||||||
switch (this.state.serverType) {
|
|
||||||
case ServerType.FREE:
|
|
||||||
break;
|
|
||||||
case ServerType.PREMIUM:
|
|
||||||
serverDetails = <ModularServerConfig
|
|
||||||
customHsUrl={this.state.enteredHsUrl}
|
|
||||||
defaultHsUrl={this.props.defaultHsUrl}
|
|
||||||
defaultIsUrl={this.props.defaultIsUrl}
|
|
||||||
onServerConfigChange={this.onServerConfigChange}
|
|
||||||
delayTimeMs={250}
|
|
||||||
/>;
|
|
||||||
break;
|
|
||||||
case ServerType.ADVANCED:
|
|
||||||
serverDetails = <ServerConfig
|
|
||||||
customHsUrl={this.state.enteredHsUrl}
|
customHsUrl={this.state.enteredHsUrl}
|
||||||
customIsUrl={this.state.enteredIsUrl}
|
customIsUrl={this.state.enteredIsUrl}
|
||||||
defaultHsUrl={this.props.defaultHsUrl}
|
defaultHsUrl={this.props.defaultHsUrl}
|
||||||
|
@ -597,8 +527,6 @@ module.exports = React.createClass({
|
||||||
onServerConfigChange={this.onServerConfigChange}
|
onServerConfigChange={this.onServerConfigChange}
|
||||||
delayTimeMs={250}
|
delayTimeMs={250}
|
||||||
/>;
|
/>;
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
let nextButton = null;
|
let nextButton = null;
|
||||||
if (PHASES_ENABLED) {
|
if (PHASES_ENABLED) {
|
||||||
|
@ -610,10 +538,6 @@ module.exports = React.createClass({
|
||||||
}
|
}
|
||||||
|
|
||||||
return <div>
|
return <div>
|
||||||
<ServerTypeSelector
|
|
||||||
defaultHsUrl={this.props.defaultHsUrl}
|
|
||||||
onChange={this.onServerTypeChange}
|
|
||||||
/>
|
|
||||||
{serverDetails}
|
{serverDetails}
|
||||||
{nextButton}
|
{nextButton}
|
||||||
</div>;
|
</div>;
|
||||||
|
@ -642,13 +566,8 @@ module.exports = React.createClass({
|
||||||
_renderPasswordStep: function() {
|
_renderPasswordStep: function() {
|
||||||
const PasswordLogin = sdk.getComponent('auth.PasswordLogin');
|
const PasswordLogin = sdk.getComponent('auth.PasswordLogin');
|
||||||
let onEditServerDetailsClick = null;
|
let onEditServerDetailsClick = null;
|
||||||
// If custom URLs are allowed and we haven't selected the Free server type, wire
|
// If custom URLs are allowed, wire up the server details edit link.
|
||||||
// up the server details edit link.
|
if (PHASES_ENABLED && !SdkConfig.get()['disable_custom_urls']) {
|
||||||
if (
|
|
||||||
PHASES_ENABLED &&
|
|
||||||
!SdkConfig.get()['disable_custom_urls'] &&
|
|
||||||
this.state.serverType !== ServerType.FREE
|
|
||||||
) {
|
|
||||||
onEditServerDetailsClick = this.onEditServerDetailsClick;
|
onEditServerDetailsClick = this.onEditServerDetailsClick;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
|
@ -721,7 +640,7 @@ module.exports = React.createClass({
|
||||||
{loader}
|
{loader}
|
||||||
</h2>
|
</h2>
|
||||||
{ errorTextSection }
|
{ errorTextSection }
|
||||||
{ this.renderServerComponentForStep() }
|
{ this.renderServerComponent() }
|
||||||
{ this.renderLoginComponentForStep() }
|
{ this.renderLoginComponentForStep() }
|
||||||
<a className="mx_AuthBody_changeFlow" onClick={this.onRegisterClick} href="#">
|
<a className="mx_AuthBody_changeFlow" onClick={this.onRegisterClick} href="#">
|
||||||
{ _t('Create account') }
|
{ _t('Create account') }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue