Clear chat_state timer when closing chat
This commit is contained in:
parent
6c6ef1f1f9
commit
32621b8327
@ -1182,10 +1182,9 @@
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
it("will indicate when it has a time difference of more than a day between it and its predecessor",
|
it("will indicate when it has a time difference of more than a day between it and its predecessor",
|
||||||
|
mock.initConverseWithPromises(
|
||||||
mock.initConverseWithPromises(
|
null, ['rosterGroupsFetched'], {},
|
||||||
null, ['rosterGroupsFetched'], {},
|
function (done, _converse) {
|
||||||
function (done, _converse) {
|
|
||||||
|
|
||||||
test_utils.createContacts(_converse, 'current');
|
test_utils.createContacts(_converse, 'current');
|
||||||
test_utils.openControlBox();
|
test_utils.openControlBox();
|
||||||
@ -1897,8 +1896,8 @@
|
|||||||
expect($stanza.children().get(0).tagName).toBe('inactive');
|
expect($stanza.children().get(0).tagName).toBe('inactive');
|
||||||
expect($stanza.children().get(1).tagName).toBe('no-store');
|
expect($stanza.children().get(1).tagName).toBe('no-store');
|
||||||
expect($stanza.children().get(2).tagName).toBe('no-permanent-store');
|
expect($stanza.children().get(2).tagName).toBe('no-permanent-store');
|
||||||
done();
|
}).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL))
|
||||||
}).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL));
|
.then(done);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it("is sent when the user a minimizes a chat box",
|
it("is sent when the user a minimizes a chat box",
|
||||||
|
@ -577,7 +577,10 @@
|
|||||||
} else {
|
} else {
|
||||||
this.showStatusNotification(message.get('fullname')+' '+__('is typing'));
|
this.showStatusNotification(message.get('fullname')+' '+__('is typing'));
|
||||||
}
|
}
|
||||||
this.clear_status_timeout = window.setTimeout(this.clearStatusNotification.bind(this), 30000);
|
this.clear_status_timeout = window.setTimeout(
|
||||||
|
this.clearStatusNotification.bind(this),
|
||||||
|
30000
|
||||||
|
);
|
||||||
} else if (message.get('chat_state') === _converse.PAUSED) {
|
} else if (message.get('chat_state') === _converse.PAUSED) {
|
||||||
if (message.get('sender') === 'me') {
|
if (message.get('sender') === 'me') {
|
||||||
this.showStatusNotification(__('Stopped typing on the other device'));
|
this.showStatusNotification(__('Stopped typing on the other device'));
|
||||||
@ -749,10 +752,16 @@
|
|||||||
}
|
}
|
||||||
if (state === _converse.COMPOSING) {
|
if (state === _converse.COMPOSING) {
|
||||||
this.chat_state_timeout = window.setTimeout(
|
this.chat_state_timeout = window.setTimeout(
|
||||||
this.setChatState.bind(this), _converse.TIMEOUTS.PAUSED, _converse.PAUSED);
|
this.setChatState.bind(this),
|
||||||
|
_converse.TIMEOUTS.PAUSED,
|
||||||
|
_converse.PAUSED
|
||||||
|
);
|
||||||
} else if (state === _converse.PAUSED) {
|
} else if (state === _converse.PAUSED) {
|
||||||
this.chat_state_timeout = window.setTimeout(
|
this.chat_state_timeout = window.setTimeout(
|
||||||
this.setChatState.bind(this), _converse.TIMEOUTS.INACTIVE, _converse.INACTIVE);
|
this.setChatState.bind(this),
|
||||||
|
_converse.TIMEOUTS.INACTIVE,
|
||||||
|
_converse.INACTIVE
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (!no_save && this.model.get('chat_state') !== state) {
|
if (!no_save && this.model.get('chat_state') !== state) {
|
||||||
this.model.set('chat_state', state);
|
this.model.set('chat_state', state);
|
||||||
@ -864,7 +873,7 @@
|
|||||||
if (_converse.connection.connected) {
|
if (_converse.connection.connected) {
|
||||||
// Immediately sending the chat state, because the
|
// Immediately sending the chat state, because the
|
||||||
// model is going to be destroyed afterwards.
|
// model is going to be destroyed afterwards.
|
||||||
this.model.set('chat_state', _converse.INACTIVE);
|
this.setChatState(_converse.INACTIVE);
|
||||||
this.sendChatState();
|
this.sendChatState();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
@ -170,8 +170,6 @@
|
|||||||
} else if (level === Strophe.LogLevel.WARN) {
|
} else if (level === Strophe.LogLevel.WARN) {
|
||||||
if (_converse.debug) {
|
if (_converse.debug) {
|
||||||
logger.warn(`${prefix} ${moment().format()} WARNING: ${message}`, style);
|
logger.warn(`${prefix} ${moment().format()} WARNING: ${message}`, style);
|
||||||
} else {
|
|
||||||
logger.warn(`${prefix} WARNING: ${message}`, style);
|
|
||||||
}
|
}
|
||||||
} else if (level === Strophe.LogLevel.FATAL) {
|
} else if (level === Strophe.LogLevel.FATAL) {
|
||||||
if (_converse.debug) {
|
if (_converse.debug) {
|
||||||
@ -249,7 +247,9 @@
|
|||||||
// out or disconnecting in the previous session.
|
// out or disconnecting in the previous session.
|
||||||
// This happens in tests. We therefore first clean up.
|
// This happens in tests. We therefore first clean up.
|
||||||
Backbone.history.stop();
|
Backbone.history.stop();
|
||||||
|
_converse.chatboxviews.closeAllChatBoxes();
|
||||||
delete _converse.controlboxtoggle;
|
delete _converse.controlboxtoggle;
|
||||||
|
delete _converse.chatboxviews;
|
||||||
_converse.connection.reset();
|
_converse.connection.reset();
|
||||||
_converse.off();
|
_converse.off();
|
||||||
_converse.stopListening();
|
_converse.stopListening();
|
||||||
|
Loading…
Reference in New Issue
Block a user