You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-11-29 16:43:09 +03:00
track raw displayname on user objects
This commit is contained in:
@@ -212,21 +212,6 @@ function calculateDisplayName(member, event, roomState) {
|
|||||||
var displayName = event.getDirectionalContent().displayname;
|
var displayName = event.getDirectionalContent().displayname;
|
||||||
var selfUserId = member.userId;
|
var selfUserId = member.userId;
|
||||||
|
|
||||||
/*
|
|
||||||
// FIXME: this would be great but still needs to use the
|
|
||||||
// full userId to disambiguate if needed...
|
|
||||||
|
|
||||||
if (!displayName) {
|
|
||||||
var matches = selfUserId.match(/^@(.*?):/);
|
|
||||||
if (matches) {
|
|
||||||
return matches[1];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return selfUserId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (!displayName) {
|
if (!displayName) {
|
||||||
return selfUserId;
|
return selfUserId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ function User(userId) {
|
|||||||
this.presence = "offline";
|
this.presence = "offline";
|
||||||
this.presenceStatusMsg = null;
|
this.presenceStatusMsg = null;
|
||||||
this.displayName = userId;
|
this.displayName = userId;
|
||||||
|
this.rawDisplayName = userId;
|
||||||
this.avatarUrl = null;
|
this.avatarUrl = null;
|
||||||
this.lastActiveAgo = 0;
|
this.lastActiveAgo = 0;
|
||||||
this.lastPresenceTs = 0;
|
this.lastPresenceTs = 0;
|
||||||
@@ -131,6 +132,17 @@ User.prototype.setDisplayName = function(name) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manually set this user's non-disambiguated display name. No event is emitted
|
||||||
|
* in response to this as there is no underlying MatrixEvent to emit with.
|
||||||
|
* @param {string} name The new display name.
|
||||||
|
*/
|
||||||
|
User.prototype.setRawDisplayName = function(name) {
|
||||||
|
this.rawDisplayName = name;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manually set this user's avatar URL. No event is emitted in response to this
|
* Manually set this user's avatar URL. No event is emitted in response to this
|
||||||
* as there is no underlying MatrixEvent to emit with.
|
* as there is no underlying MatrixEvent to emit with.
|
||||||
|
|||||||
@@ -101,6 +101,9 @@ module.exports.MatrixInMemoryStore.prototype = {
|
|||||||
var user = this.users[member.userId] || new User(member.userId);
|
var user = this.users[member.userId] || new User(member.userId);
|
||||||
if (member.name) {
|
if (member.name) {
|
||||||
user.setDisplayName(member.name);
|
user.setDisplayName(member.name);
|
||||||
|
if (member.events.member) {
|
||||||
|
user.setRawDisplayName(member.events.member.getDirectionalContent().displayname);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (member.events.member && member.events.member.getContent().avatar_url) {
|
if (member.events.member && member.events.member.getContent().avatar_url) {
|
||||||
user.setAvatarUrl(member.events.member.getContent().avatar_url);
|
user.setAvatarUrl(member.events.member.getContent().avatar_url);
|
||||||
|
|||||||
Reference in New Issue
Block a user