Use localStorage team token with fall-back on query parameter

pull/21833/head
Luke Barnard 2017-02-03 11:48:24 +00:00
parent b9bc8eefd0
commit efae5f6bf1
2 changed files with 10 additions and 2 deletions

View File

@ -42,6 +42,8 @@ export default React.createClass({
onRoomCreated: React.PropTypes.func,
onUserSettingsClose: React.PropTypes.func,
teamToken: React.PropTypes.string,
// and lots and lots of other stuff.
},
@ -197,7 +199,7 @@ export default React.createClass({
page_element = <HomePage
collapsedRhs={this.props.collapse_rhs}
teamServerUrl={this.props.config.teamServerConfig.teamServerURL}
teamToken={window.localStorage.getItem("mx_team_token")}
teamToken={this.props.teamToken}
/>
if (!this.props.collapse_rhs) right_panel = <RightPanel opacity={this.props.sideOpacity}/>
break;

View File

@ -190,6 +190,11 @@ module.exports = React.createClass({
if (this.props.config.sync_timeline_limit) {
MatrixClientPeg.opts.initialSyncLimit = this.props.config.sync_timeline_limit;
}
// Use the locally-stored team token first, then as a fall-back, check to see if
// a referral link was used, which will contain a query parameter `team_token`.
this._teamToken = window.localStorage.getItem('mx_team_token') ||
startingFragmentQueryParams.team_token;
},
componentDidMount: function() {
@ -694,7 +699,7 @@ module.exports = React.createClass({
)[0].roomId;
self.setState({ready: true, currentRoomId: firstRoom, page_type: PageTypes.RoomView});
} else {
if (window.localStorage.getItem('mx_team_token')) {
if (this._teamToken) {
self.setState({ready: true, page_type: PageTypes.HomePage});
}
else {
@ -1051,6 +1056,7 @@ module.exports = React.createClass({
onRoomIdResolved={this.onRoomIdResolved}
onRoomCreated={this.onRoomCreated}
onUserSettingsClose={this.onUserSettingsClose}
teamToken={this._teamToken}
{...this.props}
{...this.state}
/>