fix(chat) - graceful for failure and fix link regex (#12225)

* fix(chat) - graceful for failure and fix link regex

* fix(chat) - Adjust unit test to test for the actual functional failure
This commit is contained in:
Bart Enkelaar
2020-05-21 18:00:58 +02:00
committed by GitHub
parent a1ec42c0b2
commit 26f5bf554e
2 changed files with 14 additions and 1 deletions

View File

@@ -86,7 +86,7 @@ function toSourceMapRegex (token) {
} else if (type === 'link_open') {
const texts = token.textContents.map(escapeRegExp);
regexStr = markup === 'linkify' || markup === 'autolink' ? texts[0]
: `\\[.*${texts.join('.*')}.*\\]\\([^)]+\\)`;
: `\\[[^\\]]*${texts.join('[^\\]]*')}[^\\]]*\\]\\([^)]+\\)`;
} else {
throw new Error(`No source mapping regex defined for ignore blocks of type ${type}`);
}
@@ -111,6 +111,11 @@ function findTextBlocks (text) {
const targetText = text.substr(index);
const match = targetText.match(regex);
if (!match) {
// Should not happen, but insert to handle bugs gracefully
return;
}
if (match.index) {
blocks.push({ text: targetText.substr(0, match.index), ignore: false });
}