diff --git a/plugins/chat/assets/javascripts/discourse/components/chat-channel.js b/plugins/chat/assets/javascripts/discourse/components/chat-channel.js index 255b2b6b5d3..3f7c7dcf446 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat-channel.js +++ b/plugins/chat/assets/javascripts/discourse/components/chat-channel.js @@ -26,7 +26,7 @@ import ChatMessagesLoader from "discourse/plugins/chat/discourse/lib/chat-messag import { cached, tracked } from "@glimmer/tracking"; import discourseDebounce from "discourse-common/lib/debounce"; import DiscourseURL from "discourse/lib/url"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { FUTURE, PAST, diff --git a/plugins/chat/assets/javascripts/discourse/components/chat-composer.js b/plugins/chat/assets/javascripts/discourse/components/chat-composer.js index d4c921e1c4c..5059ac894a0 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat-composer.js +++ b/plugins/chat/assets/javascripts/discourse/components/chat-composer.js @@ -6,7 +6,7 @@ import { cancel, next } from "@ember/runloop"; import { cloneJSON } from "discourse-common/lib/object"; import { chatComposerButtons } from "discourse/plugins/chat/discourse/lib/chat-composer-buttons"; import TextareaInteractor from "discourse/plugins/chat/discourse/lib/textarea-interactor"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import userSearch from "discourse/lib/user-search"; import { findRawTemplate } from "discourse-common/lib/raw-templates"; import { emojiSearch, isSkinTonableEmoji } from "pretty-text/emoji"; diff --git a/plugins/chat/assets/javascripts/discourse/components/chat-message-actions-mobile.gjs b/plugins/chat/assets/javascripts/discourse/components/chat-message-actions-mobile.gjs index 31baed3481f..1dbaf424ee0 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat-message-actions-mobile.gjs +++ b/plugins/chat/assets/javascripts/discourse/components/chat-message-actions-mobile.gjs @@ -1,6 +1,6 @@ import Component from "@glimmer/component"; import ChatMessageInteractor from "discourse/plugins/chat/discourse/lib/chat-message-interactor"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { tracked } from "@glimmer/tracking"; import discourseLater from "discourse-common/lib/later"; import { action } from "@ember/object"; diff --git a/plugins/chat/assets/javascripts/discourse/components/chat-message.gjs b/plugins/chat/assets/javascripts/discourse/components/chat-message.gjs index 9d10eb3486d..813413956fc 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat-message.gjs +++ b/plugins/chat/assets/javascripts/discourse/components/chat-message.gjs @@ -6,7 +6,7 @@ import { cancel, schedule } from "@ember/runloop"; import { inject as service } from "@ember/service"; import discourseLater from "discourse-common/lib/later"; import isZoomed from "discourse/plugins/chat/discourse/lib/zoom-check"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import ChatMessageInteractor from "discourse/plugins/chat/discourse/lib/chat-message-interactor"; import discourseDebounce from "discourse-common/lib/debounce"; import { bind } from "discourse-common/utils/decorators"; diff --git a/plugins/chat/assets/javascripts/discourse/components/chat-thread.js b/plugins/chat/assets/javascripts/discourse/components/chat-thread.js index 7908b0b526e..68cd0ed68a0 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat-thread.js +++ b/plugins/chat/assets/javascripts/discourse/components/chat-thread.js @@ -10,7 +10,7 @@ import { inject as service } from "@ember/service"; import { cancel, next } from "@ember/runloop"; import { resetIdle } from "discourse/lib/desktop-notifications"; import ChatMessagesLoader from "discourse/plugins/chat/discourse/lib/chat-messages-loader"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { FUTURE, PAST, diff --git a/plugins/chat/assets/javascripts/discourse/components/chat/selection-manager.js b/plugins/chat/assets/javascripts/discourse/components/chat/selection-manager.js index 9614e7b6d13..089e1acd1bc 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat/selection-manager.js +++ b/plugins/chat/assets/javascripts/discourse/components/chat/selection-manager.js @@ -1,7 +1,7 @@ import Component from "@glimmer/component"; import { action } from "@ember/object"; import { clipboardCopyAsync } from "discourse/lib/utilities"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { isTesting } from "discourse-common/config/environment"; import { popupAjaxError } from "discourse/lib/ajax-error"; import { inject as service } from "@ember/service"; diff --git a/plugins/chat/assets/javascripts/discourse/components/styleguide/chat-message.js b/plugins/chat/assets/javascripts/discourse/components/styleguide/chat-message.js index 0d471a6fa2e..05ebc3031f7 100644 --- a/plugins/chat/assets/javascripts/discourse/components/styleguide/chat-message.js +++ b/plugins/chat/assets/javascripts/discourse/components/styleguide/chat-message.js @@ -2,7 +2,7 @@ import Component from "@glimmer/component"; import fabricators from "discourse/plugins/chat/discourse/lib/fabricators"; import { action } from "@ember/object"; import ChatMessagesManager from "discourse/plugins/chat/discourse/lib/chat-messages-manager"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { inject as service } from "@ember/service"; export default class ChatStyleguideChatMessage extends Component { diff --git a/plugins/chat/assets/javascripts/discourse/initializers/chat-setup.js b/plugins/chat/assets/javascripts/discourse/initializers/chat-setup.js index a702751ea0a..48e4c6af77e 100644 --- a/plugins/chat/assets/javascripts/discourse/initializers/chat-setup.js +++ b/plugins/chat/assets/javascripts/discourse/initializers/chat-setup.js @@ -1,7 +1,7 @@ import { withPluginApi } from "discourse/lib/plugin-api"; import I18n from "I18n"; import { bind } from "discourse-common/utils/decorators"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwnerWithFallback } from "discourse-common/lib/get-owner"; import { MENTION_KEYWORDS } from "discourse/plugins/chat/discourse/components/chat-message"; import { clearChatComposerButtons } from "discourse/plugins/chat/discourse/lib/chat-composer-buttons"; import ChannelHashtagType from "discourse/plugins/chat/discourse/lib/hashtag-types/channel"; @@ -121,7 +121,9 @@ export default { // we want to decorate the chat quote dates regardless // of whether the current user has chat enabled api.decorateCookedElement((elem) => { - const currentUser = getOwner(this).lookup("service:current-user"); + const currentUser = getOwnerWithFallback(this).lookup( + "service:current-user" + ); const currentUserTimezone = currentUser?.user_option?.timezone; const chatTranscriptElements = elem.querySelectorAll(".chat-transcript"); diff --git a/plugins/chat/assets/javascripts/discourse/models/chat-channel.js b/plugins/chat/assets/javascripts/discourse/models/chat-channel.js index 40600163531..4d3637cf65a 100644 --- a/plugins/chat/assets/javascripts/discourse/models/chat-channel.js +++ b/plugins/chat/assets/javascripts/discourse/models/chat-channel.js @@ -5,7 +5,7 @@ import { tracked } from "@glimmer/tracking"; import slugifyChannel from "discourse/plugins/chat/discourse/lib/slugify-channel"; import ChatThreadsManager from "discourse/plugins/chat/discourse/lib/chat-threads-manager"; import ChatMessagesManager from "discourse/plugins/chat/discourse/lib/chat-messages-manager"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwnerWithFallback } from "discourse-common/lib/get-owner"; import guid from "pretty-text/guid"; import ChatDirectMessage from "discourse/plugins/chat/discourse/models/chat-direct-message"; import ChatChannelArchive from "discourse/plugins/chat/discourse/models/chat-channel-archive"; @@ -70,8 +70,8 @@ export default class ChatChannel { @tracked tracking; @tracked threadingEnabled = false; - threadsManager = new ChatThreadsManager(getOwner(this)); - messagesManager = new ChatMessagesManager(getOwner(this)); + threadsManager = new ChatThreadsManager(getOwnerWithFallback(this)); + messagesManager = new ChatMessagesManager(getOwnerWithFallback(this)); @tracked _currentUserMembership; @tracked _lastMessage; @@ -101,7 +101,7 @@ export default class ChatChannel { this.archive = ChatChannelArchive.create(args); } - this.tracking = new ChatTrackingState(getOwner(this)); + this.tracking = new ChatTrackingState(getOwnerWithFallback(this)); this.lastMessage = args.last_message; this.meta = args.meta; } diff --git a/plugins/chat/assets/javascripts/discourse/models/chat-message.js b/plugins/chat/assets/javascripts/discourse/models/chat-message.js index f9c0290e018..fa184629793 100644 --- a/plugins/chat/assets/javascripts/discourse/models/chat-message.js +++ b/plugins/chat/assets/javascripts/discourse/models/chat-message.js @@ -6,7 +6,7 @@ import Bookmark from "discourse/models/bookmark"; import I18n from "I18n"; import { generateCookFunction, parseMentions } from "discourse/lib/text"; import transformAutolinks from "discourse/plugins/chat/discourse/lib/transform-auto-links"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwnerWithFallback } from "discourse-common/lib/get-owner"; import discourseLater from "discourse-common/lib/later"; export default class ChatMessage { @@ -329,7 +329,7 @@ export default class ChatMessage { } get #markdownOptions() { - const site = getOwner(this).lookup("service:site"); + const site = getOwnerWithFallback(this).lookup("service:site"); return { featuresOverride: site.markdown_additional_options?.chat?.limited_pretty_text_features, diff --git a/plugins/chat/assets/javascripts/discourse/models/chat-thread.js b/plugins/chat/assets/javascripts/discourse/models/chat-thread.js index 841f5ae2c98..94f2a7bfb99 100644 --- a/plugins/chat/assets/javascripts/discourse/models/chat-thread.js +++ b/plugins/chat/assets/javascripts/discourse/models/chat-thread.js @@ -1,4 +1,4 @@ -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwnerWithFallback } from "discourse-common/lib/get-owner"; import ChatMessagesManager from "discourse/plugins/chat/discourse/lib/chat-messages-manager"; import { escapeExpression } from "discourse/lib/utilities"; import { tracked } from "@glimmer/tracking"; @@ -33,7 +33,7 @@ export default class ChatThread { @tracked currentUserMembership = null; @tracked preview = null; - messagesManager = new ChatMessagesManager(getOwner(this)); + messagesManager = new ChatMessagesManager(getOwnerWithFallback(this)); constructor(channel, args = {}) { this.id = args.id; @@ -55,7 +55,7 @@ export default class ChatThread { ); } - this.tracking = new ChatTrackingState(getOwner(this)); + this.tracking = new ChatTrackingState(getOwnerWithFallback(this)); this.preview = ChatThreadPreview.create(args.preview); } diff --git a/plugins/chat/assets/javascripts/discourse/services/chat-tracking-state-manager.js b/plugins/chat/assets/javascripts/discourse/services/chat-tracking-state-manager.js index 208eac437b6..0f16965e2d1 100644 --- a/plugins/chat/assets/javascripts/discourse/services/chat-tracking-state-manager.js +++ b/plugins/chat/assets/javascripts/discourse/services/chat-tracking-state-manager.js @@ -2,7 +2,7 @@ import Service, { inject as service } from "@ember/service"; import discourseDebounce from "discourse-common/lib/debounce"; import { cancel } from "@ember/runloop"; import ChatTrackingState from "discourse/plugins/chat/discourse/models/chat-tracking-state"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; /** * This service is used to provide a global interface to tracking individual diff --git a/plugins/chat/test/javascripts/unit/lib/chat-emoji-reaction-store-test.js b/plugins/chat/test/javascripts/unit/lib/chat-emoji-reaction-store-test.js index 2f34312a6d5..e0fe924730a 100644 --- a/plugins/chat/test/javascripts/unit/lib/chat-emoji-reaction-store-test.js +++ b/plugins/chat/test/javascripts/unit/lib/chat-emoji-reaction-store-test.js @@ -1,7 +1,10 @@ import { module, test } from "qunit"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; +import { setupTest } from "ember-qunit"; module("Discourse Chat | Unit | chat-emoji-reaction-store", function (hooks) { + setupTest(hooks); + hooks.beforeEach(function () { this.siteSettings = getOwner(this).lookup("service:site-settings"); this.chatEmojiReactionStore = getOwner(this).lookup( diff --git a/plugins/chat/test/javascripts/unit/services/chat-channel-info-route-origin-manager-test.js b/plugins/chat/test/javascripts/unit/services/chat-channel-info-route-origin-manager-test.js index c4a37c337f6..fdc226eefe9 100644 --- a/plugins/chat/test/javascripts/unit/services/chat-channel-info-route-origin-manager-test.js +++ b/plugins/chat/test/javascripts/unit/services/chat-channel-info-route-origin-manager-test.js @@ -1,10 +1,13 @@ import { module, test } from "qunit"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { ORIGINS } from "discourse/plugins/chat/discourse/services/chat-channel-info-route-origin-manager"; +import { setupTest } from "ember-qunit"; module( "Discourse Chat | Unit | Service | chat-channel-info-route-origin-manager", function (hooks) { + setupTest(hooks); + hooks.beforeEach(function () { this.manager = getOwner(this).lookup( "service:chat-channel-info-route-origin-manager" diff --git a/plugins/chat/test/javascripts/unit/services/chat-drafts-manager-test.js b/plugins/chat/test/javascripts/unit/services/chat-drafts-manager-test.js index 9c5338cddf9..9c256c9aa11 100644 --- a/plugins/chat/test/javascripts/unit/services/chat-drafts-manager-test.js +++ b/plugins/chat/test/javascripts/unit/services/chat-drafts-manager-test.js @@ -1,6 +1,6 @@ import { module, test } from "qunit"; import { setupTest } from "ember-qunit"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import fabricators from "discourse/plugins/chat/discourse/lib/fabricators"; module( diff --git a/plugins/chat/test/javascripts/unit/services/chat-drawer-size-test.js b/plugins/chat/test/javascripts/unit/services/chat-drawer-size-test.js index 3bc9ca81adb..00272d4efad 100644 --- a/plugins/chat/test/javascripts/unit/services/chat-drawer-size-test.js +++ b/plugins/chat/test/javascripts/unit/services/chat-drawer-size-test.js @@ -1,7 +1,10 @@ import { module, test } from "qunit"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; +import { setupTest } from "ember-qunit"; module("Discourse Chat | Unit | Service | chat-drawer-size", function (hooks) { + setupTest(hooks); + hooks.beforeEach(function () { this.subject = getOwner(this).lookup("service:chat-drawer-size"); }); diff --git a/plugins/chat/test/javascripts/unit/services/chat-emoji-picker-manager-test.js b/plugins/chat/test/javascripts/unit/services/chat-emoji-picker-manager-test.js index 1276368faa9..ea57f78783d 100644 --- a/plugins/chat/test/javascripts/unit/services/chat-emoji-picker-manager-test.js +++ b/plugins/chat/test/javascripts/unit/services/chat-emoji-picker-manager-test.js @@ -1,7 +1,8 @@ import { module, test } from "qunit"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import pretender from "discourse/tests/helpers/create-pretender"; import { settled } from "@ember/test-helpers"; +import { setupTest } from "ember-qunit"; function emojisReponse() { return { favorites: [{ name: "sad" }] }; @@ -10,6 +11,8 @@ function emojisReponse() { module( "Discourse Chat | Unit | Service | chat-emoji-picker-manager", function (hooks) { + setupTest(hooks); + hooks.beforeEach(function () { pretender.get("/chat/emojis.json", () => { return [200, {}, emojisReponse()]; diff --git a/plugins/chat/test/javascripts/unit/services/chat-state-manager-test.js b/plugins/chat/test/javascripts/unit/services/chat-state-manager-test.js index 1242caea51a..daf1e595eaf 100644 --- a/plugins/chat/test/javascripts/unit/services/chat-state-manager-test.js +++ b/plugins/chat/test/javascripts/unit/services/chat-state-manager-test.js @@ -2,7 +2,7 @@ import { module, test } from "qunit"; import { setupTest } from "ember-qunit"; import Site from "discourse/models/site"; import sinon from "sinon"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { addChatDrawerStateCallback, resetChatDrawerStateCallbacks, diff --git a/plugins/chat/test/javascripts/unit/utility/plugin-api-test.js b/plugins/chat/test/javascripts/unit/utility/plugin-api-test.js index 986fd8f7e99..86c2309ac50 100644 --- a/plugins/chat/test/javascripts/unit/utility/plugin-api-test.js +++ b/plugins/chat/test/javascripts/unit/utility/plugin-api-test.js @@ -1,6 +1,6 @@ import { setupTest } from "ember-qunit"; import { module, test } from "qunit"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { withPluginApi } from "discourse/lib/plugin-api"; import User from "discourse/models/user"; import ChatMessageInteractor, {