Tidy up starting from a room alias when not logged in.
This commit is contained in:
parent
4a3053a90b
commit
068429f3e3
1 changed files with 18 additions and 32 deletions
|
@ -344,6 +344,14 @@ module.exports = React.createClass({
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'view_room_alias':
|
case 'view_room_alias':
|
||||||
|
if (!this.state.logged_in) {
|
||||||
|
this.starting_room_alias_payload = payload;
|
||||||
|
// Login is the default screen, so we'd do this anyway,
|
||||||
|
// but this will set the URL bar appropriately.
|
||||||
|
dis.dispatch({ action: 'start_login' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var foundRoom = MatrixTools.getRoomForAlias(
|
var foundRoom = MatrixTools.getRoomForAlias(
|
||||||
MatrixClientPeg.get().getRooms(), payload.room_alias
|
MatrixClientPeg.get().getRooms(), payload.room_alias
|
||||||
);
|
);
|
||||||
|
@ -555,18 +563,9 @@ module.exports = React.createClass({
|
||||||
if (state !== "PREPARED") { return; }
|
if (state !== "PREPARED") { return; }
|
||||||
self.sdkReady = true;
|
self.sdkReady = true;
|
||||||
|
|
||||||
if (self.starting_room_alias) {
|
if (self.starting_room_alias_payload) {
|
||||||
dis.dispatch({
|
dis.dispatch(self.starting_room_alias_payload);
|
||||||
action: 'view_room_alias',
|
delete self.starting_room_alias_payload;
|
||||||
room_alias: self.starting_room_alias,
|
|
||||||
event_id: self.starting_event_id,
|
|
||||||
invite_sign_url: self.starting_room_invite_sign_url,
|
|
||||||
oob_data: self.starting_room_oob_data,
|
|
||||||
});
|
|
||||||
delete self.starting_room_alias;
|
|
||||||
delete self.starting_event_id;
|
|
||||||
delete self.starting_room_invite_sign_url;
|
|
||||||
delete self.starting_room_oob_data;
|
|
||||||
} else if (!self.state.page_type) {
|
} else if (!self.state.page_type) {
|
||||||
if (!self.state.currentRoom) {
|
if (!self.state.currentRoom) {
|
||||||
var firstRoom = null;
|
var firstRoom = null;
|
||||||
|
@ -694,26 +693,13 @@ module.exports = React.createClass({
|
||||||
};
|
};
|
||||||
|
|
||||||
if (roomString[0] == '#') {
|
if (roomString[0] == '#') {
|
||||||
if (this.state.logged_in) {
|
dis.dispatch({
|
||||||
dis.dispatch({
|
action: 'view_room_alias',
|
||||||
action: 'view_room_alias',
|
room_alias: roomString,
|
||||||
room_alias: roomString,
|
event_id: eventId,
|
||||||
event_id: eventId,
|
invite_sign_url: params.signurl,
|
||||||
invite_sign_url: params.signurl,
|
oob_data: oob_data,
|
||||||
oob_data: oob_data,
|
});
|
||||||
});
|
|
||||||
} else {
|
|
||||||
// Okay, we'll take you here soon...
|
|
||||||
// XXX: There are way too many of these:
|
|
||||||
// It would probably be better to handle whether the SDK is
|
|
||||||
// ready or not in the view_room_alias handler instead.
|
|
||||||
this.starting_room_alias = roomString;
|
|
||||||
this.starting_room_invite_sign_url = params.signurl;
|
|
||||||
this.starting_room_oob_data = oob_data;
|
|
||||||
this.starting_event_id = eventId;
|
|
||||||
// ...but you're still going to have to log in.
|
|
||||||
this.notifyNewScreen('login');
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
dis.dispatch({
|
dis.dispatch({
|
||||||
action: 'view_room',
|
action: 'view_room',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue