From b1f92f4126e4f9b2eab0e04c8d0b69b63d79eabc Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 3 Feb 2023 03:22:02 +0100 Subject: [PATCH] Paste html: Clean html from Google Docs (#2476) --- .../composer/hooks/useClipboardPaste.ts | 11 +- src/lib/cleanDocsHtml.ts | 183 ++++++++++++++++++ src/util/parseMessageInput.ts | 1 + 3 files changed, 194 insertions(+), 1 deletion(-) create mode 100644 src/lib/cleanDocsHtml.ts diff --git a/src/components/middle/composer/hooks/useClipboardPaste.ts b/src/components/middle/composer/hooks/useClipboardPaste.ts index ea746a682..378a88c40 100644 --- a/src/components/middle/composer/hooks/useClipboardPaste.ts +++ b/src/components/middle/composer/hooks/useClipboardPaste.ts @@ -5,9 +5,10 @@ import type { ApiAttachment, ApiFormattedText, ApiMessage } from '../../../../ap import { ApiMessageEntityTypes } from '../../../../api/types'; import buildAttachment from '../helpers/buildAttachment'; -import { EDITABLE_INPUT_ID, EDITABLE_INPUT_MODAL_ID } from '../../../../config'; +import { DEBUG, EDITABLE_INPUT_ID, EDITABLE_INPUT_MODAL_ID } from '../../../../config'; import getFilesFromDataTransferItems from '../helpers/getFilesFromDataTransferItems'; import parseMessageInput, { ENTITY_CLASS_BY_NODE_NAME } from '../../../../util/parseMessageInput'; +import cleanDocsHtml from '../../../../lib/cleanDocsHtml'; import { containsCustomEmoji, stripCustomEmoji } from '../../../../global/helpers/symbols'; const MAX_MESSAGE_LENGTH = 4096; @@ -16,6 +17,14 @@ const STYLE_TAG_REGEX = /