Procházet zdrojové kódy

MUC: Store disconnection data on the session

JC Brand před 4 roky
rodič
revize
06f03fc884

+ 3 - 3
src/headless/plugins/muc/muc.js

@@ -2326,12 +2326,12 @@ const ChatRoomMixin = {
      * @param { Integer } status - The status code (see `converse.ROOMSTATUS`)
      */
     setDisconnectionState (message, reason, actor, status=converse.ROOMSTATUS.DISCONNECTED) {
-        this.save({
+        this.session.save({
+            'connection_status': status,
+            'disconnection_actor': actor,
             'disconnection_message': message,
             'disconnection_reason': reason,
-            'disconnection_actor': actor
         });
-        this.session.save({ 'connection_status': status });
     },
 
     onNicknameClash (presence) {

+ 3 - 3
src/plugins/muc-views/disconnected.js

@@ -18,16 +18,16 @@ class MUCDisconnected extends CustomElement {
     }
 
     render () {
-        const message = this.model.get('disconnection_message');
+        const message = this.model.session.get('disconnection_message');
         if (!message) {
             return;
         }
         const messages = [message];
-        const actor = this.model.get('disconnection_actor');
+        const actor = this.model.session.get('disconnection_actor');
         if (actor) {
             messages.push(__('This action was done by %1$s.', actor));
         }
-        const reason = this.model.get('disconnection_reason');
+        const reason = this.model.session.get('disconnection_reason');
         if (reason) {
             messages.push(__('The reason given is: "%1$s".', reason));
         }

+ 3 - 1
src/plugins/muc-views/muc.js

@@ -107,10 +107,12 @@ export default class MUCView extends BaseChatView {
     updateAfterTransition () {
         const conn_status = this.model.session.get('connection_status');
         if (conn_status === converse.ROOMSTATUS.CONNECTING) {
-            this.model.save({
+            this.model.session.save({
                 'disconnection_actor': undefined,
                 'disconnection_message': undefined,
                 'disconnection_reason': undefined,
+            });
+            this.model.save({
                 'moved_jid': undefined,
                 'password_validation_message': undefined,
                 'reason': undefined,