-
Notifications
You must be signed in to change notification settings - Fork 328
feat: Add Emoji Autocomplete functionality that displays matching emoji suggestions on : colon type #1015
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?
feat: Add Emoji Autocomplete functionality that displays matching emoji suggestions on : colon type #1015
Conversation
|
Hi @snehalsaurabh |
|
@Spiral-Memory I have done the formatting with prettier. Waiting for your review and approval. |
|
Hi @Spiral-Memory. Sorry to bother. Looking for a follow up on this and if anything else that needs to be done in here. |
…gestions when users type ':' followed by at least 2 characters, similar to existing mention and command autocomplete features
f392efe to
0463303
Compare
Spiral-Memory
left a comment
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.
LGTM. Approving to test.
Thanks for the great work @snehalsaurabh
| } | ||
|
|
||
| return ( | ||
| <Box css={styles.main}> |
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.
Is it not possible to use the existing SingleSelect we have for mentions?
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.
What do you think which will be better to go with ? A new custom component or SingleSelect we have
|
This is a great PR, @snehalsaurabh. Thanks a lot for the wonderful work. Once we’re aligned on the approach, it will be merged. |
Add Emoji Autocomplete on Colon Type
Acceptance Criteria fulfillment
Fixes #1013 (issue)
Video/Screenshots
Demo Video: EmbeddedChat - Emoji Autocomplete Feature

Key Features Implemented
✅ Trigger: : + 2 characters minimum
✅ Display format: emoji unicode + :shortname: (matching Rocket.Chat)
✅ Keyboard navigation: ArrowUp/Down, Enter, Escape
✅ Click selection support
✅ Auto-scroll to highlighted item
✅ Consistent styling with existing autocomplete lists
✅ Limited to 10 results for better performance
✅ Proper state management and cleanup
✅ No interference with @ mentions or / commands
Implementation Details
This PR adds emoji autocomplete functionality to the EmbeddedChat component, allowing users to quickly find and insert emojis by typing : followed by text in the message input box. The implementation follows the same patterns as existing autocomplete features (mentions and commands) for consistency.
Files Added/Modified:
New Files:
packages/react/src/lib/emojiList.js- Comprehensive emoji data source with shortnames and aliasespackages/react/src/hooks/useSearchEmoji.js- Hook for emoji filtering logicpackages/react/src/views/EmojiList/- Complete EmojiList component with stylingModified Files:
packages/react/src/views/ChatInput/ChatInput.js- Integrated emoji autocomplete functionalityTechnical Highlights:
PR Test Details
Note: The PR will be ready for live testing at https://rocketchat.github.io/EmbeddedChat/pulls/pr-1015 after approval. Contributors are requested to replace <pr_number> with the actual PR number.
Testing Instructions: