Description
Problems
Some people haven't discovered their native OS emoji selector, so they can't use emojis in rich text at all.
For those who've discovered the native picker, it's too heavy (at least on Windows it has GIFs and whatnot).
Also, the shortcut is not easy to remember compared to :pattern from Slack and Notion.
Solution
Introduce the :emoji: pattern that uses a lightweight version of our unified emoji-icon picker.
no search input: the rich text is the input
no icons, emojis only
no background color
no skin tone selector
Add /Emoji slash command that opens our usual emoji picker.
(for pure discoverability, it's not the most convenient way)
Behavior
Emoji picker opens when you type :xx at the start of a line or after a space.
The picker appears after you type :xx
βοΈ After how many letters? The fewer β the better for discoverability, but this might hinder regular writing.
0 Google Docs
1 Notion
β 2 Slack, Discord
3 Coda
π¦ Highlight matching characters when typing
:ligh β lighter
Outside click or ESC to close the picker and continue typing
The options are displayed in a list together with their aliases
We use Twemoji outside Apple devices
If you add a native emoji, we replace it with Fibery emoji

if you add a native emoji which has no mapping in our dataset (Twemoji), don't replace
no migration for native emojis that are already present in rich text
π¦ Use :emoji: syntax in text Fields (incl. Name)
Is it possible to add :syntax: support to text Fields like Name?
(Notion has it)
π¦ Support multi-word emojis :rotating light:
Markdown
How would emojis look like in markdown?
This is how other tools do this:
Since we want to have custom emojis in the future, these are the options:
Representations
Turns out emojis can have different presentation mode, e.g. β± and β±οΈ are basically the same character but the second one has one more unicode symbol in it telling to use different presentation mode.
You can scroll this file to understand:
https://github.com/mathiasbynens/emoji-test-regex-pattern/blob/main/dist/latest/index.txt.
π¦ We automatically replace text presentations with our colourful emoji nodes as Notion and Slack do.
Notes
Replace our own emojis on UI to use the same Twemoji-as-fallback mechanism
Notifications
Delete Type
β¦\
(check where the component is used)
Make sure that emojis look the same in Notifications as the do in the original rich text
Places
Rich-text Field
Documents
Rich-text comments
Inline comments
View description
π¦ Next
Add tooltip with emoji name in rich text
Use :emoji: syntax in text Fields (incl. Name)
Insert emojis with multiple skin tones π«±πΎβπ«²π»
Can't change emoji skin tone from rich text
Refs
Notion
Notion doesn't have custom emojis in text, btw.
They support inserting emojis with multiple words:
Google Docs
Google docs have some non-native emoji set in the picker but then they insert natives ones in the text π¬.