Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
Merge pull request #829 from matrix-org/luke/fix-people-section-disap…
Browse files Browse the repository at this point in the history
…pearing

Remove DM-guessing code
  • Loading branch information
lukebarnard1 committed May 4, 2017
2 parents 694fc26 + 74e92d6 commit d5b49a1
Showing 1 changed file with 6 additions and 47 deletions.
53 changes: 6 additions & 47 deletions src/components/views/rooms/RoomList.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ module.exports = React.createClass({
if (this.props.selectedRoom) {
constantTimeDispatcher.dispatch(
"RoomTile.select", this.props.selectedRoom, {}
);
);
}
constantTimeDispatcher.dispatch(
"RoomTile.select", nextProps.selectedRoom, { selected: true }
Expand Down Expand Up @@ -265,7 +265,7 @@ module.exports = React.createClass({
},

onRoomStateMember: function(ev, state, member) {
if (ev.getStateKey() === MatrixClientPeg.get().credentials.userId &&
if (ev.getStateKey() === MatrixClientPeg.get().credentials.userId &&
ev.getPrevContent() && ev.getPrevContent().membership === "invite")
{
this._delayedRefreshRoomList();
Expand All @@ -290,7 +290,7 @@ module.exports = React.createClass({
this._delayedRefreshRoomList();
}
else if (ev.getType() == 'm.push_rules') {
this._delayedRefreshRoomList();
this._delayedRefreshRoomList();
}
},

Expand Down Expand Up @@ -318,7 +318,7 @@ module.exports = React.createClass({
// as needed.
// Alternatively we'd do something magical with Immutable.js or similar.
this.setState(this.getRoomLists());

// this._lastRefreshRoomListTs = Date.now();
},

Expand All @@ -341,7 +341,7 @@ module.exports = React.createClass({
MatrixClientPeg.get().getRooms().forEach(function(room) {
const me = room.getMember(MatrixClientPeg.get().credentials.userId);
if (!me) return;

// console.log("room = " + room.name + ", me.membership = " + me.membership +
// ", sender = " + me.events.member.getSender() +
// ", target = " + me.events.member.getStateKey() +
Expand Down Expand Up @@ -391,51 +391,10 @@ module.exports = React.createClass({
}
});

if (s.lists["im.vector.fake.direct"].length == 0 &&
MatrixClientPeg.get().getAccountData('m.direct') === undefined &&
!MatrixClientPeg.get().isGuest())
{
// scan through the 'recents' list for any rooms which look like DM rooms
// and make them DM rooms
const oldRecents = s.lists["im.vector.fake.recent"];
s.lists["im.vector.fake.recent"] = [];

for (const room of oldRecents) {
const me = room.getMember(MatrixClientPeg.get().credentials.userId);

if (me && Rooms.looksLikeDirectMessageRoom(room, me)) {
self.listsForRoomId[room.roomId].push("im.vector.fake.direct");
s.lists["im.vector.fake.direct"].push(room);
} else {
self.listsForRoomId[room.roomId].push("im.vector.fake.recent");
s.lists["im.vector.fake.recent"].push(room);
}
}

// save these new guessed DM rooms into the account data
const newMDirectEvent = {};
for (const room of s.lists["im.vector.fake.direct"]) {
const me = room.getMember(MatrixClientPeg.get().credentials.userId);
const otherPerson = Rooms.getOnlyOtherMember(room, me);
if (!otherPerson) continue;

const roomList = newMDirectEvent[otherPerson.userId] || [];
roomList.push(room.roomId);
newMDirectEvent[otherPerson.userId] = roomList;
}

console.warn("Resetting room DM state to be " + JSON.stringify(newMDirectEvent));

// if this fails, fine, we'll just do the same thing next time we get the room lists
MatrixClientPeg.get().setAccountData('m.direct', newMDirectEvent).done();
}

//console.log("calculated new roomLists; im.vector.fake.recent = " + s.lists["im.vector.fake.recent"]);

// we actually apply the sorting to this when receiving the prop in RoomSubLists.

// we'll need this when we get to iterating through lists programatically - e.g. ctrl-shift-up/down
/*
/*
this.listOrder = [
"im.vector.fake.invite",
"m.favourite",
Expand Down

0 comments on commit d5b49a1

Please sign in to comment.