1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-07-30 04:23:07 +03:00

Add MatrixEvent.sender and .target to pull the right name per message.

This commit is contained in:
Kegan Dougal
2015-06-12 11:05:57 +01:00
parent da7b31cb7e
commit 71dacb14b1
3 changed files with 26 additions and 2 deletions

View File

@ -147,8 +147,13 @@ function printMemberList() {
} }
function printLine(event) { function printLine(event) {
// TODO: Update with event.sender when implemented. var name = event.sender ? event.sender.name : event.getSender();
console.log("%s :: %s", event.getSender(), event.getContent().body); var separator = "<<<";
if (event.getSender() === myUserId) {
name = "Me";
separator = ">>>";
}
console.log("%s %s %s", name, separator, event.getContent().body);
} }
matrixClient.startClient(numMessagesToShow); // messages for each room. matrixClient.startClient(numMessagesToShow); // messages for each room.

View File

@ -37,6 +37,15 @@ RoomState.prototype.getMembers = function() {
return utils.values(this.members); return utils.values(this.members);
}; };
/**
* Get a room member by their user ID.
* @param {string} userId The room member's user ID.
* @return {RoomMember} The member or null if they do not exist.
*/
RoomState.prototype.getMember = function(userId) {
return this.members[userId] || null;
};
/** /**
* Get state events from the state of the room. * Get state events from the state of the room.
* @param {string} eventType The event type of the state event. * @param {string} eventType The event type of the state event.

View File

@ -45,6 +45,10 @@ utils.inherits(Room, EventEmitter);
return member; return member;
}; };
/**
* Get a list of members whose membership state is "join".
* @return {RoomMember[]} A list of currently joined members.
*/
Room.prototype.getJoinedMembers = function() { Room.prototype.getJoinedMembers = function() {
return utils.filter(this.currentState.getMembers(), function(m) { return utils.filter(this.currentState.getMembers(), function(m) {
return m.membership === "join"; return m.membership === "join";
@ -61,7 +65,13 @@ utils.inherits(Room, EventEmitter);
* @fires module:client~MatrixClient#event:"Room.timeline" * @fires module:client~MatrixClient#event:"Room.timeline"
*/ */
Room.prototype.addEventsToTimeline = function(events, toStartOfTimeline) { Room.prototype.addEventsToTimeline = function(events, toStartOfTimeline) {
var stateContext = toStartOfTimeline ? this.oldState : this.currentState;
for (var i = 0; i < events.length; i++) { for (var i = 0; i < events.length; i++) {
events[i].sender = stateContext.getMember(events[i].getSender());
if (events[i].getType() === "m.room.member") {
events[i].target = stateContext.getMember(events[i].getStateKey());
}
if (toStartOfTimeline) { if (toStartOfTimeline) {
this.timeline.unshift(events[i]); this.timeline.unshift(events[i]);
} }