XEP-0352: Client State Indication
XEP-0352 support added to Auto Away Mode
This commit is contained in:
parent
e35c5a4fa3
commit
a660f853c1
20
converse.js
20
converse.js
@ -354,17 +354,29 @@
|
|||||||
// Module-level functions
|
// Module-level functions
|
||||||
// ----------------------
|
// ----------------------
|
||||||
|
|
||||||
this.autoAwayReset=function(){
|
this.autoAwayReset=function(){
|
||||||
if (converse._idleCounter > 0) {
|
if (converse._idleCounter > 0) {
|
||||||
converse._idleCounter = 0;
|
converse._idleCounter = 0;
|
||||||
if (converse._autoAway>0) {
|
if (converse._autoAway>0) {
|
||||||
converse._autoAway=0;
|
converse._autoAway=0;
|
||||||
|
if (converse.HAS_CSI) {
|
||||||
|
converse.connection.send($build("active", {xmlns: 'urn:xmpp:csi:0'}));
|
||||||
|
}
|
||||||
converse.xmppstatus.setStatus('online');
|
converse.xmppstatus.setStatus('online');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.registerAutoAwayHandler = function (){
|
this.registerAutoAwayHandler = function (){
|
||||||
|
|
||||||
|
|
||||||
if (converse.auto_away>0 || converse.auto_xa>0){
|
if (converse.auto_away>0 || converse.auto_xa>0){
|
||||||
|
|
||||||
|
if (converse.features.findWhere({'var': 'urn:xmpp:csi'})) {
|
||||||
|
// The server supports XEP-0352 Client State Indication
|
||||||
|
converse.HAS_CSI=true;
|
||||||
|
}else {
|
||||||
|
converse.HAS_CSI=false;
|
||||||
|
}
|
||||||
if (converse.auto_xa>0 && converse.auto_xa<converse.auto_away) converse.auto_xa=converse.auto_away;
|
if (converse.auto_xa>0 && converse.auto_xa<converse.auto_away) converse.auto_xa=converse.auto_away;
|
||||||
converse._idleCounter=0;
|
converse._idleCounter=0;
|
||||||
converse._autoAway=0;
|
converse._autoAway=0;
|
||||||
@ -381,10 +393,16 @@
|
|||||||
converse._idleCounter++;
|
converse._idleCounter++;
|
||||||
}
|
}
|
||||||
if (converse.auto_away>0 && converse._autoAway!=1 && converse._idleCounter > converse.auto_away && converse._idleCounter <= converse.auto_xa){
|
if (converse.auto_away>0 && converse._autoAway!=1 && converse._idleCounter > converse.auto_away && converse._idleCounter <= converse.auto_xa){
|
||||||
|
if (converse.HAS_CSI) {
|
||||||
|
converse.connection.send($build("inactive", {xmlns: 'urn:xmpp:csi:0'}));
|
||||||
|
}
|
||||||
converse._autoAway=1;
|
converse._autoAway=1;
|
||||||
converse.xmppstatus.setStatus('away');
|
converse.xmppstatus.setStatus('away');
|
||||||
}
|
}
|
||||||
else if (converse.auto_xa>0 && converse._autoAway!=2 && converse._idleCounter > converse.auto_xa){
|
else if (converse.auto_xa>0 && converse._autoAway!=2 && converse._idleCounter > converse.auto_xa){
|
||||||
|
if (converse.HAS_CSI) {
|
||||||
|
converse.connection.send($build("inactive", {xmlns: 'urn:xmpp:csi:0'}));
|
||||||
|
}
|
||||||
converse._autoAway=2;
|
converse._autoAway=2;
|
||||||
converse.xmppstatus.setStatus('xa');
|
converse.xmppstatus.setStatus('xa');
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ Changelog
|
|||||||
* Bugfix. Manual login doesn't work when only websocket_url is set and not bosh_service_url. [jcbrand]
|
* Bugfix. Manual login doesn't work when only websocket_url is set and not bosh_service_url. [jcbrand]
|
||||||
* Bugfix. clearSessions during unload event would throw an error when not logged in. [gbonvehi]
|
* Bugfix. clearSessions during unload event would throw an error when not logged in. [gbonvehi]
|
||||||
* #389 Allow login panel placeholders and roster item 'Name' translations. [gbonvehi]
|
* #389 Allow login panel placeholders and roster item 'Name' translations. [gbonvehi]
|
||||||
* Add automatic Away mode [thierrytiti]
|
* Add automatic Away mode and XEP-0352 support [thierrytiti]
|
||||||
|
|
||||||
0.9.3 (2015-05-01)
|
0.9.3 (2015-05-01)
|
||||||
------------------
|
------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user