This started with \u202e, which is the RTL force character. In the help command, it results in:
the yay command at the end is in fact \u202eyay, and where the \u202e char is, all the other text is flipped too. But this could happen with other unicode chars as well, like the 0-width space char \u200b. if a command is taught as \u200bcommandname (where \u200b is replaced with the char itself. write copy("\u200b") in the browser console to get it), the command ends up as commandname, but cannot be untrained because of the extra, invisible char.
Obviously, you can't protect against all the chars, but at least taking care of \u202e is important, as it also breaks the help command (refer image)
This started with \u202e, which is the RTL force character. In the help command, it results in:
the
yay
command at the end is in fact\u202eyay
, and where the \u202e char is, all the other text is flipped too. But this could happen with other unicode chars as well, like the 0-width space char \u200b. if a command is taught as\u200bcommandname
(where \u200b is replaced with the char itself. writecopy("\u200b")
in the browser console to get it), the command ends up ascommandname
, but cannot be untrained because of the extra, invisible char.Obviously, you can't protect against all the chars, but at least taking care of \u202e is important, as it also breaks the help command (refer image)