Skip to content
Snippets Groups Projects
Commit b5c9d994 authored by Kegan Dougal's avatar Kegan Dougal
Browse files

Show display name changes in the message list.

parent 176e3fd1
No related branches found
No related tags found
No related merge requests found
...@@ -253,12 +253,30 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) { ...@@ -253,12 +253,30 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) {
// Exception: Do not do this if the event is a room state event because such events already come // Exception: Do not do this if the event is a room state event because such events already come
// as room messages events. Moreover, when they come as room messages events, they are relatively ordered // as room messages events. Moreover, when they come as room messages events, they are relatively ordered
// with other other room messages // with other other room messages
if (event.content.prev !== event.content.membership && !isStateEvent) { if (!isStateEvent) {
if (isLiveEvent) { // could be a membership change, display name change, etc.
$rootScope.events.rooms[event.room_id].messages.push(event); // Find out which one.
var memberChanges = undefined;
if (event.content.prev !== event.content.membership) {
memberChanges = "membership";
} }
else { else if (event.prev_content.displayname !==
$rootScope.events.rooms[event.room_id].messages.unshift(event); event.content.displayname) {
memberChanges = "displayname";
}
// mark the key which changed
event.changedKey = memberChanges;
// If there was a change we want to display, dump it in the message
// list.
if (memberChanges) {
if (isLiveEvent) {
$rootScope.events.rooms[event.room_id].messages.push(event);
}
else {
$rootScope.events.rooms[event.room_id].messages.unshift(event);
}
} }
} }
......
...@@ -77,10 +77,10 @@ ...@@ -77,10 +77,10 @@
</td> </td>
<td ng-class="(!msg.content.membership && ('m.room.topic' !== msg.type && 'm.room.name' !== msg.type))? (msg.content.msgtype === 'm.emote' ? 'emote text' : 'text') : 'membership text'"> <td ng-class="(!msg.content.membership && ('m.room.topic' !== msg.type && 'm.room.name' !== msg.type))? (msg.content.msgtype === 'm.emote' ? 'emote text' : 'text') : 'membership text'">
<div class="bubble"> <div class="bubble">
<span ng-if="'join' === msg.content.membership"> <span ng-if="'join' === msg.content.membership && msg.changedKey === 'membership'">
{{ members[msg.state_key].displayname || msg.state_key }} joined {{ members[msg.state_key].displayname || msg.state_key }} joined
</span> </span>
<span ng-if="'leave' === msg.content.membership"> <span ng-if="'leave' === msg.content.membership && msg.changedKey === 'membership'">
<span ng-if="msg.user_id === msg.state_key"> <span ng-if="msg.user_id === msg.state_key">
{{ members[msg.state_key].displayname || msg.state_key }} left {{ members[msg.state_key].displayname || msg.state_key }} left
</span> </span>
...@@ -93,7 +93,8 @@ ...@@ -93,7 +93,8 @@
</span> </span>
</span> </span>
</span> </span>
<span ng-if="'invite' === msg.content.membership || 'ban' === msg.content.membership"> <span ng-if="'invite' === msg.content.membership && msg.changedKey === 'membership' ||
'ban' === msg.content.membership && msg.changedKey === 'membership'">
{{ members[msg.user_id].displayname || msg.user_id }} {{ members[msg.user_id].displayname || msg.user_id }}
{{ {"invite": "invited", "ban": "banned"}[msg.content.membership] }} {{ {"invite": "invited", "ban": "banned"}[msg.content.membership] }}
{{ members[msg.state_key].displayname || msg.state_key }} {{ members[msg.state_key].displayname || msg.state_key }}
...@@ -101,6 +102,9 @@ ...@@ -101,6 +102,9 @@
: {{ msg.content.reason }} : {{ msg.content.reason }}
</span> </span>
</span> </span>
<span ng-if="msg.changedKey === 'displayname'">
{{ msg.user_id }} changed their display name from {{ msg.prev_content.displayname }} to {{ msg.content.displayname }}
</span>
<span ng-show='msg.content.msgtype === "m.emote"' <span ng-show='msg.content.msgtype === "m.emote"'
ng-class="msg.echo_msg_state" ng-class="msg.echo_msg_state"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment