From 6a424aa3855c1fbd814dbad64c03e13e8603e767 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Wed, 8 Mar 2023 18:41:57 +0400 Subject: [PATCH] Fix merging single message entities --- src/lib/richTextProcessor/findConflictingEntity.ts | 4 ++-- src/lib/richTextProcessor/index.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/richTextProcessor/findConflictingEntity.ts b/src/lib/richTextProcessor/findConflictingEntity.ts index 24f1ab42..c8876728 100644 --- a/src/lib/richTextProcessor/findConflictingEntity.ts +++ b/src/lib/richTextProcessor/findConflictingEntity.ts @@ -4,7 +4,7 @@ * https://github.com/morethanwords/tweb/blob/master/LICENSE */ -import {MARKDOWN_ENTITIES_TYPES, PASS_CONFLICTING_ENTITIES} from '.'; +import {PASS_CONFLICTING_ENTITIES, PASS_SINGLE_CONFLICTING_ENTITIES} from '.'; import {MessageEntity} from '../../layer'; const SINGLE_ENTITIES: Set = new Set(['messageEntityPre', 'messageEntityCode']); @@ -16,7 +16,7 @@ export default function findConflictingEntity(currentEntities: MessageEntity[], singleEnd = currentEntity.offset + currentEntity.length; } - if(newEntity.offset < singleEnd && MARKDOWN_ENTITIES_TYPES.has(newEntity._)) { + if(newEntity.offset < singleEnd && !PASS_SINGLE_CONFLICTING_ENTITIES.has(newEntity._)) { return true; } diff --git a/src/lib/richTextProcessor/index.ts b/src/lib/richTextProcessor/index.ts index 34954a68..573bafaa 100644 --- a/src/lib/richTextProcessor/index.ts +++ b/src/lib/richTextProcessor/index.ts @@ -106,6 +106,7 @@ export const PASS_CONFLICTING_ENTITIES: Set = new Set([ 'messageEntityLinebreak', 'messageEntityCaret' ]); +export const PASS_SINGLE_CONFLICTING_ENTITIES = new Set(PASS_CONFLICTING_ENTITIES); for(const i in MARKDOWN_ENTITIES) { PASS_CONFLICTING_ENTITIES.add(MARKDOWN_ENTITIES[i]); }