* Adds a test to demonstrate the issue with emoji autocomplete reported in https://github.com/vector-im/element-web/issues/19302.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Trim trailing `:` when checking for autocompletes for emoji.
Closes https://github.com/vector-im/element-web/issues/19302
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Move all references to the emoji delimiter character to reference a constant.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Revert "Move all references to the emoji delimiter character to reference a constant."
This reverts commit ac09e71e4c6151e35d21f612c9b329ead2a381f1.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Rename variable.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Make the test file a .js file.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Update quotes to match style and make a valid stubbed room.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Fix variable name and test reporting.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Use str.replace with a regex.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Use an improved regex that does not have have to iterate through the entire string, and can just backtrack at most the last 2 characters.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Revert "Use an improved regex that does not have have to iterate through the
entire string, and can just backtrack at most the last 2 characters."
This regex is very efficient, but requires a specific form of the emoji
shortcode that it is not clear is within our control. This is a restriction
that is not required by the technicalities of solving the bug this PR is
attempting to fix. (It requires that an emoji shortcode end with a colon.)
This reverts commit 220cb0efb8de247158c11daf9170464a57cc3af2.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
Co-authored-by: Ryan Browne <code@commonlawfeature.com>
for consistency with shortcodes commonly used by other platforms, as
was decided in https://github.com/vector-im/element-web/issues/13857.
One thing to be aware of is that the currently used version of Twemoji
does not support a few of the newer emoji present in Emojibase, so these
look a little out of place in the emoji picker. Optimally Twemoji would
be updated at the same time, though I don't know how to do that.
Signed-off-by: Robin Townsend <robin@robin.town>
1. emoji sometimes vanished from the autocompleter due to a rounding error
combined with maxWidth: 1em on the emoji span kicking in at arbitrary
font sizes/zooms
2. apparently safari needs explicit VS-16 ligatures, as per
ff7dec427f