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

Some emojis (emoticons) break the MD parser #32577

Open
Lao-Ax opened this issue Jun 10, 2024 · 3 comments
Open

Some emojis (emoticons) break the MD parser #32577

Lao-Ax opened this issue Jun 10, 2024 · 3 comments
Labels
stat: triaged Issue reviewed and properly tagged type: bug

Comments

@Lao-Ax
Copy link

Lao-Ax commented Jun 10, 2024

Description:

If you post a message like this one: *text:* you will not get a bold text or text with emoji.
I suppose, there is a bug in a PEG grammar: see packages/message-parser/src/grammar.pegjs

Some where between rules Bold and Emoticon. The root of this case is :* - kissing_heart emoticon.

I've thired to figure out how this PEG works, but failed.

Steps to reproduce:

  1. Post a message *text:*

Expected behavior:

There is a bolded text text:

Actual behavior:

There is just a text.
Note: If you post *text :* you will get *text and an emoji.

Server Setup Information:

  • Version of Rocket.Chat Server: 6.9.0 and erlier
  • Operating System: any
  • Deployment Method: any
  • Number of Running Instances: any
  • NodeJS Version: 14.21.3
  • MongoDB Version: 7.3

Client Setup Information

  • Desktop App or Browser Version: any
  • Operating System: any
@royjohnlee
Copy link

royjohnlee commented Jun 10, 2024

does it happen with just post? I'm interested in looking into this and working on it

@Lao-Ax
Copy link
Author

Lao-Ax commented Jun 11, 2024

What do you mean by "just post"?
I meant "type and press submit". When you are editing such a text - there is the same error.

I've tried a banch of strategies and different grammars, but didn't susceed. I have a few tests but every time one of them fails :). Perhaps, it will help to someone.

1 :* // big emoji
2 *bold* // just bold
3 *bold :)* // bold with emoji 1
4 *bold :** // bold with emoji 2
5 *bold:* //  no emoji, just bold text
6 *:) bold* //bold with emoji 1
7 *:* bold* // bold with emoji 2 OR bolded ":"
8 * :) bold* //bold with emoji 1
9 * :* bold* //bold with emoji 2 OR bolded " :"

@reetp
Copy link

reetp commented Jun 11, 2024

Thanks for opening this bug.

I suspect it is also related to this which is being looked at.

Whether it is a Rocket bug or a more generic limitation or parser bug I don't know.

#32544

@reetp reetp added type: bug stat: triaged Issue reviewed and properly tagged labels Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stat: triaged Issue reviewed and properly tagged type: bug
Projects
None yet
Development

No branches or pull requests

3 participants