|
@@ -345,6 +345,7 @@ export default class ChatRoom extends Listenable {
|
345
|
345
|
member.status = statusEl.textContent || '';
|
346
|
346
|
}
|
347
|
347
|
let hasStatusUpdate = false;
|
|
348
|
+ let hasVersionUpdate = false;
|
348
|
349
|
const xElement
|
349
|
350
|
= pres.getElementsByTagNameNS(
|
350
|
351
|
'http://jabber.org/protocol/muc#user', 'x')[0];
|
|
@@ -435,6 +436,19 @@ export default class ChatRoom extends Listenable {
|
435
|
436
|
case 'identity':
|
436
|
437
|
member.identity = extractIdentityInformation(node);
|
437
|
438
|
break;
|
|
439
|
+ case 'stat': {
|
|
440
|
+ const { attributes } = node;
|
|
441
|
+
|
|
442
|
+ if (!attributes) {
|
|
443
|
+ break;
|
|
444
|
+ }
|
|
445
|
+ const { name } = attributes;
|
|
446
|
+
|
|
447
|
+ if (name === 'version') {
|
|
448
|
+ member.version = attributes.value;
|
|
449
|
+ }
|
|
450
|
+ break;
|
|
451
|
+ }
|
438
|
452
|
}
|
439
|
453
|
}
|
440
|
454
|
|
|
@@ -471,6 +485,7 @@ export default class ChatRoom extends Listenable {
|
471
|
485
|
this.members[from] = member;
|
472
|
486
|
logger.log('entered', from, member);
|
473
|
487
|
hasStatusUpdate = member.status !== undefined;
|
|
488
|
+ hasVersionUpdate = member.version !== undefined;
|
474
|
489
|
if (member.isFocus) {
|
475
|
490
|
this._initFocus(from, jid);
|
476
|
491
|
} else {
|
|
@@ -537,6 +552,11 @@ export default class ChatRoom extends Listenable {
|
537
|
552
|
hasStatusUpdate = true;
|
538
|
553
|
memberOfThis.status = member.status;
|
539
|
554
|
}
|
|
555
|
+
|
|
556
|
+ if (memberOfThis.version !== member.version) {
|
|
557
|
+ hasVersionUpdate = true;
|
|
558
|
+ memberOfThis.version = member.version;
|
|
559
|
+ }
|
540
|
560
|
}
|
541
|
561
|
|
542
|
562
|
// after we had fired member or room joined events, lets fire events
|
|
@@ -623,6 +643,10 @@ export default class ChatRoom extends Listenable {
|
623
|
643
|
from,
|
624
|
644
|
member.status);
|
625
|
645
|
}
|
|
646
|
+
|
|
647
|
+ if (hasVersionUpdate) {
|
|
648
|
+ logger.info(`Received version for ${jid}: ${member.version}`);
|
|
649
|
+ }
|
626
|
650
|
}
|
627
|
651
|
|
628
|
652
|
/**
|