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]); }