This PR is introducing glimmer usage in the chat-live-pane, for components but also for models. RestModel usage has been dropped in favor of native classes. Other changes/additions in this PR: - sticky dates, scrolling will now keep the date separator of the current section at the top of the screen - better unread management, marking a channel as unread will correctly mark the correct message and not mark the whole channel as read. Tracking state will also now correctly return unread count and unread mentions. - adds an animation on bottom arrow - better scrolling behavior, we should now always correctly keep the scroll position while loading more - reactions are now more reactive, and will update their tooltip without needed to close/reopen it - skeleton has been improved with placeholder images and reactions - when making a reaction on the desktop message actions, the menu won't move anymore - simplify logic and stop maintaining a list of unloaded messages
33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
import ChatMessage from "discourse/plugins/chat/discourse/models/chat-message";
|
|
import { generateCookFunction } from "discourse/lib/text";
|
|
import simpleCategoryHashMentionTransform from "discourse/plugins/chat/discourse/lib/simple-category-hash-mention-transform";
|
|
|
|
export default {
|
|
name: "chat-cook-function",
|
|
|
|
before: "chat-setup",
|
|
|
|
initialize(container) {
|
|
const site = container.lookup("service:site");
|
|
|
|
const markdownOptions = {
|
|
featuresOverride:
|
|
site.markdown_additional_options?.chat?.limited_pretty_text_features,
|
|
markdownItRules:
|
|
site.markdown_additional_options?.chat
|
|
?.limited_pretty_text_markdown_rules,
|
|
hashtagTypesInPriorityOrder: site.hashtag_configurations["chat-composer"],
|
|
hashtagIcons: site.hashtag_icons,
|
|
};
|
|
|
|
generateCookFunction(markdownOptions).then((cookFunction) => {
|
|
ChatMessage.cookFunction = (raw) => {
|
|
return simpleCategoryHashMentionTransform(
|
|
cookFunction(raw),
|
|
site.categories
|
|
);
|
|
};
|
|
});
|
|
},
|
|
};
|