diff --git a/plugins/chat/assets/javascripts/discourse/components/chat/thread-list/item.hbs b/plugins/chat/assets/javascripts/discourse/components/chat/thread-list/item.hbs index 07c18da2323..5dec5aaaf25 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat/thread-list/item.hbs +++ b/plugins/chat/assets/javascripts/discourse/components/chat/thread-list/item.hbs @@ -15,8 +15,8 @@ >
- {{#if this.title}} - {{replace-emoji this.title}} + {{#if @thread.title}} + {{replace-emoji @thread.title}} {{else}} {{replace-emoji @thread.originalMessage.excerpt}} {{/if}} diff --git a/plugins/chat/assets/javascripts/discourse/components/chat/thread-list/item.js b/plugins/chat/assets/javascripts/discourse/components/chat/thread-list/item.js index 1aabe2fd945..ce39fa1f464 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat/thread-list/item.js +++ b/plugins/chat/assets/javascripts/discourse/components/chat/thread-list/item.js @@ -5,10 +5,6 @@ import { inject as service } from "@ember/service"; export default class ChatThreadListItem extends Component { @service router; - get title() { - return this.args.thread.escapedTitle; - } - @action openThread(thread) { this.router.transitionTo("chat.channel.thread", ...thread.routeModels); diff --git a/plugins/chat/assets/javascripts/discourse/components/chat/thread/header.hbs b/plugins/chat/assets/javascripts/discourse/components/chat/thread/header.hbs index c461e8b6367..652d585e98b 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat/thread/header.hbs +++ b/plugins/chat/assets/javascripts/discourse/components/chat/thread/header.hbs @@ -14,7 +14,7 @@
- {{replace-emoji this.label}} + {{replace-emoji @thread.title}}
+ `); + + assert.equal( + query(".chat-thread-header__label").innerHTML.trim(), + "<style>body { background: red;}</style>" + ); + }); +}); diff --git a/plugins/chat/test/javascripts/components/chat-thread-list-item-test.js b/plugins/chat/test/javascripts/components/chat-thread-list-item-test.js new file mode 100644 index 00000000000..18b7bdae4f7 --- /dev/null +++ b/plugins/chat/test/javascripts/components/chat-thread-list-item-test.js @@ -0,0 +1,24 @@ +import { render } from "@ember/test-helpers"; +import hbs from "htmlbars-inline-precompile"; +import { module, test } from "qunit"; +import { setupRenderingTest } from "discourse/tests/helpers/component-test"; +import { query } from "discourse/tests/helpers/qunit-helpers"; +import fabricators from "discourse/plugins/chat/discourse/lib/fabricators"; + +module("Discourse Chat | Component | chat-thread-list-item", function (hooks) { + setupRenderingTest(hooks); + + test("it safely renders title", async function (assert) { + const title = ""; + this.thread = fabricators.thread({ title }); + + await render(hbs` + + `); + + assert.equal( + query(".chat-thread-list-item__title").innerHTML.trim(), + "<style>body { background: red;}</style>" + ); + }); +});