Fix/65612 - Email ID with emoji is allowed to proceed & emoji changes into random alphabets#67023
Conversation
|
@Ollyws I followed your suggestion but it doesn't seem to work for me. I tried both on real device and emulator. I also tested on all platforms and with mobile chrome it always shows regular keyboard instead of email keyboard. This I think is expected because according to the documentation I searched
Then I looked into how Slack handles this. Slack handles it via API instead of directly on the browser. However, it still sends emails in punnycode format:
This means that on Slack BE, we still have to convert back to unicode and parse it. So, I cloned the |
|
@dmkt9, so you're saying that slack blocks the punycode for emojis, but not the punycode for other characters correct? |
|
@Ollyws Yes. That's exactly what I mean. |
|
Hmm given that Slack and most other companies seem to block emoji punycode I don't see the harm in us blocking them either, and I assume as we're blocking e-mail registrations with emojis that we don't want registrations from emoji-domains in general. What do you think @dangrous? |
@Ollyws @dangrous I'm not sure why, so I asked ChatGPT. The answer seems to be related to avoiding the possibility of errors, reducing security risks, and ensuring system compatibility. |
|
yeah i think that's fine for us to block too, if that seems standard! |
|
Do you need anything else on this one @dmkt9 or will we be able to get it into review this week? |
|
@dangrous Thank you for your reminder. In light of this, I’ve created a test branch and would like to invite @Ollyws to review it and share feedback first. Once that’s done, I’ll consult with you before proceeding with the pull request. I believe it’s important to consider both of your perspectives before deciding on the approach for the PR. |
|
Thanks, I'll take a look. |
|
Test branch looks good but I think we only want to block emoji punycode in the domain, also it would be better to use the punycode node module. |
@Ollyws Thanks for your review. The
Yes. That would be great since we have the library available on npm. I will go with that solution and raise a PR. It is okay, right? @Ollyws @dangrous |
|
let me take a look at the library and raise the request to review it before adding, but my guess is that should be fine |
|
oh wait, I think I misunderstood - it looks like we already have the library installed. Since that's the case, yeah I think go ahead with the PR IMO! |
|
@dangrous Oh great, thank you! I'll raise a PR today. |
|
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp01_Android_Native.mp4Android: mWeb Chrome02_Android_Chrome.mp4iOS: HybridApp03_iOS_Native.mp4iOS: mWeb Safari04_iOS_Safari.mp4MacOS: Chrome / Safari05_MacOS_Chrome.mp4MacOS: Desktop06_MacOS_Desktop.mp4 |
|
aw shoot, conflicts - can you merge main please? It's just package-lock |
|
@dangrous Thank you. I've just merged the latest version of main. |
|
@dangrous Hi, I happened to revisit my inbox and saw that this PR might have slipped through the cracks. |
|
hi, yes! sorry - I was OOO. Can you merge main one more time and we can get this done? Thank you! |
|
@dangrous Yes. I just merged the latest main branch. |
|
🚀 Deployed to staging by https://github.com/dangrous in version: 9.2.3-0 🚀
|
|
🚀 Deployed to staging by https://github.com/dangrous in version: 9.2.5-0 🚀
|
|
🚀 Deployed to staging by https://github.com/dangrous in version: 9.2.8-0 🚀
|
|
🚀 Deployed to production by https://github.com/francoisl in version: 9.2.8-4 🚀
|



Explanation of Change
The
punycodelibrary is confirmed to be used here.Fixed Issues
$ #65612
PROPOSAL: #65612 (comment)
Tests
Same as QA Steps
Offline tests
Same as QA Steps
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
android.mweb.chrome.mp4
Android: mWeb Chrome
android.native.mp4
iOS: Native
ios.native.mp4
iOS: mWeb Safari
ios.safari.mp4
MacOS: Chrome / Safari
mac.safari.mp4
MacOS: Desktop
mac.desktop.mp4