explicitly rejoin parted rooms
This commit is contained in:
parent
424540e57a
commit
970bc84bb6
1 changed files with 22 additions and 18 deletions
|
@ -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>");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue