element-hq / element-hq/element-web

"Resolve" emojis if they're valid after their trailing `:`

Open
#19,178 4 comments 3 reactions 0 assignees View on GitHub
A-Autocomplete A-Composer A-Emoji O-Occasional T-Enhancement Z-Papercuts
Dominant language
TypeScript
Stars
13.5k
Forks
2.8k
PR merge metrics
PR metrics pending

Description

### Your use case

#### What would you like to do?

If i've typed an emoji, and they're valid when "closing" them with a trailing `:`, resolve them according to the exact shortcode.

#### Why would you like to do it?

It's established behaviour in Discord, and it'd fix some weird behaviour in #19174

#### How would you like to achieve it?

When typing a `:`, check if all preceding non-whitespace characters (up until another `:`) are a valid shortcode, then resolve.

Note: *not* only if an emoji suggestion picker is present, discord behaviour is to convert `(:eyes:)` to (:eyes:) after the last `:`

### Have you considered any alternatives?

_No response_

### Additional context

Here's a video showcasing the behaviour i'd like;

https://user-images.githubusercontent.com/22740616/134803515-6e6a4fc5-c560-4a85-a4c9-53f0574cc90d.mp4

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.