The discussion revolves around enabling backslash escaping for emoji shortcuts in Discourse, which currently doesn’t work as expected. Users incapaz and LucasMZReal highlight the inconsistency and poor UX when trying to display raw emoticons like :) without them being converted to emojis. While backticks can be used as a workaround, users argue this is not ideal for general conversation. sam notes the issue stems from the markdown parser consuming escape characters before they can be processed, requiring complex changes to markdown-it. Vitaly acknowledges the problem and opened an upstream issue. However, david clarifies that Discourse uses its own emoji implementation, not markdown-it, making the fix potentially simpler. SKB has begun working on it, though it may be more challenging than anticipated.
When the enable emoji shortcuts setting is enabled emoticons like :) get turned into actual emoji (). However, this can’t be bypassed with a simple backslash before it (\:)). This is inconsistent with other things where escape works, and on Discord, you have a similar setting:
However it is not forced – if I want :-) raw I can just type a backslash before it, and I get what I want.
To bypass it you need to use something like a zero-width character in between, or wrap a letter in angle brackets in the middle since those don’t render, etc. i.e.
:<g>), :)
which causes a bad ux for users who want a bit more freedom with how they write emoji.
I made a post about this on the roblox dev-forum which uses discourse, and I agree, having to always use empty characters, or anything to NOT use an emoji is kind of annoying; Emojis usually make your post a bit more unprofessional, and sometimes you want a little :) but you don’t want a
I hope this gets changed, (“I guess it woudn’t update since it’s open-source and everything;”)
Actually I found this topic because I just stumbled into this inquiry myself (tried to escape a smiley but alas, it turned into an emoji AND swallowed my escape character … the audacity, ahah)
We have an existing bypass for this in backtick, e.g. :-) and :) .. plus code blocks .. not really sure we need even more methods to achieve the same goal?
My point was more of using emoji in actual conversation, and wouldn’t it just be a matter of not rendering the emoji, keeping it as an emoticon if there is a backslash before it ?
`` are for inline code, if you’re not having a programming discussion using code blocks doesn’t make sense. Even if it was it still doesn’t make sense as inline codes are generally used for highlighting a single line of code or for highlighting class/member names and such.
A user in my forum complained about this formatting issue, I’ve disabled emoji autocomplete as the fix for our use case, but since discourse upgraded to markdown-it v13 a while back the issue seemed to persist whereas backslash-escape now works on https://markdown-it.github.io/
Could this be because ember.js is still relying on markdown v12 as indicated here?