mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-16 05:04:57 +08:00
Merge pull request #4008 from BobVul/fix-markdown-escapes
Fix escaped markdown passing backslashes through
This commit is contained in:
commit
43f15ab47d
@ -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) {
|
||||
|
@ -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');
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user