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
This commit is contained in:
JC Brand 2018-04-10 20:56:54 +02:00
parent 3d0435a755
commit 7303e96cdb
2 changed files with 17 additions and 18 deletions

View File

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

View File

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