diff --git a/res/css/views/rooms/_EventTile.scss b/res/css/views/rooms/_EventTile.scss index 028d9a75562..72eb11dc5c0 100644 --- a/res/css/views/rooms/_EventTile.scss +++ b/res/css/views/rooms/_EventTile.scss @@ -297,14 +297,15 @@ $left-gutter: 64px; https://github.com/vector-im/vector-web/issues/1154 */ .mx_EventTile_content { - display: block; overflow-y: hidden; overflow-x: hidden; margin-right: 34px; } -/* De-zalgoing */ .mx_EventTile_body { + text-align: start; + + /* De-zalgoing */ overflow-y: hidden; } diff --git a/src/HtmlUtils.tsx b/src/HtmlUtils.tsx index 1dc342fac50..4f4bcea23dc 100644 --- a/src/HtmlUtils.tsx +++ b/src/HtmlUtils.tsx @@ -477,13 +477,13 @@ export function bodyToHtml(content: IContent, highlights: string[], opts: IOpts }); return isDisplayedWithHtml ? - : { strippedBody }; + /> :
{ strippedBody }
; } /** diff --git a/src/components/views/messages/TextualBody.js b/src/components/views/messages/TextualBody.js index 353f40b6a90..6aa1b074e16 100644 --- a/src/components/views/messages/TextualBody.js +++ b/src/components/views/messages/TextualBody.js @@ -532,7 +532,7 @@ export default class TextualBody extends React.Component { switch (content.msgtype) { case "m.emote": return ( - +
+
); case "m.notice": return ( - +
{ body } { widgets } - +
); default: // including "m.text" return ( diff --git a/test/components/views/messages/TextualBody-test.js b/test/components/views/messages/TextualBody-test.js index 0a6d47a72b4..0bddea8df7f 100644 --- a/test/components/views/messages/TextualBody-test.js +++ b/test/components/views/messages/TextualBody-test.js @@ -54,7 +54,7 @@ describe("", () => { const wrapper = mount(); expect(wrapper.text()).toBe("* sender winks"); const content = wrapper.find(".mx_EventTile_body"); - expect(content.html()).toBe('winks'); + expect(content.html()).toBe('
winks
'); }); it("renders m.notice correctly", () => { @@ -79,7 +79,7 @@ describe("", () => { const wrapper = mount(); expect(wrapper.text()).toBe(ev.getContent().body); const content = wrapper.find(".mx_EventTile_body"); - expect(content.html()).toBe(`${ ev.getContent().body }`); + expect(content.html()).toBe(`
${ ev.getContent().body }
`); }); describe("renders plain-text m.text correctly", () => { @@ -107,7 +107,7 @@ describe("", () => { const wrapper = mount(); expect(wrapper.text()).toBe(ev.getContent().body); const content = wrapper.find(".mx_EventTile_body"); - expect(content.html()).toBe(`${ ev.getContent().body }`); + expect(content.html()).toBe(`
${ ev.getContent().body }
`); }); // If pills were rendered within a Portal/same shadow DOM then it'd be easier to test @@ -126,9 +126,9 @@ describe("", () => { const wrapper = mount(); expect(wrapper.text()).toBe(ev.getContent().body); const content = wrapper.find(".mx_EventTile_body"); - expect(content.html()).toBe('' + + expect(content.html()).toBe('
' + 'Visit ' + - 'https://matrix.org/'); + 'https://matrix.org/
'); }); }); @@ -163,8 +163,8 @@ describe("", () => { const wrapper = mount(); expect(wrapper.text()).toBe("foo baz bar del u"); const content = wrapper.find(".mx_EventTile_body"); - expect(content.html()).toBe('' + - ev.getContent().formatted_body + ''); + expect(content.html()).toBe('
' + + ev.getContent().formatted_body + '
'); }); it("spoilers get injected properly into the DOM", () => { @@ -184,12 +184,12 @@ describe("", () => { const wrapper = mount(); expect(wrapper.text()).toBe("Hey (movie) the movie was awesome"); const content = wrapper.find(".mx_EventTile_body"); - expect(content.html()).toBe('' + + expect(content.html()).toBe('
' + 'Hey ' + '' + '(movie) ' + 'the movie was awesome' + - ''); + '
'); }); // If pills were rendered within a Portal/same shadow DOM then it'd be easier to test @@ -210,12 +210,12 @@ describe("", () => { const wrapper = mount(); expect(wrapper.text()).toBe("Hey Member"); const content = wrapper.find(".mx_EventTile_body"); - expect(content.html()).toBe('' + + expect(content.html()).toBe('
' + 'Hey ' + '' + 'Member' + - ''); + '
'); }); it("pills do not appear for event permalinks", () => {