Sfoglia il codice sorgente

Bugfix. Allow moderators to retract their own messages

JC Brand 5 anni fa
parent
commit
366dee0aa5

+ 2 - 2
sass/_messages.scss

@@ -234,13 +234,13 @@
                     height: var(--message-font-size);
                     font-size: var(--message-font-size);
                     padding: 0;
-                    padding-left: 0.75em;
+                    margin-left: 0.75em;
                     border: none;
                     opacity: 0;
                     background: transparent;
                     cursor: pointer;
                     &:focus {
-                        display: block;
+                        opacity: 1;
                     }
                 }
             }

+ 1 - 1
spec/retractions.js

@@ -533,7 +533,7 @@
                 await view.model.queueMessage(received_stanza);
                 await u.waitUntil(() => view.el.querySelector('.chat-msg__content'));
                 expect(view.el.querySelector('.chat-msg__content .chat-msg__action-retract')).toBe(null);
-                const result = await view.model.canRetractMessages();
+                const result = await view.model.canModerateMessages();
                 expect(result).toBe(false);
                 done();
             }));

+ 4 - 2
src/converse-message-view.js

@@ -234,10 +234,12 @@ converse.plugins.add('converse-message-view', {
                 const is_groupchat = this.model.get('type') === 'groupchat';
                 const is_own_message = this.model.get('sender') === 'me';
                 const chatbox = this.model.collection.chatbox;
-                const may_retract_own_message = is_own_message && ['all', 'own'].includes(_converse.allow_message_retraction);
+                const may_retract_own_message = is_own_message && (
+                    ['all', 'own'].includes(_converse.allow_message_retraction) || await chatbox.canModerateMessages()
+                );
                 const may_moderate_message = !is_own_message && is_groupchat &&
                     ['all', 'moderator'].includes(_converse.allow_message_retraction) &&
-                    await chatbox.canRetractMessages();
+                    await chatbox.canModerateMessages();
 
                 const retractable= !is_retracted && (may_moderate_message || may_retract_own_message);
                 const msg = u.stringToElement(tpl_message(

+ 1 - 1
src/headless/converse-muc.js

@@ -820,7 +820,7 @@ converse.plugins.add('converse-muc', {
                 return _converse.ChatBox.prototype.close.call(this);
             },
 
-            canRetractMessages () {
+            canModerateMessages () {
                 const self = this.getOwnOccupant();
                 return self && self.isModerator() && _converse.api.disco.supports(Strophe.NS.MODERATE, this.get('jid'));
             },