ソースを参照

Make 1:1 info messages ephemeral

JC Brand 4 ヶ月 前
コミット
80c04224ff

+ 4 - 1
src/headless/plugins/chat/model.js

@@ -98,6 +98,9 @@ class ChatBox extends ModelWithMessages(ModelWithContact(ColorAwareModel(ChatBox
         }
     }
 
+    /**
+     * @param {import('../roster/presence').default} item
+     */
     onPresenceChanged (item) {
         const { __ } = _converse;
         const show = item.get('show');
@@ -112,7 +115,7 @@ class ChatBox extends ModelWithMessages(ModelWithContact(ColorAwareModel(ChatBox
         } else if (show === 'online') {
             text = __('%1$s is online', fullname);
         }
-        text && this.createMessage({ 'message': text, 'type': 'info' });
+        text && this.createMessage({ message: text, type: 'info', is_ephemeral: true });
     }
 
     async close () {

+ 2 - 2
src/headless/plugins/mam/placeholder.js

@@ -5,8 +5,8 @@ export default class MAMPlaceholderMessage extends Model {
 
     defaults () { // eslint-disable-line class-methods-use-this
         return {
-            'msgid': getUniqueId(),
-            'is_ephemeral': false
+            msgid: getUniqueId(),
+            is_ephemeral: false
         };
     }
 }

+ 4 - 1
src/headless/types/plugins/chat/model.d.ts

@@ -292,7 +292,10 @@ declare class ChatBox extends ChatBox_base {
      * @param {MessageAttributes|StanzaParseError} attrs_or_error
      */
     onMessage(attrs_or_error: import("./types").MessageAttributes | import("../../shared/errors").StanzaParseError): Promise<void>;
-    onPresenceChanged(item: any): void;
+    /**
+     * @param {import('../roster/presence').default} item
+     */
+    onPresenceChanged(item: import("../roster/presence").default): void;
     close(): Promise<void>;
     /**
      * @returns {string}