1
0
isundil 6 жил өмнө
parent
commit
a1dda4627a

+ 18 - 7
cli/ui.js

@@ -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)

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 107 - 107
srv/public/mimouchat.min.js


+ 7 - 3
srv/src/slackManager.js

@@ -15,7 +15,10 @@ var instance = new SlackManager();
 setInterval(function() {
     var keys = instance.cache.keys();
     keys.forEach(function(instKey) {
-        instance.cache.get(instKey).ping();
+        if (!instance.cache.get(instKey))
+            instance.cache.del(instKey);
+        else
+            instance.cache.get(instKey).ping();
     });
 }, PING_DELAY);
 
@@ -24,7 +27,7 @@ setInterval(function() {
         now = Date.now();
     keys.forEach(function(instKey) {
         var inst = instance.cache.get(instKey);
-        if (inst.data.cleanTyping(now))
+        if (inst && inst.data.cleanTyping(now))
             MultiChatManager.onCtxUpdated(inst);
     });
 }, 1000);
@@ -38,7 +41,8 @@ SlackManager.prototype.getAuthScope = function() {
 setInterval(function() {
     var keys = instance.cache.keys();
     keys.forEach(function(instKey) {
-        instance.cache.get(instKey).rtmPing();
+        let instVal = instance.cache.get(instKey);
+        instVal && instVal.rtmPing();
     });
 }, RTM_PING_DELAY);
 

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно