diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js
index 855090873f..92be0954f9 100644
--- a/src/components/structures/RoomView.js
+++ b/src/components/structures/RoomView.js
@@ -310,7 +310,7 @@ module.exports = React.createClass({
});
} else if (room) {
//viewing a previously joined room, try to lazy load members
-
+
// Stop peeking because we have joined this room previously
MatrixClientPeg.get().stopPeeking();
this.setState({isPeeking: false});
@@ -1507,9 +1507,8 @@ module.exports = React.createClass({
}
}
- const myUserId = MatrixClientPeg.get().credentials.userId;
- const myMember = this.state.room.getMember(myUserId);
- if (myMember && myMember.membership == 'invite') {
+ const myMembership = this.state.room.getMyMembership();
+ if (myMembership == 'invite') {
if (this.state.joining || this.state.rejecting) {
return (
@@ -1517,6 +1516,8 @@ module.exports = React.createClass({
);
} else {
+ const myUserId = MatrixClientPeg.get().credentials.userId;
+ const myMember = this.state.room.getMember(myUserId);
const inviteEvent = myMember.events.member;
var inviterName = inviteEvent.sender ? inviteEvent.sender.name : inviteEvent.getSender();
@@ -1600,7 +1601,7 @@ module.exports = React.createClass({
} else if (this.state.showingPinned) {
hideCancel = true; // has own cancel
aux = ;
- } else if (!myMember || myMember.membership !== "join") {
+ } else if (!myMembership || myMembership !== "join") {
// We do have a room object for this room, but we're not currently in it.
// We may have a 3rd party invite to it.
var inviterName = undefined;
@@ -1642,7 +1643,7 @@ module.exports = React.createClass({
let messageComposer, searchInfo;
const canSpeak = (
// joined and not showing search results
- myMember && (myMember.membership == 'join') && !this.state.searchResults
+ myMembership == 'join' && !this.state.searchResults
);
if (canSpeak) {
messageComposer =
@@ -1777,15 +1778,15 @@ module.exports = React.createClass({
oobData={this.props.oobData}
editing={this.state.editingRoomSettings}
saving={this.state.uploadingRoomSettings}
- inRoom={myMember && myMember.membership === 'join'}
+ inRoom={myMembership === 'join'}
collapsedRhs={this.props.collapsedRhs}
onSearchClick={this.onSearchClick}
onSettingsClick={this.onSettingsClick}
onPinnedClick={this.onPinnedClick}
onSaveClick={this.onSettingsSaveClick}
onCancelClick={(aux && !hideCancel) ? this.onCancelClick : null}
- onForgetClick={(myMember && myMember.membership === "leave") ? this.onForgetClick : null}
- onLeaveClick={(myMember && myMember.membership === "join") ? this.onLeaveClick : null}
+ onForgetClick={(myMembership === "leave") ? this.onForgetClick : null}
+ onLeaveClick={(myMembership === "join") ? this.onLeaveClick : null}
/>
{ auxPanel }