|
|
@@ -336,12 +336,9 @@ function onRoomUpdated() {
|
|
|
if (isSameGroup(MSG_GROUPS[currentGroup], msg)) {
|
|
|
// New message belonging in this group
|
|
|
var dom = msg.getDom();
|
|
|
- if (Math.abs(firstTsCombo -msg.ts) < 30 && !(msg instanceof MeMessage)) {
|
|
|
- if (prevMsg)
|
|
|
- prevMsg.getDom().classList.add(R.klass.msg.sameTs);
|
|
|
- }
|
|
|
- else
|
|
|
- firstTsCombo = msg.ts;
|
|
|
+ if (Math.abs(firstTsCombo -msg.ts) < 30 && prevMsg)
|
|
|
+ prevMsg.getDom().classList.add(R.klass.msg.sameTs);
|
|
|
+ firstTsCombo = msg.ts;
|
|
|
if ((!prevMsg || prevMsg.ts <= SELECTED_ROOM.lastRead) && msg.ts > SELECTED_ROOM.lastRead)
|
|
|
dom.classList.add(R.klass.msg.firstUnread);
|
|
|
else
|
|
|
@@ -463,6 +460,18 @@ function onRoomUpdated() {
|
|
|
MSG_GROUPS[i].dataset["date"] = MSG_GROUPS[i].dataset["date"] || locale.formatDay(MSG_GROUPS[i].ts);
|
|
|
}
|
|
|
}
|
|
|
+ currentGroup = MSG_GROUPS.length;
|
|
|
+ PENDING_MESSAGES.forEach(function(msg) {
|
|
|
+ if (msg.channel === SELECTED_ROOM.id) {
|
|
|
+ if (!MSG_GROUPS[currentGroup]) {
|
|
|
+ MSG_GROUPS[currentGroup] = createMessageGroupDom(SELECTED_CONTEXT.self, SELECTED_CONTEXT.self.getName(), msg instanceof MeMessage, msg.ts);
|
|
|
+ chatFrag.appendChild(MSG_GROUPS[currentGroup]);
|
|
|
+ }
|
|
|
+ MSG_GROUPS[currentGroup].classList.add("pending");
|
|
|
+ MSG_GROUPS[currentGroup].content.appendChild(msg.dom);
|
|
|
+ MSG_GROUPS[currentGroup].messages.push(msg.id);
|
|
|
+ }
|
|
|
+ });
|
|
|
//TODO scroll lock
|
|
|
var content = document.getElementById(R.id.currentRoom.content);
|
|
|
content.scrollTop = content.scrollHeight -content.clientHeight;
|
|
|
@@ -531,7 +540,9 @@ function displayTmpMessage(channel, input, isMeMessage) {
|
|
|
channel: channel.id,
|
|
|
text: input.trim(),
|
|
|
isMe: isMeMessage,
|
|
|
- dom: createTmpMsgDom(input, isMeMessage)
|
|
|
+ dom: createTmpMsgDom(input, isMeMessage),
|
|
|
+ ts: Date.now(),
|
|
|
+ id: "pending" +channel.id +Date.now()
|
|
|
};
|
|
|
PENDING_MESSAGES.push(obj);
|
|
|
if (channel === SELECTED_ROOM)
|