DEV: Move discourse-common/(utils|lib) to discourse/lib (#30733)

`discourse-common` was created in the past to share logic between the
'wizard' app and the main 'discourse' app. Since then, the wizard has
been consolidated into the main app, so the separation of
`discourse-common` is no longer useful.

This commit moves `discourse-common/(lib|utils)/*` into
`discourse/lib/*`, adds shims for the imports, and updates existing
uses in core.
This commit is contained in:
David Taylor
2025-01-13 13:02:49 +00:00
committed by GitHub
parent b28fafd372
commit 0ed4b09527
855 changed files with 1287 additions and 1239 deletions

View File

@ -9,8 +9,8 @@ import { service } from "@ember/service";
import { eq } from "truth-helpers";
import DButton from "discourse/components/d-button";
import FilterInput from "discourse/components/filter-input";
import discourseDebounce from "discourse/lib/debounce";
import { INPUT_DELAY } from "discourse-common/config/environment";
import discourseDebounce from "discourse-common/lib/debounce";
import { i18n } from "discourse-i18n";
import List from "discourse/plugins/chat/discourse/components/chat/list";
import ChatModalNewMessage from "discourse/plugins/chat/discourse/components/chat/modal/new-message";

View File

@ -6,7 +6,7 @@ import { isPresent } from "@ember/utils";
import DButton from "discourse/components/d-button";
import concatClass from "discourse/helpers/concat-class";
import { popupAjaxError } from "discourse/lib/ajax-error";
import getURL from "discourse-common/lib/get-url";
import getURL from "discourse/lib/get-url";
import { i18n } from "discourse-i18n";
export default class ChatChannelArchiveStatus extends Component {

View File

@ -12,8 +12,8 @@ import { and, eq } from "truth-helpers";
import concatClass from "discourse/helpers/concat-class";
import replaceEmoji from "discourse/helpers/replace-emoji";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { bind } from "discourse/lib/decorators";
import icon from "discourse-common/helpers/d-icon";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import ChannelIcon from "discourse/plugins/chat/discourse/components/channel-icon";
import ChannelName from "discourse/plugins/chat/discourse/components/channel-name";

View File

@ -10,13 +10,13 @@ import { service } from "@ember/service";
import { and, not } from "truth-helpers";
import concatClass from "discourse/helpers/concat-class";
import { popupAjaxError } from "discourse/lib/ajax-error";
import discourseDebounce from "discourse/lib/debounce";
import { bind } from "discourse/lib/decorators";
import DiscourseURL from "discourse/lib/url";
import {
onPresenceChange,
removeOnPresenceChange,
} from "discourse/lib/user-presence";
import discourseDebounce from "discourse-common/lib/debounce";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import ChatChannelStatus from "discourse/plugins/chat/discourse/components/chat-channel-status";
import firstVisibleMessageId from "discourse/plugins/chat/discourse/helpers/first-visible-message-id";

View File

@ -3,11 +3,11 @@ import { action } from "@ember/object";
import { getOwner } from "@ember/owner";
import { service } from "@ember/service";
import { classNames } from "@ember-decorators/component";
import { bind } from "discourse/lib/decorators";
import { cloneJSON } from "discourse/lib/object";
import UppyUpload from "discourse/lib/uppy/uppy-upload";
import UppyMediaOptimization from "discourse/lib/uppy-media-optimization-plugin";
import { clipboardHelpers } from "discourse/lib/utilities";
import { cloneJSON } from "discourse-common/lib/object";
import { bind } from "discourse-common/utils/decorators";
@classNames("chat-composer-uploads")
export default class ChatComposerUploads extends Component {

View File

@ -13,6 +13,8 @@ import EmojiPickerDetached from "discourse/components/emoji-picker/detached";
import InsertHyperlink from "discourse/components/modal/insert-hyperlink";
import { SKIP } from "discourse/lib/autocomplete";
import { setupHashtagAutocomplete } from "discourse/lib/hashtag-autocomplete";
import { cloneJSON } from "discourse/lib/object";
import { findRawTemplate } from "discourse/lib/raw-templates";
import { emojiUrlFor } from "discourse/lib/text";
import userSearch from "discourse/lib/user-search";
import {
@ -22,8 +24,6 @@ import {
} from "discourse/lib/user-status-on-autocomplete";
import virtualElementFromTextRange from "discourse/lib/virtual-element-from-text-range";
import { waitForClosedKeyboard } from "discourse/lib/wait-for-keyboard";
import { cloneJSON } from "discourse-common/lib/object";
import { findRawTemplate } from "discourse-common/lib/raw-templates";
import { i18n } from "discourse-i18n";
import { chatComposerButtons } from "discourse/plugins/chat/discourse/lib/chat-composer-buttons";
import ChatMessageInteractor from "discourse/plugins/chat/discourse/lib/chat-message-interactor";

View File

@ -5,10 +5,10 @@ import { service } from "@ember/service";
import { htmlSafe } from "@ember/template";
import { tagName } from "@ember-decorators/component";
import { observes } from "@ember-decorators/object";
import { bind } from "discourse/lib/decorators";
import getURL from "discourse/lib/get-url";
import DiscourseURL from "discourse/lib/url";
import { escapeExpression } from "discourse/lib/utilities";
import getURL from "discourse-common/lib/get-url";
import { bind } from "discourse-common/utils/decorators";
@tagName("")
export default class ChatDrawer extends Component {

View File

@ -2,8 +2,8 @@ import Component from "@glimmer/component";
import { tracked } from "@glimmer/tracking";
import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import getURL from "discourse/lib/get-url";
import icon from "discourse-common/helpers/d-icon";
import getURL from "discourse-common/lib/get-url";
import { i18n } from "discourse-i18n";
export default class ChatHeader extends Component {

View File

@ -1,8 +1,8 @@
import Component from "@glimmer/component";
import { service } from "@ember/service";
import { htmlSafe } from "@ember/template";
import getURL from "discourse/lib/get-url";
import dIcon from "discourse-common/helpers/d-icon";
import getURL from "discourse-common/lib/get-url";
import I18n, { i18n } from "discourse-i18n";
export default class ChatMentionWarnings extends Component {

View File

@ -1,8 +1,8 @@
import Component from "@glimmer/component";
import { service } from "@ember/service";
import { htmlSafe } from "@ember/template";
import domFromString from "discourse/lib/dom-from-string";
import { escapeExpression } from "discourse/lib/utilities";
import domFromString from "discourse-common/lib/dom-from-string";
import { i18n } from "discourse-i18n";
export default class ChatMessageCollapser extends Component {

View File

@ -15,13 +15,13 @@ import { eq, lt, not } from "truth-helpers";
import DButton from "discourse/components/d-button";
import EmojiPicker from "discourse/components/emoji-picker";
import concatClass from "discourse/helpers/concat-class";
import discourseDebounce from "discourse/lib/debounce";
import { bind } from "discourse/lib/decorators";
import getURL from "discourse/lib/get-url";
import discourseLater from "discourse/lib/later";
import { applyValueTransformer } from "discourse/lib/transformer";
import { updateUserStatusOnMention } from "discourse/lib/update-user-status-on-mention";
import isZoomed from "discourse/lib/zoom-check";
import discourseDebounce from "discourse-common/lib/debounce";
import getURL from "discourse-common/lib/get-url";
import discourseLater from "discourse-common/lib/later";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import ChatMessageAvatar from "discourse/plugins/chat/discourse/components/chat/message/avatar";
import ChatMessageError from "discourse/plugins/chat/discourse/components/chat/message/error";

View File

@ -4,8 +4,8 @@ import { service } from "@ember/service";
import { modifier as modifierFn } from "ember-modifier";
import { eq } from "truth-helpers";
import ConditionalLoadingSpinner from "discourse/components/conditional-loading-spinner";
import { bind } from "discourse/lib/decorators";
import isElementInViewport from "discourse/lib/is-element-in-viewport";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import ChatThreadListItem from "discourse/plugins/chat/discourse/components/chat/thread-list/item";
import ChatTrackMessage from "discourse/plugins/chat/discourse/modifiers/chat/track-message";

View File

@ -8,9 +8,9 @@ import { cancel, next } from "@ember/runloop";
import { service } from "@ember/service";
import concatClass from "discourse/helpers/concat-class";
import { popupAjaxError } from "discourse/lib/ajax-error";
import discourseDebounce from "discourse/lib/debounce";
import { bind } from "discourse/lib/decorators";
import { NotificationLevels } from "discourse/lib/notification-levels";
import discourseDebounce from "discourse-common/lib/debounce";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import ChatThreadTitlePrompt from "discourse/plugins/chat/discourse/components/chat-thread-title-prompt";
import firstVisibleMessageId from "discourse/plugins/chat/discourse/helpers/first-visible-message-id";

View File

@ -1,7 +1,7 @@
import Component from "@ember/component";
import { alias, equal } from "@ember/object/computed";
import { htmlSafe } from "@ember/template";
import discourseComputed from "discourse-common/utils/decorators";
import discourseComputed from "discourse/lib/decorators";
export const NEW_TOPIC_SELECTION = "new_topic";
export const EXISTING_TOPIC_SELECTION = "existing_topic";

View File

@ -1,6 +1,6 @@
import { action } from "@ember/object";
import { service } from "@ember/service";
import { debounce } from "discourse-common/utils/decorators";
import { debounce } from "discourse/lib/decorators";
import { i18n } from "discourse-i18n";
import ChatComposer from "../../chat-composer";

View File

@ -1,6 +1,6 @@
import { action } from "@ember/object";
import { service } from "@ember/service";
import { debounce } from "discourse-common/utils/decorators";
import { debounce } from "discourse/lib/decorators";
import { i18n } from "discourse-i18n";
import ChatMessage from "discourse/plugins/chat/discourse/models/chat-message";
import ChatComposer from "../../chat-composer";

View File

@ -2,8 +2,8 @@ import Component from "@glimmer/component";
import { service } from "@ember/service";
import DButton from "discourse/components/d-button";
import concatClass from "discourse/helpers/concat-class";
import getURL from "discourse/lib/get-url";
import icon from "discourse-common/helpers/d-icon";
import getURL from "discourse-common/lib/get-url";
import { i18n } from "discourse-i18n";
import ChatHeaderIconUnreadIndicator from "discourse/plugins/chat/discourse/components/chat/header/icon/unread-indicator";
import { getUserChatSeparateSidebarMode } from "discourse/plugins/chat/discourse/lib/get-user-chat-separate-sidebar-mode";

View File

@ -3,9 +3,9 @@ import { hash } from "@ember/helper";
import { action } from "@ember/object";
import { modifier } from "ember-modifier";
import ConditionalLoadingSpinner from "discourse/components/conditional-loading-spinner";
import discourseDebounce from "discourse/lib/debounce";
import isElementInViewport from "discourse/lib/is-element-in-viewport";
import { INPUT_DELAY } from "discourse-common/config/environment";
import discourseDebounce from "discourse-common/lib/debounce";
import EmptyState from "./empty-state";
import Item from "./item";

View File

@ -2,7 +2,7 @@ import { getOwner, setOwner } from "@ember/owner";
import { service } from "@ember/service";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
import ChatChatable from "discourse/plugins/chat/discourse/models/chat-chatable";
const MAX_RESULTS = 10;

View File

@ -3,8 +3,8 @@ import { tracked } from "@glimmer/tracking";
import { action } from "@ember/object";
import { service } from "@ember/service";
import DButton from "discourse/components/d-button";
import discourseDebounce from "discourse/lib/debounce";
import { INPUT_DELAY } from "discourse-common/config/environment";
import discourseDebounce from "discourse-common/lib/debounce";
import { i18n } from "discourse-i18n";
import ChatablesLoader from "./lib/chatables-loader";
import List from "./list";

View File

@ -6,8 +6,8 @@ import didInsert from "@ember/render-modifiers/modifiers/did-insert";
import { service } from "@ember/service";
import DButton from "discourse/components/d-button";
import { popupAjaxError } from "discourse/lib/ajax-error";
import discourseDebounce from "discourse/lib/debounce";
import { INPUT_DELAY } from "discourse-common/config/environment";
import discourseDebounce from "discourse-common/lib/debounce";
import { i18n } from "discourse-i18n";
import { MODES } from "./constants";
import ChatablesLoader from "./lib/chatables-loader";

View File

@ -8,9 +8,9 @@ import { and } from "truth-helpers";
import BookmarkIcon from "discourse/components/bookmark-icon";
import UserStatusMessage from "discourse/components/user-status-message";
import concatClass from "discourse/helpers/concat-class";
import { bind } from "discourse/lib/decorators";
import { prioritizeNameInUx } from "discourse/lib/settings";
import dIcon from "discourse-common/helpers/d-icon";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import ChannelTitle from "discourse/plugins/chat/discourse/components/channel-title";
import formatChatDate from "../../../helpers/format-chat-date";

View File

@ -7,7 +7,7 @@ import { isEmpty } from "@ember/utils";
import DButton from "discourse/components/d-button";
import DModal from "discourse/components/d-modal";
import { popupAjaxError } from "discourse/lib/ajax-error";
import discourseLater from "discourse-common/lib/later";
import discourseLater from "discourse/lib/later";
import { i18n } from "discourse-i18n";
import {
EXISTING_TOPIC_SELECTION,

View File

@ -7,9 +7,9 @@ import { htmlSafe } from "@ember/template";
import { isBlank, isPresent } from "@ember/utils";
import { ajax } from "discourse/lib/ajax";
import { extractError } from "discourse/lib/ajax-error";
import discourseDebounce from "discourse/lib/debounce";
import { escapeExpression } from "discourse/lib/utilities";
import Category from "discourse/models/category";
import discourseDebounce from "discourse-common/lib/debounce";
import I18n, { i18n } from "discourse-i18n";
const DEFAULT_HINT = htmlSafe(

View File

@ -10,7 +10,7 @@ import DButton from "discourse/components/d-button";
import DModal from "discourse/components/d-modal";
import withEventValue from "discourse/helpers/with-event-value";
import { popupAjaxError } from "discourse/lib/ajax-error";
import discourseLater from "discourse-common/lib/later";
import discourseLater from "discourse/lib/later";
import { i18n } from "discourse-i18n";
export default class ChatModalDeleteChannel extends Component {

View File

@ -10,7 +10,7 @@ import DModal from "discourse/components/d-modal";
import DModalCancel from "discourse/components/d-modal-cancel";
import { ajax } from "discourse/lib/ajax";
import { extractError } from "discourse/lib/ajax-error";
import discourseDebounce from "discourse-common/lib/debounce";
import discourseDebounce from "discourse/lib/debounce";
import { i18n } from "discourse-i18n";
import DTooltip from "float-kit/components/d-tooltip";
import slugifyChannel from "discourse/plugins/chat/discourse/lib/slugify-channel";

View File

@ -7,12 +7,12 @@ import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import { modifier } from "ember-modifier";
import FilterInput from "discourse/components/filter-input";
import discourseDebounce from "discourse/lib/debounce";
import isElementInViewport from "discourse/lib/is-element-in-viewport";
import DiscourseURL, { userPath } from "discourse/lib/url";
import autoFocus from "discourse/modifiers/auto-focus";
import { INPUT_DELAY } from "discourse-common/config/environment";
import icon from "discourse-common/helpers/d-icon";
import discourseDebounce from "discourse-common/lib/debounce";
import { i18n } from "discourse-i18n";
import MessageCreator from "discourse/plugins/chat/discourse/components/chat/message-creator";
import { MODES } from "discourse/plugins/chat/discourse/components/chat/message-creator/constants";

View File

@ -5,9 +5,9 @@ import { service } from "@ember/service";
import { not, or } from "truth-helpers";
import DButton from "discourse/components/d-button";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { bind } from "discourse/lib/decorators";
import { clipboardCopyAsync } from "discourse/lib/utilities";
import { isTesting } from "discourse-common/config/environment";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import DeleteMessagesConfirm from "discourse/plugins/chat/discourse/components/chat/modal/delete-messages-confirm";
import ChatModalMoveMessageToChannel from "discourse/plugins/chat/discourse/components/chat/modal/move-message-to-channel";

View File

@ -2,7 +2,7 @@ import Component from "@glimmer/component";
import { cached } from "@glimmer/tracking";
import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
import { i18n } from "discourse-i18n";
import ChannelIcon from "discourse/plugins/chat/discourse/components/channel-icon";
import ChannelTitle from "discourse/plugins/chat/discourse/components/channel-title";

View File

@ -2,8 +2,8 @@ import Controller from "@ember/controller";
import { action } from "@ember/object";
import { service } from "@ember/service";
import { popupAjaxError } from "discourse/lib/ajax-error";
import discourseComputed from "discourse/lib/decorators";
import { isTesting } from "discourse-common/config/environment";
import discourseComputed from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import { CHAT_SOUNDS } from "discourse/plugins/chat/discourse/services/chat-audio-manager";

View File

@ -1,6 +1,6 @@
import { htmlSafe } from "@ember/template";
import getURL from "discourse/lib/get-url";
import User from "discourse/models/user";
import getURL from "discourse-common/lib/get-url";
import { i18n } from "discourse-i18n";
export default function formatChatDate(message, options = {}) {

View File

@ -1,12 +1,12 @@
import $ from "jquery";
import { spinnerHTML } from "discourse/helpers/loading-spinner";
import { decorateGithubOneboxBody } from "discourse/instance-initializers/onebox-decorators";
import { samePrefix } from "discourse/lib/get-url";
import { decorateHashtags } from "discourse/lib/hashtag-decorator";
import highlightSyntax from "discourse/lib/highlight-syntax";
import loadScript from "discourse/lib/load-script";
import { withPluginApi } from "discourse/lib/plugin-api";
import DiscourseURL from "discourse/lib/url";
import { samePrefix } from "discourse-common/lib/get-url";
import { i18n } from "discourse-i18n";
export default {

View File

@ -1,11 +1,11 @@
import { setOwner } from "@ember/owner";
import { service } from "@ember/service";
import EmojiPickerDetached from "discourse/components/emoji-picker/detached";
import { bind } from "discourse/lib/decorators";
import { number } from "discourse/lib/formatter";
import { getOwnerWithFallback } from "discourse/lib/get-owner";
import { replaceIcon } from "discourse/lib/icon-library";
import { withPluginApi } from "discourse/lib/plugin-api";
import { getOwnerWithFallback } from "discourse-common/lib/get-owner";
import { replaceIcon } from "discourse-common/lib/icon-library";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import { clearChatComposerButtons } from "discourse/plugins/chat/discourse/lib/chat-composer-buttons";
import ChannelHashtagType from "discourse/plugins/chat/discourse/lib/hashtag-types/channel";

View File

@ -4,11 +4,11 @@ import { dasherize } from "@ember/string";
import { htmlSafe } from "@ember/template";
import UserStatusMessage from "discourse/components/user-status-message";
import { decorateUsername } from "discourse/helpers/decorate-username-selector";
import { avatarUrl } from "discourse/lib/avatar-utils";
import { bind } from "discourse/lib/decorators";
import { withPluginApi } from "discourse/lib/plugin-api";
import { emojiUnescape } from "discourse/lib/text";
import { escapeExpression } from "discourse/lib/utilities";
import { avatarUrl } from "discourse-common/lib/avatar-utils";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import ChatModalNewMessage from "discourse/plugins/chat/discourse/components/chat/modal/new-message";
import {

View File

@ -1,6 +1,6 @@
import getURL from "discourse/lib/get-url";
import { withPluginApi } from "discourse/lib/plugin-api";
import { formatUsername } from "discourse/lib/utilities";
import getURL from "discourse-common/lib/get-url";
import { i18n } from "discourse-i18n";
import slugifyChannel from "discourse/plugins/chat/discourse/lib/slugify-channel";

View File

@ -1,8 +1,8 @@
import { tracked } from "@glimmer/tracking";
import { getOwner, setOwner } from "@ember/owner";
import { service } from "@ember/service";
import { cloneJSON } from "discourse-common/lib/object";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
import { cloneJSON } from "discourse/lib/object";
import ChatMessage from "discourse/plugins/chat/discourse/models/chat-message";
import ChatThreadPreview from "discourse/plugins/chat/discourse/models/chat-thread-preview";

View File

@ -1,8 +1,8 @@
import { tracked } from "@glimmer/tracking";
import { getOwner, setOwner } from "@ember/owner";
import { service } from "@ember/service";
import { cloneJSON } from "discourse-common/lib/object";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
import { cloneJSON } from "discourse/lib/object";
import ChatMessage from "discourse/plugins/chat/discourse/models/chat-message";
export default class ChatChannelThreadSubscriptionManager {

View File

@ -1,6 +1,6 @@
import { next, schedule } from "@ember/runloop";
import discourseLater from "discourse/lib/later";
import { capabilities } from "discourse/services/capabilities";
import discourseLater from "discourse-common/lib/later";
// since -webkit-overflow-scrolling: touch can't be used anymore to disable momentum scrolling
// we use different hacks to work around this

View File

@ -1,7 +1,7 @@
import { setOwner } from "@ember/owner";
import { service } from "@ember/service";
import { popupAjaxError } from "discourse/lib/ajax-error";
import getURL from "discourse-common/lib/get-url";
import getURL from "discourse/lib/get-url";
import { i18n } from "discourse-i18n";
export default class ChatMessageFlag {

View File

@ -7,10 +7,10 @@ import BookmarkModal from "discourse/components/modal/bookmark";
import FlagModal from "discourse/components/modal/flag";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { BookmarkFormData } from "discourse/lib/bookmark-form-data";
import { bind } from "discourse/lib/decorators";
import getURL from "discourse/lib/get-url";
import { clipboardCopy } from "discourse/lib/utilities";
import Bookmark from "discourse/models/bookmark";
import getURL from "discourse-common/lib/get-url";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import { MESSAGE_CONTEXT_THREAD } from "discourse/plugins/chat/discourse/components/chat-message";
import ChatMessageFlag from "discourse/plugins/chat/discourse/lib/chat-message-flag";

View File

@ -1,7 +1,7 @@
import { tracked } from "@glimmer/tracking";
import { Promise } from "rsvp";
import { ajax } from "discourse/lib/ajax";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
/**
* Handles a paginated API response.

View File

@ -1,6 +1,6 @@
import { service } from "@ember/service";
import HashtagTypeBase from "discourse/lib/hashtag-types/base";
import { iconHTML } from "discourse-common/lib/icon-library";
import { iconHTML } from "discourse/lib/icon-library";
export default class ChannelHashtagType extends HashtagTypeBase {
@service chatChannelsManager;

View File

@ -3,8 +3,8 @@ import EmberObject from "@ember/object";
import { setOwner } from "@ember/owner";
import { next, schedule } from "@ember/runloop";
import { service } from "@ember/service";
import { bind } from "discourse/lib/decorators";
import TextareaTextManipulation from "discourse/lib/textarea-text-manipulation";
import { bind } from "discourse-common/utils/decorators";
// This class sole purpose is to provide a way to interact with the textarea
// using the existing TextareaTextManipulation mixin without using it directly

View File

@ -1,5 +1,5 @@
import getURL from "discourse/lib/get-url";
import { generatePlaceholderHashtagHTML } from "discourse/lib/hashtag-decorator";
import getURL from "discourse-common/lib/get-url";
const domParser = new DOMParser();

View File

@ -1,9 +1,9 @@
import { tracked } from "@glimmer/tracking";
import guid from "pretty-text/guid";
import { getOwnerWithFallback } from "discourse/lib/get-owner";
import { getURLWithCDN } from "discourse/lib/get-url";
import { escapeExpression } from "discourse/lib/utilities";
import Category from "discourse/models/category";
import { getOwnerWithFallback } from "discourse-common/lib/get-owner";
import { getURLWithCDN } from "discourse-common/lib/get-url";
import ChatMessagesManager from "discourse/plugins/chat/discourse/lib/chat-messages-manager";
import ChatThreadsManager from "discourse/plugins/chat/discourse/lib/chat-threads-manager";
import slugifyChannel from "discourse/plugins/chat/discourse/lib/slugify-channel";

View File

@ -1,10 +1,10 @@
import { cached, tracked } from "@glimmer/tracking";
import { TrackedArray } from "@ember-compat/tracked-built-ins";
import { getOwnerWithFallback } from "discourse/lib/get-owner";
import discourseLater from "discourse/lib/later";
import { generateCookFunction, parseMentions } from "discourse/lib/text";
import Bookmark from "discourse/models/bookmark";
import User from "discourse/models/user";
import { getOwnerWithFallback } from "discourse-common/lib/get-owner";
import discourseLater from "discourse-common/lib/later";
import transformAutolinks from "discourse/plugins/chat/discourse/lib/transform-auto-links";
import ChatMessageReaction from "discourse/plugins/chat/discourse/models/chat-message-reaction";

View File

@ -1,6 +1,6 @@
import { tracked } from "@glimmer/tracking";
import guid from "pretty-text/guid";
import { getOwnerWithFallback } from "discourse-common/lib/get-owner";
import { getOwnerWithFallback } from "discourse/lib/get-owner";
import ChatMessagesManager from "discourse/plugins/chat/discourse/lib/chat-messages-manager";
import ChatMessage from "discourse/plugins/chat/discourse/models/chat-message";
import ChatThreadPreview from "discourse/plugins/chat/discourse/models/chat-thread-preview";

View File

@ -1,7 +1,7 @@
import { registerDestructor } from "@ember/destroyable";
import { cancel } from "@ember/runloop";
import Modifier from "ember-modifier";
import discourseLater from "discourse-common/lib/later";
import discourseLater from "discourse/lib/later";
export default class ChatLaterFn extends Modifier {
constructor(owner, args) {

View File

@ -1,7 +1,7 @@
import { registerDestructor } from "@ember/destroyable";
import { cancel, schedule } from "@ember/runloop";
import Modifier from "ember-modifier";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
export default class ChatOnAnimationEnd extends Modifier {
constructor(owner, args) {

View File

@ -2,8 +2,8 @@ import { registerDestructor } from "@ember/destroyable";
import { cancel } from "@ember/runloop";
import { service } from "@ember/service";
import Modifier from "ember-modifier";
import discourseLater from "discourse-common/lib/later";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
import discourseLater from "discourse/lib/later";
function cancelEvent(event) {
event.stopPropagation();

View File

@ -1,7 +1,7 @@
import { registerDestructor } from "@ember/destroyable";
import { cancel, throttle } from "@ember/runloop";
import Modifier from "ember-modifier";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
export default class ChatOnScroll extends Modifier {
constructor(owner, args) {

View File

@ -1,7 +1,7 @@
import { registerDestructor } from "@ember/destroyable";
import { cancel, throttle } from "@ember/runloop";
import Modifier from "ember-modifier";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
const MINIMUM_SIZE = 20;

View File

@ -1,8 +1,8 @@
import { registerDestructor } from "@ember/destroyable";
import { cancel, throttle } from "@ember/runloop";
import Modifier from "ember-modifier";
import discourseLater from "discourse-common/lib/later";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
import discourseLater from "discourse/lib/later";
import firstVisibleMessageId from "discourse/plugins/chat/discourse/helpers/first-visible-message-id";
const UP = "up";

View File

@ -1,6 +1,6 @@
import { registerDestructor } from "@ember/destroyable";
import Modifier from "ember-modifier";
import { bind } from "discourse-common/utils/decorators";
import { bind } from "discourse/lib/decorators";
export default class ChatTrackMessage extends Modifier {
didEnterViewport = null;

View File

@ -1,6 +1,6 @@
import Service from "@ember/service";
import { getURLWithCDN } from "discourse/lib/get-url";
import { isTesting } from "discourse-common/config/environment";
import { getURLWithCDN } from "discourse-common/lib/get-url";
export const CHAT_SOUNDS = {
bell: [{ src: "/plugins/chat/audio/bell.mp3", type: "audio/mpeg" }],

View File

@ -3,7 +3,7 @@ import Service, { service } from "@ember/service";
import { TrackedObject } from "@ember-compat/tracked-built-ins";
import Promise from "rsvp";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { debounce } from "discourse-common/utils/decorators";
import { debounce } from "discourse/lib/decorators";
import ChatChannel from "discourse/plugins/chat/discourse/models/chat-channel";
const DIRECT_MESSAGE_CHANNELS_LIMIT = 50;

View File

@ -2,8 +2,8 @@ import { tracked } from "@glimmer/tracking";
import { cancel } from "@ember/runloop";
import Service, { service } from "@ember/service";
import { ajax } from "discourse/lib/ajax";
import discourseDebounce from "discourse-common/lib/debounce";
import { bind } from "discourse-common/utils/decorators";
import discourseDebounce from "discourse/lib/debounce";
import { bind } from "discourse/lib/decorators";
const MENTION_RESULT = {
invalid: -1,

View File

@ -1,10 +1,10 @@
import Service, { service } from "@ember/service";
import { bind } from "discourse/lib/decorators";
import {
alertChannel,
onNotification as onDesktopNotification,
} from "discourse/lib/desktop-notifications";
import { isTesting } from "discourse-common/config/environment";
import { bind } from "discourse-common/utils/decorators";
export default class ChatNotificationManager extends Service {
@service chat;

View File

@ -1,6 +1,6 @@
import Service, { service } from "@ember/service";
import { bind } from "discourse/lib/decorators";
import { NotificationLevels } from "discourse/lib/notification-levels";
import { bind } from "discourse-common/utils/decorators";
import { i18n } from "discourse-i18n";
import { CHANNEL_STATUSES } from "discourse/plugins/chat/discourse/models/chat-channel";
import ChatChannelArchive from "../models/chat-channel-archive";

View File

@ -1,7 +1,7 @@
import { getOwner } from "@ember/owner";
import { cancel } from "@ember/runloop";
import Service, { service } from "@ember/service";
import discourseDebounce from "discourse-common/lib/debounce";
import discourseDebounce from "discourse/lib/debounce";
import ChatTrackingState from "discourse/plugins/chat/discourse/models/chat-tracking-state";
/**

View File

@ -5,13 +5,13 @@ import { cancel, next } from "@ember/runloop";
import Service, { service } from "@ember/service";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
import { bind } from "discourse/lib/decorators";
import deprecated from "discourse/lib/deprecated";
import discourseLater from "discourse/lib/later";
import {
onPresenceChange,
removeOnPresenceChange,
} from "discourse/lib/user-presence";
import deprecated from "discourse-common/lib/deprecated";
import discourseLater from "discourse-common/lib/later";
import { bind } from "discourse-common/utils/decorators";
import ChatMessage from "discourse/plugins/chat/discourse/models/chat-message";
const CHAT_ONLINE_OPTIONS = {

View File

@ -1,4 +1,4 @@
import { deepMerge } from "discourse-common/lib/object";
import { deepMerge } from "discourse/lib/object";
export const messageContents = ["Hello world", "What up", "heyo!"];

View File

@ -1,5 +1,5 @@
import { cloneJSON } from "discourse/lib/object";
import User from "discourse/models/user";
import { cloneJSON } from "discourse-common/lib/object";
import {
chatChannels,
directMessageChannels,