[Rich Text Editor] Emoji picker triggered by : hijacks Escape and Enter keys, breaking keyboard-only editing
Summary
When typing a colon : in the rich-text editor of an issue description, an emoji autocomplete tooltip appears.
If the user does not intend to insert an emoji, there is no keyboard shortcut to dismiss it.
Pressing Escape closes the entire issue modal instead of just the tooltip, and pressing Enter does nothing while the tooltip is open.
The only workaround is to click elsewhere in the field with the mouse.
This is especially painful for French-speaking users: French typography rules require a space before : (e.g. "Liste des points :", "Résultat :"), meaning the emoji tooltip is triggered on virtually every sentence that ends with a colon, making keyboard-only editing of structured descriptions nearly impractical.
Steps to reproduce
- Go to any GitLab project and open the issue creation modal (or edit an existing issue).
- Click into the Description rich-text editor field.
- Type any text that includes a colon
:(e.g. to introduce a bullet list, or following French typography rules with a space before:). - Observe that the emoji autocomplete tooltip appears immediately.
- Without touching the mouse, press Escape to try to dismiss the tooltip.
- Observe that the entire issue modal closes instead.
- Re-open the modal, reproduce step 3, and press Enter to try to insert a new line.
- Observe that Enter has no effect while the tooltip is open.
Example Project
Reproducible on any project on GitLab.com. No specific project needed - the issue occurs in the native rich-text editor of the issue creation/edit modal.
What is the current bug behavior?
- Typing
:opens the emoji autocomplete tooltip unconditionally. - Pressing Escape closes the issue modal, not the tooltip. Any unsaved content is lost.
- Pressing Enter does nothing. The new line is not inserted.
- The only way to close the tooltip and resume editing is to click somewhere else in the description field with the mouse.
What is the expected correct behavior?
- Escape should dismiss the emoji tooltip first. A second press should close the modal (standard layered dismiss pattern).
- Enter should dismiss the tooltip and insert a new line, as in any standard text editor.
- Keyboard-only users should be able to write structured issue descriptions (with colons, bullet lists, etc.) without needing a mouse.
Relevant logs and/or screenshots
Output of checks
Results of GitLab environment info
Results of GitLab application Check
Possible fixes
Patch release information for backports
If the bug fix needs to be backported in a patch release to a version under the maintenance policy, please follow the steps on the patch release runbook for GitLab engineers.
Refer to the internal "Release Information" dashboard for information about the next patch release, including the targeted versions, expected release date, and current status.
High-severity bug remediation
To remediate high-severity issues requiring an internal release for single-tenant SaaS instances, refer to the internal release process for engineers.
