diff --git a/apps/client/src/widgets/type_widgets/ckeditor/config.ts b/apps/client/src/widgets/type_widgets/ckeditor/config.ts
index 3be584ee8..c2419b077 100644
--- a/apps/client/src/widgets/type_widgets/ckeditor/config.ts
+++ b/apps/client/src/widgets/type_widgets/ckeditor/config.ts
@@ -236,8 +236,8 @@ function getLicenseKey() {
function getDisabledPlugins() {
let disabledPlugins: string[] = [];
- if (options.get("textNoteEmojiEnabled") !== "true") {
- disabledPlugins.push("Emoji");
+ if (options.get("textNoteEmojiCompletionEnabled") !== "true") {
+ disabledPlugins.push("EmojiMention");
}
return disabledPlugins;
diff --git a/apps/client/src/widgets/type_widgets/options/text_notes/features.ts b/apps/client/src/widgets/type_widgets/options/text_notes/features.ts
index d5ee87930..16e9d33ab 100644
--- a/apps/client/src/widgets/type_widgets/options/text_notes/features.ts
+++ b/apps/client/src/widgets/type_widgets/options/text_notes/features.ts
@@ -6,25 +6,25 @@ const TPL = /*html*/`
Features
`;
export default class EditorFeaturesOptions extends OptionsWidget {
- private $emojiEnabledCheckbox!: JQuery;
+ private $emojiCompletionEnabledCheckbox!: JQuery;
doRender() {
this.$widget = $(TPL);
- this.$emojiEnabledCheckbox = this.$widget.find(`input[name="emoji-enabled"]`);
- this.$emojiEnabledCheckbox.on("change", () => this.updateCheckboxOption("textNoteEmojiEnabled", this.$emojiEnabledCheckbox))
+ this.$emojiCompletionEnabledCheckbox = this.$widget.find(`input[name="emoji-completion-enabled"]`);
+ this.$emojiCompletionEnabledCheckbox.on("change", () => this.updateCheckboxOption("textNoteEmojiCompletionEnabled", this.$emojiCompletionEnabledCheckbox))
}
optionsLoaded(options: OptionMap) {
- this.setCheckboxState(this.$emojiEnabledCheckbox, options.textNoteEmojiEnabled);
+ this.setCheckboxState(this.$emojiCompletionEnabledCheckbox, options.textNoteEmojiCompletionEnabled);
}
}
diff --git a/apps/server/src/routes/api/options.ts b/apps/server/src/routes/api/options.ts
index 0b496d7d9..d7d8520d0 100644
--- a/apps/server/src/routes/api/options.ts
+++ b/apps/server/src/routes/api/options.ts
@@ -85,7 +85,7 @@ const ALLOWED_OPTIONS = new Set([
"languages",
"textNoteEditorType",
"textNoteEditorMultilineToolbar",
- "textNoteEmojiEnabled",
+ "textNoteEmojiCompletionEnabled",
"layoutOrientation",
"backgroundEffects",
"allowedHtmlTags",
diff --git a/apps/server/src/services/options_init.ts b/apps/server/src/services/options_init.ts
index a109f31d0..64e31fc0d 100644
--- a/apps/server/src/services/options_init.ts
+++ b/apps/server/src/services/options_init.ts
@@ -178,7 +178,7 @@ const defaultOptions: DefaultOption[] = [
// Text note configuration
{ name: "textNoteEditorType", value: "ckeditor-balloon", isSynced: true },
{ name: "textNoteEditorMultilineToolbar", value: "false", isSynced: true },
- { name: "textNoteEmojiEnabled", value: "true", isSynced: true },
+ { name: "textNoteEmojiCompletionEnabled", value: "true", isSynced: true },
// HTML import configuration
{ name: "layoutOrientation", value: "vertical", isSynced: false },
diff --git a/packages/ckeditor5/src/plugins.ts b/packages/ckeditor5/src/plugins.ts
index fae78f40b..a16ad1bbb 100644
--- a/packages/ckeditor5/src/plugins.ts
+++ b/packages/ckeditor5/src/plugins.ts
@@ -1,4 +1,4 @@
-import { Autoformat, AutoLink, BlockQuote, BlockToolbar, Bold, CKFinderUploadAdapter, Clipboard, Code, CodeBlock, Enter, FindAndReplace, Font, FontBackgroundColor, FontColor, GeneralHtmlSupport, Heading, HeadingButtonsUI, HorizontalLine, Image, ImageCaption, ImageInline, ImageResize, ImageStyle, ImageToolbar, ImageUpload, Alignment, Indent, IndentBlock, Italic, Link, List, ListProperties, Mention, PageBreak, Paragraph, ParagraphButtonUI, PasteFromOffice, PictureEditing, RemoveFormat, SelectAll, ShiftEnter, SpecialCharacters, SpecialCharactersEssentials, Strikethrough, Style, Subscript, Superscript, Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableSelection, TableToolbar, TextPartLanguage, TextTransformation, TodoList, Typing, Underline, Undo, Bookmark, Emoji, Notification } from "ckeditor5";
+import { Autoformat, AutoLink, BlockQuote, BlockToolbar, Bold, CKFinderUploadAdapter, Clipboard, Code, CodeBlock, Enter, FindAndReplace, Font, FontBackgroundColor, FontColor, GeneralHtmlSupport, Heading, HeadingButtonsUI, HorizontalLine, Image, ImageCaption, ImageInline, ImageResize, ImageStyle, ImageToolbar, ImageUpload, Alignment, Indent, IndentBlock, Italic, Link, List, ListProperties, Mention, PageBreak, Paragraph, ParagraphButtonUI, PasteFromOffice, PictureEditing, RemoveFormat, SelectAll, ShiftEnter, SpecialCharacters, SpecialCharactersEssentials, Strikethrough, Style, Subscript, Superscript, Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableSelection, TableToolbar, TextPartLanguage, TextTransformation, TodoList, Typing, Underline, Undo, Bookmark, Emoji, Notification, EmojiMention, EmojiPicker } from "ckeditor5";
import { SlashCommand, Template } from "ckeditor5-premium-features";
import type { Plugin } from "ckeditor5";
import CutToNotePlugin from "./plugins/cuttonote.js";
@@ -145,7 +145,8 @@ export const COMMON_PLUGINS: typeof Plugin[] = [
TextPartLanguage,
Style,
Bookmark,
- Emoji,
+ EmojiMention,
+ EmojiPicker,
...TRILIUM_PLUGINS,
...EXTERNAL_PLUGINS
diff --git a/packages/commons/src/lib/options_interface.ts b/packages/commons/src/lib/options_interface.ts
index bd9cfee33..20882709a 100644
--- a/packages/commons/src/lib/options_interface.ts
+++ b/packages/commons/src/lib/options_interface.ts
@@ -118,7 +118,7 @@ export interface OptionDefinitions extends KeyboardShortcutsOptions