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) {
|
if (!parser.isPlainText() || forceHTML) {
|
||||||
return parser.toHTML();
|
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) {
|
export function textSerialize(model) {
|
||||||
|
@ -43,4 +43,10 @@ describe('editor/serialize', function() {
|
|||||||
const html = htmlSerializeIfNeeded(model, {});
|
const html = htmlSerializeIfNeeded(model, {});
|
||||||
expect(html).toBe("<em>hello</em> world");
|
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