소스 검색

Don't show `typing from different device` CSN messages

To avoid showing them erroneously would mean keeping track of used
message ids which seems like more work than justified by the feature.

Fixes #1026
JC Brand 7 년 전
부모
커밋
7303e96cdb
2개의 변경된 파일17개의 추가작업 그리고 18개의 파일을 삭제
  1. 5 10
      src/converse-chatview.js
  2. 12 8
      src/converse-muc-views.js

+ 5 - 10
src/converse-chatview.js

@@ -685,23 +685,18 @@
 
                 showChatStateNotification (message) {
                     /* Support for XEP-0085, Chat State Notifications */
+                    if (message.get('sender') === 'me') {
+                        return;
+                    }
                     let text;
                     const from = message.get('from');
                     const data = `data-csn=${from}`;
                     this.clearChatStateNotification(from);
 
                     if (message.get('chat_state') === _converse.COMPOSING) {
-                        if (message.get('sender') === 'me') {
-                            text = __('Typing from another device');
-                        } else {
-                            text = message.get('fullname')+' '+__('is typing');
-                        }
+                        text = message.get('fullname')+' '+__('is typing');
                     } else if (message.get('chat_state') === _converse.PAUSED) {
-                        if (message.get('sender') === 'me') {
-                            text = __('Stopped typing on the other device');
-                        } else {
-                            text = message.get('fullname')+' '+__('has stopped typing');
-                        }
+                        text = message.get('fullname')+' '+__('has stopped typing');
                     } else if (message.get('chat_state') === _converse.GONE) {
                         text = message.get('fullname')+' '+__('has gone away');
                     } else {

+ 12 - 8
src/converse-muc-views.js

@@ -754,11 +754,15 @@
                         // <gone/> is not applicable within MUC context
                         return;
                     }
+                    const msgid = _converse.connection.getUniqueId();
                     _converse.connection.send(
-                        $msg({'to':this.model.get('jid'), 'type': 'groupchat'})
-                            .c(chat_state, {'xmlns': Strophe.NS.CHATSTATES}).up()
-                            .c('no-store', {'xmlns': Strophe.NS.HINTS}).up()
-                            .c('no-permanent-store', {'xmlns': Strophe.NS.HINTS})
+                        $msg({
+                            'to':this.model.get('jid'),
+                            'id': msgid,
+                            'type': 'groupchat'
+                        }).c(chat_state, {'xmlns': Strophe.NS.CHATSTATES}).up()
+                          .c('no-store', {'xmlns': Strophe.NS.HINTS}).up()
+                          .c('no-permanent-store', {'xmlns': Strophe.NS.HINTS})
                     );
                 },
 
@@ -772,10 +776,10 @@
                     text = u.httpToGeoUri(emojione.shortnameToUnicode(text), _converse)
                     const msgid = _converse.connection.getUniqueId();
                     const msg = $msg({
-                        to: this.model.get('jid'),
-                        from: _converse.connection.jid,
-                        type: 'groupchat',
-                        id: msgid
+                        'to': this.model.get('jid'),
+                        'from': _converse.connection.jid,
+                        'type': 'groupchat',
+                        'id': msgid
                     }).c("body").t(text).up()
                     .c("x", {xmlns: "jabber:x:event"}).c(_converse.COMPOSING);
                     _converse.connection.send(msg);