RocketChat / RocketChat/Rocket.Chat
Custom emoji aliases are not searchable in the emoji picker
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description
Searching for a custom emoji by its alias does not return results in the emoji picker. While searching by the primary name works correctly, aliases are ignored, which reduces discoverability of custom emojis.
Environment
- Rocket.Chat version: develop branch
- Browser: Chrome
- OS: macOS
Steps to Reproduce
- Navigate to Administration → Custom Emojis
- Create a custom emoji with the name
cat - Add the alias
meow - Open the emoji picker in any chat
- Search for
cat→ the emoji appears - Search for
meow→ no results are returned
Expected Behavior
Searching for any defined alias of a custom emoji should return that emoji in the emoji picker.
Actual Behavior
The search logic only considers the primary name of the emoji and ignores defined aliases.
Technical Context
The getEmojisBySearchTerm function in:
apps/meteor/app/emoji/client/helpers.ts
filters emojis based on the primary name but does not account for:
- the
aliasOfproperty - the
aliasesarray for custom emojis
Proposed Fix
Update the getEmojisBySearchTerm filtering logic to include alias matching when searching for emojis, ensuring that both primary names and aliases are considered during search.
Attachments
Video demonstrating the issue and reproduction steps.
https://github.com/user-attachments/assets/f4ae79c5-32d8-4d0d-a942-e628ab64ade6
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/meteor/app/emoji/client/helpers.ts at getEmojisBySearchTerm and inspect how the emoji picker filters primary names. Reproduce the cat/meow steps, then verify that searches match both aliasOf and aliases as well as the primary name.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100