Просмотр исходного кода

MUC: When closing, only send read marker if we were entered

When using RAI, it's possible to close a MUC without it being entered.
JC Brand 2 лет назад
Родитель
Сommit
0d9561e666
1 измененных файлов с 5 добавлено и 2 удалено
  1. 5 2
      src/headless/plugins/muc/muc.js

+ 5 - 2
src/headless/plugins/muc/muc.js

@@ -886,8 +886,11 @@ const ChatRoomMixin = {
     },
 
     async close (ev) {
-        safeSave(this.session, { 'connection_status': converse.ROOMSTATUS.CLOSING });
-        this.sendMarkerForLastMessage('received', true);
+        const { ENTERED, CLOSING } = converse.ROOMSTATUS;
+        const was_entered = this.session.get('connection_status') === ENTERED;
+
+        safeSave(this.session, { 'connection_status': CLOSING });
+        was_entered && this.sendMarkerForLastMessage('received', true);
         await this.unregisterNickname();
         await this.leave();