Skip to content
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

Choices do not work with ❌ emoji #898

Closed
cesarvarela opened this issue Apr 26, 2019 · 6 comments
Closed

Choices do not work with ❌ emoji #898

cesarvarela opened this issue Apr 26, 2019 · 6 comments
Assignees
Labels
Area: Engineering Internal issues that are related to improving code quality, refactorings, code cleanup, etc. bug Indicates an unexpected problem or an unintended behavior. R10 Release 10 - August 17th, 2020
Milestone

Comments

@cesarvarela
Copy link

Versions

"botbuilder": "^4.3.4",
v10.14.0
OSX

Describe the bug

Chioce prompt doesn't work with the ❌ emoji, and for example 💚 does work, in the same list of options.

To Reproduce

        const prompt = MessageFactory.carousel(card)
        const choices = CardFactory.actions(['❌', 'Skip', '💚'])

        return await step.prompt('promptlikes', { prompt, choices })

Expected behavior

Should work with every emoji

Additional context

Debugging a bit I've found that the defaultTokenizer doesn;t recognize the emoji and thinks its a breaking char?

image

[bug]

@johnataylor
Copy link
Member

The tokenizer behavior of splitting on some emoji is described here: https://github.com/Microsoft/botbuilder-dotnet/issues/706

@johnataylor
Copy link
Member

johnataylor commented Jul 3, 2019

Yes this is correct the ❌ U+274C is being recognized as a breaking character (like punctuation) and the 💚 U+1F49A isn't.

Emoji's are a little more complex than the current code assumes, simply working on code-points is not enough, the full emoji will often be multiple code-points. The length of the emoji is variable. In some cases like the flag of Wales up to 7 code-points (and in this case 14 characters.)

Refer to https://unicode.org/emoji/charts/full-emoji-list.html

So this amounts to quite a heavy redesign of this code. Moving to the next milestone.

However the Tokenizer is replaceable. The behavior we are talking about here is just the behavior of the default tokenizer. If you have an urgent need for slightly different tokenizing code you might consider plugging in a custom tokenizer.

@johnataylor johnataylor added 4.6 4.6 release and removed 4.5 Investigate labels Jul 3, 2019
@Kaiqb Kaiqb added the customer-reported Issue is created by anyone that is not a collaborator in the repository. label Jul 23, 2019
@sgellock sgellock removed the customer-reported Issue is created by anyone that is not a collaborator in the repository. label Aug 8, 2019
@cleemullins
Copy link
Contributor

pushing to 4.7 due to resource constraints in 4.6.

@cleemullins cleemullins added R7 Release 7 - December 10th, 2019 and removed 4.6 4.6 release labels Sep 13, 2019
@cleemullins
Copy link
Contributor

@johnataylor - any update on this?

@johnataylor johnataylor added R8 Release 8 - March 16th, 2020 and removed R7 Release 7 - December 10th, 2019 labels Dec 2, 2019
@munozemilio munozemilio added R9 Release 9 - May 15th, 2020 and removed R8 Release 8 - March 16th, 2020 labels Feb 11, 2020
@johnataylor johnataylor added R10 Release 10 - August 17th, 2020 and removed R9 Release 9 - May 15th, 2020 labels Apr 7, 2020
@github-actions github-actions bot added bug Indicates an unexpected problem or an unintended behavior. image labels Apr 7, 2020
@johnataylor
Copy link
Member

We are not planning enhanced emoji support in R9 moving to R10.

@stevengum stevengum removed the 'Skip' label May 15, 2020
@gabog gabog added Area: Engineering Internal issues that are related to improving code quality, refactorings, code cleanup, etc. and removed '❌' labels Jun 9, 2020
@gabog gabog removed '💚' labels Jun 9, 2020
@johnataylor
Copy link
Member

closing and tracking this with the issue in borframework-sdk

@munozemilio munozemilio added this to the R10 milestone Jul 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Engineering Internal issues that are related to improving code quality, refactorings, code cleanup, etc. bug Indicates an unexpected problem or an unintended behavior. R10 Release 10 - August 17th, 2020
Projects
None yet
Development

No branches or pull requests

8 participants