Fixed duplicated messages sending in slow network condition.
Show the message sending flow state in the messages list:
- While sending, the message appears semi transparent in the chat.
- If successfully sent, it appears as before, ie normal
- In case of failure, it appears in red with an Unsent text.
1 files changed, 7 insertions, 2 deletions
diff --git a/webclient/room/room.html b/webclient/room/room.html
index 493884f601..147113987e 100644
--- a/webclient/room/room.html
+++ b/webclient/room/room.html
@@ -40,7 +40,10 @@
ng-class="(events.rooms[room_id].messages[$index + 1].user_id !== msg.user_id ? 'differentUser' : '') + (msg.user_id === state.user_id ? ' mine' : '')" scroll-item>
<td class="leftBlock">
<div class="sender" ng-hide="events.rooms[room_id].messages[$index - 1].user_id === msg.user_id">{{ members[msg.user_id].displayname || msg.user_id }}</div>
- <div class="timestamp">{{ (msg.content.hsob_ts || msg.ts) | date:'MMM d HH:mm' }}</div>
+ <div class="timestamp"
+ ng-class="msg.echo_msg_state">
+ {{ (msg.content.hsob_ts || msg.ts) | date:'MMM d HH:mm' }}
+ </div>
</td>
<td class="avatar">
<img class="avatarImage" ng-src="{{ members[msg.user_id].avatar_url || 'img/default-profile.png' }}" width="32" height="32"
@@ -67,7 +70,9 @@
{{ members[msg.state_key].displayname || msg.state_key }}
</span>
<span ng-show='msg.content.msgtype === "m.emote"' ng-bind-html="'* ' + (members[msg.user_id].displayname || msg.user_id) + ' ' + msg.content.body | linky:'_blank'"/>
- <span ng-show='msg.content.msgtype === "m.text"' ng-bind-html="((msg.content.msgtype === 'm.text') ? msg.content.body : '') | linky:'_blank'"/>
+ <span ng-show='msg.content.msgtype === "m.text"'
+ ng-class="msg.echo_msg_state"
+ ng-bind-html="((msg.content.msgtype === 'm.text') ? msg.content.body : '') | linky:'_blank'"/>
<div ng-show='msg.content.msgtype === "m.image"'>
<div ng-hide='msg.content.thumbnail_url' ng-style="msg.content.body.h && { 'height' : (msg.content.body.h < 320) ? msg.content.body.h : 320}">
<img class="image" ng-src="{{ msg.content.url }}"/>
|