-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Emoji improvements #9730
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Emoji improvements #9730
Conversation
utkaka
commented
Aug 28, 2025
- Fixed custom emojis in the new chat
- Added Noto Color font. Users now able to choose between system & Noto emojis


Signed-off-by: Anton Alexeyev <[email protected]>
Signed-off-by: Anton Alexeyev <[email protected]>
Connected to Huly®: UBERF-13355 |
Signed-off-by: Anton Alexeyev <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements emoji improvements by fixing custom emojis in the new chat and adding support for Noto Color emoji font as an alternative to system emojis. Users can now choose between system default and Noto Color emoji styles through a new setting in the UI.
- Added text parsing functionality to handle emoji content in text nodes
- Implemented Noto Color font support with comprehensive font-face definitions
- Added emoji style selection UI with localization support across 9 languages
Reviewed Changes
Copilot reviewed 28 out of 54 changed files in this pull request and generated 5 comments.
Show a summary per file
File | Description |
---|---|
plugins/emoji/src/types.ts | Added types for text parsing with emojis functionality |
plugins/emoji/src/plugin.ts | Added ParseTextWithEmojis resource to plugin exports |
plugins/emoji-resources/src/utils.ts | Implemented parseTextWithEmojis function for processing text content |
plugins/emoji-resources/src/index.ts | Exported parseTextWithEmojis function as plugin resource |
plugins/emoji-resources/src/components/*.svelte | Added "emoji" CSS class to emoji spans for font styling |
packages/ui/src/plugin.ts | Added emoji style string resources |
packages/ui/src/components/internal/icons/EmojiStyle.svelte | Added emoji style icon component |
packages/ui/src/components/internal/SettingsPopup.svelte | Added emoji style selector to settings popup |
packages/ui/lang/*.json | Added emoji style translations for 9 languages |
packages/theme/styles/noto-color.scss | Added comprehensive Noto Color emoji font definitions |
packages/theme/styles/global.scss | Imported Noto Color font styles |
packages/theme/styles/common.scss | Added emoji style CSS classes |
packages/theme/src/index.ts | Added getCurrentEmoji function and updated ThemeOptions |
packages/theme/src/Theme.svelte | Added emoji context and theme integration |
packages/presentation/src/components/markup/NodeContent.svelte | Updated text rendering to use parseTextWithEmojis function |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Signed-off-by: Anton Alexeyev <[email protected]>
Signed-off-by: Anton Alexeyev <[email protected]>
Signed-off-by: Anton Alexeyev <[email protected]> # Conflicts: # packages/presentation/src/components/LiteMessageViewer.svelte # packages/presentation/src/components/markup/lite/LiteNode.svelte # packages/presentation/src/components/markup/lite/LiteNodeContent.svelte # packages/presentation/src/components/markup/lite/LiteNodes.svelte # packages/theme/src/index.ts # packages/ui/lang/cs.json # packages/ui/lang/de.json # packages/ui/lang/en.json # packages/ui/lang/es.json # packages/ui/lang/fr.json # packages/ui/lang/it.json # packages/ui/lang/ja.json # packages/ui/lang/pt.json # packages/ui/lang/ru.json # packages/ui/lang/zh.json
Signed-off-by: Anton Alexeyev <[email protected]>
Signed-off-by: Anton Alexeyev <[email protected]>
let parseEmojisFunction: ((text: string) => ParsedTextWithEmojis) | undefined = undefined | ||
|
||
onMount(async () => { | ||
try { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this code is copied multiple times in different places. can you move it to emoji plugin?
onMount(async () => {
parseEmojisFunction = await getParseEmojisFunction()
})