From ca068f47493cf7d0e3ed295434f5358d6228699b Mon Sep 17 00:00:00 2001 From: Reinaldo Neto Date: Wed, 25 Jan 2023 16:11:32 -0300 Subject: [PATCH 1/2] [FIX] "Allow Reaction" does not work properly on "Read Only" rooms --- app/views/RoomView/index.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/views/RoomView/index.tsx b/app/views/RoomView/index.tsx index 0e6f2d4ec7f..c82c813a088 100644 --- a/app/views/RoomView/index.tsx +++ b/app/views/RoomView/index.tsx @@ -861,10 +861,15 @@ class RoomView extends React.Component { }; onMessageLongPress = (message: TAnyMessageModel) => { + const { readOnly } = this.state; // if it's a thread message on main room, we disable the long press if (message.tmid && !this.tmid) { return; } + // if it's read only the message box isn't rendered, and doesn't exist this.messagebox is undefined + if (readOnly) { + return this.messageActions?.showMessageActions(message); + } this.messagebox?.current?.closeEmojiAndAction(this.messageActions?.showMessageActions, message); }; From 539960968e2a13faa964ebcc95c8d47a3dd93d6b Mon Sep 17 00:00:00 2001 From: Reinaldo Neto Date: Mon, 30 Jan 2023 16:34:53 -0300 Subject: [PATCH 2/2] fix the handle of message box --- app/views/RoomView/index.tsx | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/app/views/RoomView/index.tsx b/app/views/RoomView/index.tsx index c82c813a088..586c9ddef9b 100644 --- a/app/views/RoomView/index.tsx +++ b/app/views/RoomView/index.tsx @@ -785,13 +785,22 @@ class RoomView extends React.Component { }); }; + handleCloseEmoji = (action?: Function, params?: any) => { + if (this.messagebox?.current) { + return this.messagebox?.current.closeEmojiAndAction(action, params); + } + if (action) { + return action(params); + } + }; + errorActionsShow = (message: TAnyMessageModel) => { - this.messagebox?.current?.closeEmojiAndAction(this.messageErrorActions?.showMessageErrorActions, message); + this.handleCloseEmoji(this.messageErrorActions?.showMessageErrorActions, message); }; showActionSheet = (options: any) => { const { showActionSheet } = this.props; - this.messagebox?.current?.closeEmojiAndAction(showActionSheet, options); + this.handleCloseEmoji(showActionSheet, options); }; onEditInit = (message: TAnyMessageModel) => { @@ -850,7 +859,7 @@ class RoomView extends React.Component { }; onReactionInit = (message: TAnyMessageModel) => { - this.messagebox?.current?.closeEmojiAndAction(() => { + this.handleCloseEmoji(() => { this.setState({ selectedMessage: message }, this.showReactionPicker); }); }; @@ -861,16 +870,11 @@ class RoomView extends React.Component { }; onMessageLongPress = (message: TAnyMessageModel) => { - const { readOnly } = this.state; // if it's a thread message on main room, we disable the long press if (message.tmid && !this.tmid) { return; } - // if it's read only the message box isn't rendered, and doesn't exist this.messagebox is undefined - if (readOnly) { - return this.messageActions?.showMessageActions(message); - } - this.messagebox?.current?.closeEmojiAndAction(this.messageActions?.showMessageActions, message); + this.handleCloseEmoji(this.messageActions?.showMessageActions, message); }; showAttachment = (attachment: IAttachment) => { @@ -899,7 +903,7 @@ class RoomView extends React.Component { this.setState({ selectedMessage: message }); const { showActionSheet } = this.props; const { selectedMessage } = this.state; - this.messagebox?.current?.closeEmojiAndAction(showActionSheet, { + this.handleCloseEmoji(showActionSheet, { children: , snaps: ['50%', '80%'], enableContentPanningGesture: false @@ -1385,7 +1389,7 @@ class RoomView extends React.Component { jumpToMessage={this.jumpToMessageByUrl} highlighted={highlightedMessage === item.id} theme={theme} - closeEmojiAndAction={this.messagebox?.current?.closeEmojiAndAction} + closeEmojiAndAction={this.handleCloseEmoji} /> ); }