Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
a8ede7f241
4 changed files with 85 additions and 43 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
Changes in [0.11.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.11.2) (2017-11-28)
|
||||||
|
=====================================================================================================
|
||||||
|
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.11.1...v0.11.2)
|
||||||
|
|
||||||
|
* Ignore unrecognised login flows
|
||||||
|
[\#1633](https://github.com/matrix-org/matrix-react-sdk/pull/1633)
|
||||||
|
|
||||||
Changes in [0.11.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.11.1) (2017-11-17)
|
Changes in [0.11.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.11.1) (2017-11-17)
|
||||||
=====================================================================================================
|
=====================================================================================================
|
||||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.11.0...v0.11.1)
|
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.11.0...v0.11.1)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "matrix-react-sdk",
|
"name": "matrix-react-sdk",
|
||||||
"version": "0.11.1",
|
"version": "0.11.2",
|
||||||
"description": "SDK for matrix.org using React",
|
"description": "SDK for matrix.org using React",
|
||||||
"author": "matrix.org",
|
"author": "matrix.org",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
|
@ -77,6 +77,14 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
componentWillMount: function() {
|
componentWillMount: function() {
|
||||||
this._unmounted = false;
|
this._unmounted = false;
|
||||||
|
|
||||||
|
// map from login step type to a function which will render a control
|
||||||
|
// letting you do that login type
|
||||||
|
this._stepRendererMap = {
|
||||||
|
'm.login.password': this._renderPasswordStep,
|
||||||
|
'm.login.cas': this._renderCasStep,
|
||||||
|
};
|
||||||
|
|
||||||
this._initLoginLogic();
|
this._initLoginLogic();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -233,13 +241,29 @@ module.exports = React.createClass({
|
||||||
loginIncorrect: false,
|
loginIncorrect: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
loginLogic.getFlows().then(function(flows) {
|
loginLogic.getFlows().then((flows) => {
|
||||||
// old behaviour was to always use the first flow without presenting
|
// look for a flow where we understand all of the steps.
|
||||||
// options. This works in most cases (we don't have a UI for multiple
|
for (let i = 0; i < flows.length; i++ ) {
|
||||||
// logins so let's skip that for now).
|
if (!this._isSupportedFlow(flows[i])) {
|
||||||
loginLogic.chooseFlow(0);
|
continue;
|
||||||
self.setState({
|
}
|
||||||
currentFlow: self._getCurrentFlowStep(),
|
|
||||||
|
// we just pick the first flow where we support all the
|
||||||
|
// steps. (we don't have a UI for multiple logins so let's skip
|
||||||
|
// that for now).
|
||||||
|
loginLogic.chooseFlow(i);
|
||||||
|
this.setState({
|
||||||
|
currentFlow: this._getCurrentFlowStep(),
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// we got to the end of the list without finding a suitable
|
||||||
|
// flow.
|
||||||
|
this.setState({
|
||||||
|
errorText: _t(
|
||||||
|
"This homeserver doesn't offer any login flows which are " +
|
||||||
|
"supported by this client.",
|
||||||
|
),
|
||||||
});
|
});
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
self.setState({
|
self.setState({
|
||||||
|
@ -253,6 +277,16 @@ module.exports = React.createClass({
|
||||||
}).done();
|
}).done();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_isSupportedFlow: function(flow) {
|
||||||
|
// technically the flow can have multiple steps, but no one does this
|
||||||
|
// for login and loginLogic doesn't support it so we can ignore it.
|
||||||
|
if (!this._stepRendererMap[flow.type]) {
|
||||||
|
console.log("Skipping flow", flow, "due to unsupported login type", flow.type);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
_getCurrentFlowStep: function() {
|
_getCurrentFlowStep: function() {
|
||||||
return this._loginLogic ? this._loginLogic.getCurrentFlowStep() : null;
|
return this._loginLogic ? this._loginLogic.getCurrentFlowStep() : null;
|
||||||
},
|
},
|
||||||
|
@ -294,8 +328,20 @@ module.exports = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
componentForStep: function(step) {
|
componentForStep: function(step) {
|
||||||
switch (step) {
|
if (!step) {
|
||||||
case 'm.login.password': {
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const stepRenderer = this._stepRendererMap[step];
|
||||||
|
|
||||||
|
if (stepRenderer) {
|
||||||
|
return stepRenderer();
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
|
||||||
|
_renderPasswordStep: function() {
|
||||||
const PasswordLogin = sdk.getComponent('login.PasswordLogin');
|
const PasswordLogin = sdk.getComponent('login.PasswordLogin');
|
||||||
return (
|
return (
|
||||||
<PasswordLogin
|
<PasswordLogin
|
||||||
|
@ -311,24 +357,13 @@ module.exports = React.createClass({
|
||||||
hsUrl={this.state.enteredHomeserverUrl}
|
hsUrl={this.state.enteredHomeserverUrl}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
},
|
||||||
case 'm.login.cas': {
|
|
||||||
|
_renderCasStep: function() {
|
||||||
const CasLogin = sdk.getComponent('login.CasLogin');
|
const CasLogin = sdk.getComponent('login.CasLogin');
|
||||||
return (
|
return (
|
||||||
<CasLogin onSubmit={this.onCasLogin} />
|
<CasLogin onSubmit={this.onCasLogin} />
|
||||||
);
|
);
|
||||||
}
|
|
||||||
default: {
|
|
||||||
if (!step) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
{ _t('Sorry, this homeserver is using a login which is not recognised ') }({ step })
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_onLanguageChange: function(newLang) {
|
_onLanguageChange: function(newLang) {
|
||||||
|
|
|
@ -870,7 +870,7 @@
|
||||||
"Error: Problem communicating with the given homeserver.": "Error: Problem communicating with the given homeserver.",
|
"Error: Problem communicating with the given homeserver.": "Error: Problem communicating with the given homeserver.",
|
||||||
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.": "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.",
|
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.": "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.",
|
||||||
"Can't connect to homeserver - please check your connectivity, ensure your <a>homeserver's SSL certificate</a> is trusted, and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity, ensure your <a>homeserver's SSL certificate</a> is trusted, and that a browser extension is not blocking requests.",
|
"Can't connect to homeserver - please check your connectivity, ensure your <a>homeserver's SSL certificate</a> is trusted, and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity, ensure your <a>homeserver's SSL certificate</a> is trusted, and that a browser extension is not blocking requests.",
|
||||||
"Sorry, this homeserver is using a login which is not recognised ": "Sorry, this homeserver is using a login which is not recognised ",
|
"This homeserver doesn't offer any login flows which are supported by this client.": "This homeserver doesn't offer any login flows which are supported by this client.",
|
||||||
"Login as guest": "Login as guest",
|
"Login as guest": "Login as guest",
|
||||||
"Sign in to get started": "Sign in to get started",
|
"Sign in to get started": "Sign in to get started",
|
||||||
"Failed to fetch avatar URL": "Failed to fetch avatar URL",
|
"Failed to fetch avatar URL": "Failed to fetch avatar URL",
|
||||||
|
|
Loading…
Reference in a new issue