explicitly rejoin parted rooms

This commit is contained in:
Matthew Hodgson 2015-12-28 02:58:40 +00:00
parent 424540e57a
commit 970bc84bb6

View file

@ -99,29 +99,33 @@ var commands = {
} }
// Try to find a room with this alias // Try to find a room with this alias
// XXX: do we need to do this? Doesn't the JS SDK suppress duplicate attempts to join the same room?
var foundRoom = MatrixTools.getRoomForAlias( var foundRoom = MatrixTools.getRoomForAlias(
MatrixClientPeg.get().getRooms(), MatrixClientPeg.get().getRooms(),
room_alias room_alias
); );
if (foundRoom) { // we've already joined this room, view it.
dis.dispatch({ if (foundRoom) { // we've already joined this room, view it if it's not archived.
action: 'view_room', var me = foundRoom.getMember(MatrixClientPeg.get().credentials.userId);
room_id: foundRoom.roomId if (me && me.membership !== "leave") {
}); dis.dispatch({
return success(); action: 'view_room',
} room_id: foundRoom.roomId
else { });
// attempt to join this alias. return success();
return success( }
MatrixClientPeg.get().joinRoom(room_alias).then(
function(room) {
dis.dispatch({
action: 'view_room',
room_id: room.roomId
});
})
);
} }
// otherwise attempt to join this alias.
return success(
MatrixClientPeg.get().joinRoom(room_alias).then(
function(room) {
dis.dispatch({
action: 'view_room',
room_id: room.roomId
});
})
);
} }
} }
return reject("Usage: /join <room_alias>"); return reject("Usage: /join <room_alias>");