Possible site bug: Cannot send PM with moose emoji as the subject
Bringing this up NOT because I'm worried about it, but only because it's very odd and might interest people here:
I've been PMing people for my post in the Game Giveaway topic. For each one, I've just been making the subject of the PM the emoji they selected and nothing else.
I have successfully sent PMs with the following subject lines:
- π¦₯, π¦, π, πΈ, π¦, π, π¦«, π, π», π£, π»ββοΈ, π, π³, π¦, π¦, π
But when I use
- π«
I get the following error message: subject: Length must be between 1 and 200.
The PM fails to send.
I was able to send the PM by appending text to it, sending it with the subject line π« Marvin
(because that's his name), and the PM sent with the subject line Marvin
without the emoji or space.
What's so different about the moose? Is it because he's wanted? π
If anyone wants to test this for themselves, feel free to try it out in a PM to me.
Outdated library on Tildes' end.
I sent you a message with the goose, donkey, and jellyfish (among others serving as controls).
The goose, donkey, and jellyfish are newer emojis, as is the moose. None of them work as subject lines. It has to do with when they were added is my guess.
Emojis for reference
π« Canadian Moose
πͺΏ Canadian Goose
πͺΌ Canadian Jellyfish
π« Canadian Donkey
They are effectively ignored for titles and subjects, so if your title or subject includes only these emojis, then you effectively have a blank title or subject and the system complains.
I believe there is a giant conspiracy against these wonderful Canadian animals.
Some folks might mutter nonsense about Unicode 15, but they just want to distract you from the great Tildes Canadian Animal Emoji conspiracy.
Considering it is a Canadian site, I think the only thing that we can take from this is that Deimos had a bad encounter with our wildlife
Alternate theory:
Marvin is on the run from the law and his fellow Canadian fauna are helping him to evade capture by scrubbing his and their digital footprints.
What weβre seeing here is the work of a highly sophisticated network of wildlife nation-state hackers.
I just looked that up too, it looks like Moose was added in 2022 whereas the ones that work were all added earlier (like the Sloth in 2019).
Did the donkey and jellyfish both not work either?
Yeah, they don't work either. Updated my previous comment to clarify that.
New info: I originally had the title as
Possible site bug: Cannot send PM with π« as the subject
After I posted it, the moose got taken out and it read:
Possible site bug: Cannot send PM with as the subject
I have since edited the title, but it's now looking like π« simply gets removed from titles/subjects for some reason?
What a strange bug! What other emojis cant we use for titles!
Based on https://tildes.net/~test/1osu, avoid emoji added in v14 or later (except ones that use a zero width joiner and existing emoji).
Did a little drilling part way into this. So, I'm supposing it's Tildes' use of the marshmallow Python library. Testing that library's Length function in isolation, it doesn't look like it has any problem detecting the length of the moose emoji (length of 1), as seen here:
If it considered it to have length 0, it would have raised a ValidationError, but it didn't.
So, my hypothesis at this point is that something is stripping the moose emoji out before it gets to the validator. When I test some Tildes-specific code, I don't get the validation error for a string with the moose emoji:
Stopping my debugging here, but I think something's processing the title before it gets to the length check code.
You are correct! Specifically this section is removing our moose friend.
The moose is falling under the
Cn
Unicode category in that function and is being filtered out of the string.While for example our frog friend falls under the
So
category and doesn't get filtered out.I've made an issue for it in GitLab: #831
I suspected it had to do with string sanitation somewhere, so did a quick search. I am guessing that these two functions are responsible.
The
simplify_string
comment already explains what is happening.The
_sanitize_characters
function strips out characters belonging to the "Other" (C) Unicode category, with a few exceptions.And since the python version tildes is running against doesn't include the latest unicode some emojis are filtered out.
I guess the solution is to update python. Or, not sure if this is a thing, import the unicode library from elsewhere as dependency to be more easily updated.
@Wolf_359 ^ Almost correct, outdated python not a library ;)
Dammit @Bauke beating me to the punch :P
That tracks! I'm usually almost correct.
As someone who works in software testing, these types of cases always fascinate me.
https://emojiguide.org/moose
This is like the exact "first customer walks into the bar and asks where the bathroom is" joke.
Who would've ever guessed that a user would send a message with just a moose emoji? Yet, here we are and kfwyre has sent a veritable zoo.
Why don't I ever get bugs like this?
Why don't the people who pay us to customize Microsoft Dynamics 365 for Finance & Operations ever save things with just an emoji in the title field?
Have they no whimsy?
If it's any consolation, Cisco Jabber allows you to put a camel emoji in the title field for a chat - Hump days have never been the same since that discovery
I love seeing random QA in the wild. On a separate note, I was very entertained by your giveaway methods, and I hope to see more eccentric methods in the future. :^)