Skip to content

Commit de8db88

Browse files
author
Sravan S
authored
fix: OpenChannel Context menu click leak (#610)
In Mobile, Touch from contextMenus were getting leaked to MessageBody To avoid this, move context menu outside of MessageBody's JSX ``` <div longPress> <Message /> <Menu/> </div> ``` to ``` <> <div longPress> <Message /> </div> { <Menu/> } </> ``` Bonus * OGMessage should fallback to text-messages Fixes: https://sendbird.atlassian.net/browse/UIKIT-4029
1 parent c155fde commit de8db88

File tree

6 files changed

+993
-977
lines changed

6 files changed

+993
-977
lines changed

src/modules/OpenChannel/components/OpenChannelMessage/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ export default function MessagOpenChannelMessageeHoc(props: OpenChannelMessagePr
218218
// <OpenChannelUnknownMessage message={message} />
219219
// );
220220
})(),
221-
}[getMessageType(message)]
221+
}[getMessageType(message, { isOgMessageEnabledInOpenChannel })]
222222
}
223223
{/* Modal */}
224224
{

src/modules/OpenChannel/components/OpenChannelMessage/utils.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,17 @@ export const SendingMessageStatus = {
1717
PENDING: 'pending',
1818
};
1919

20-
export const getMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {
20+
type MessageTypeOptions = {
21+
isOgMessageEnabledInOpenChannel?: boolean;
22+
};
23+
24+
export const getMessageType = (
25+
message: UserMessage | FileMessage | AdminMessage,
26+
options?: MessageTypeOptions,
27+
): string => {
28+
const isOgMessageEnabledInOpenChannel = options?.isOgMessageEnabledInOpenChannel;
2129
if ((message?.isUserMessage?.()) || message?.messageType === 'user') {
22-
return (message?.ogMetaData)
30+
return (message?.ogMetaData && isOgMessageEnabledInOpenChannel)
2331
? MessageTypes.OG
2432
: MessageTypes.USER;
2533
}

0 commit comments

Comments
 (0)