diff --git a/src/hooks/useHtmlPaste/index.ts b/src/hooks/useHtmlPaste/index.ts
index 1a7e62f3141e..1a5606ef48ad 100644
--- a/src/hooks/useHtmlPaste/index.ts
+++ b/src/hooks/useHtmlPaste/index.ts
@@ -1,4 +1,5 @@
import {useCallback, useEffect} from 'react';
+import {isMobile} from '@libs/Browser';
import Parser from '@libs/Parser';
import CONST from '@src/CONST';
import type UseHtmlPaste from './types';
@@ -89,9 +90,14 @@ const useHtmlPaste: UseHtmlPaste = (textInputRef, preHtmlPasteCallback, isActive
*/
const handlePastePlainText = useCallback(
(event: ClipboardEvent) => {
- const plainText = event.clipboardData?.getData('text/plain');
- if (plainText) {
- paste(plainText);
+ const markdownText = event.clipboardData?.getData('text/plain');
+ // Updated paste logic to address issue #53718
+ // When copying from a chat conversation, the clipboard contains markdown-formatted text.
+ // On desktop web, users have the option to paste as plain text, but this feature is unavailable on mobile web.
+ // A conditional check is added to determine whether to retain markdown or convert it to plain text based on the platform.
+ if (markdownText) {
+ const parsedText = isMobile() ? markdownText : Parser.htmlToText(Parser.replace(markdownText));
+ paste(parsedText);
}
},
[paste],
diff --git a/src/pages/home/report/ContextMenu/ContextMenuActions.tsx b/src/pages/home/report/ContextMenu/ContextMenuActions.tsx
index bf5e1b253f3f..694d8eea5ab5 100644
--- a/src/pages/home/report/ContextMenu/ContextMenuActions.tsx
+++ b/src/pages/home/report/ContextMenu/ContextMenuActions.tsx
@@ -119,10 +119,8 @@ function setClipboardMessage(content: string | undefined) {
if (!Clipboard.canSetHtml()) {
Clipboard.setString(Parser.htmlToMarkdown(content));
} else {
- const anchorRegex = CONST.REGEX_LINK_IN_ANCHOR;
- const isAnchorTag = anchorRegex.test(content);
- const plainText = isAnchorTag ? Parser.htmlToMarkdown(content) : Parser.htmlToText(content);
- Clipboard.setHtml(content, plainText);
+ const markdownText = Parser.htmlToMarkdown(content);
+ Clipboard.setHtml(content, markdownText);
}
}