alphanodes / additionals

Redmine plugin for easy customization of settings, text and content display by using personal or role-based dashboards (drag&drop), providing wiki macros and act as library for other plugins.
https://www.redmine.org/plugins/additionals
GNU General Public License v2.0
131 stars 43 forks source link

Emojies are being detected inside a URL string, and in the case of Markdown formatting cannot be bypassed #176

Open shiningwild opened 7 months ago

shiningwild commented 7 months ago

Greetings, I'm using a Redmine system set to Markdown text formatting. A Microsoft URL includes characters in the string that are normally for an emoji. Here is an example without any personal information:

https://text.domain.com/:v:/g/personal/persons_email/12345abcd-1234abcd?email=email%40cloud.com&c=123ab

The :v: gets converted to the peace sign hand emoji and results in the following look:

✌️/g/personal/persons_email/12345abcd-1234abcd?email=email%40cloud.com&c=123ab

  1. Trying the URL encoding style does not help e.g. (text)[URL]
  2. Trying escape slash \ does not help.
  3. Trying \
    \
    tags does not help.
  4. Even code highlighting does not help.

We gave up and had to turn off emoji support.

Interestingly, I have tested with Textile text formatting and the fault only occurs with the raw URL. If I use any of the four workarounds I listed above while in Textile formatting the emoji does not appear.

What I have also noticed, in the case of both Textile and Markdown text formatting, the emoji text is detected because it's wrapped with two forward slashes. If I remove either of the forward slashes, the problem does not occur. What I don't know is what is the meaning of the forward slash? Naturally, it's expected that emojies should only appear when their is a space before the first : (colon) and a space after the last : (colon).

Thank you for your help.

Tested with Additionals plugin v3.0.8