1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-08-07 21:23:00 +03:00

Merge pull request #4008 from BobVul/fix-markdown-escapes

Fix escaped markdown passing backslashes through
This commit is contained in:
Bruno Windels
2020-02-14 09:18:53 +00:00
committed by GitHub
2 changed files with 14 additions and 0 deletions

View File

@@ -41,6 +41,14 @@ export function htmlSerializeIfNeeded(model, {forceHTML = false} = {}) {
if (!parser.isPlainText() || forceHTML) {
return parser.toHTML();
}
// Format "plain" text to ensure removal of backslash escapes
// https://github.com/vector-im/riot-web/issues/11230
// https://github.com/vector-im/riot-web/issues/2870
const postParsePlaintext = parser.toPlaintext();
if (postParsePlaintext !== md) {
// only return "formatted" text if it differs from the source text
return postParsePlaintext;
}
}
export function textSerialize(model) {

View File

@@ -43,4 +43,10 @@ describe('editor/serialize', function() {
const html = htmlSerializeIfNeeded(model, {});
expect(html).toBe("<em>hello</em> world");
});
it('escaped markdown should not retain backslashes', function() {
const pc = createPartCreator();
const model = new EditorModel([pc.plain('\\*hello\\* world')]);
const html = htmlSerializeIfNeeded(model, {});
expect(html).toBe('*hello* world');
});
});