-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[$1000] IOS - iOS app crashes when send message with very long invalid email #21266
Comments
Triggered auto assignment to @tjferriss ( |
Bug0 Triage Checklist (Main S/O)
|
I was not able to reproduce the issue on mobile web. The message was sent as expected. I'm currently not able to access the iOS testflight app. The chat list is not loading. I will try again later. |
@tjferriss Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Job added to Upwork: https://www.upwork.com/jobs/~01d6eba6927987b0dc |
Current assignee @tjferriss is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @allroundexperts ( |
@tjferriss, @allroundexperts Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Still waiting for proposals. |
Hey, @tjferriss @allroundexperts |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Hey, peeps, here's an update on the issue It seems that, more then the length of the email, what's really causing problem is its domain. Upon some investigation, I noticed that the I'll open a Slack convo tomorrow to discuss possible solutions for the issue :) |
@tjferriss, @allroundexperts Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@tjferriss @allroundexperts this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks! |
I wonder if you guys had a change to take a look at this |
I don't think so its related to regex parsing. I think its something else, as it should not work on any device if there's a problem with regex |
Hey @shubham1206agra , thanks for your insight Thanks in advance :) |
merged PR |
PR hit staging yesterday |
The PR has been on production for seven days now, but I don't see the payment comment #23774
@bondydaa can you double check this for me? Then I'll get payments processed in Upworks. |
I'll be paid through ND @tjferriss! |
Requested payment in ND! |
Reviewed the details for @allroundexperts. $1,000 approved for payment in NewDot based on BZ summary above. |
@JmillsExpensify @bondydaa @tjferriss @allroundexperts new test steps:
The cause is that, in iOS, autolink rule has not been parsed, but it's caught by 'maximum regex stack depth reached' Error, so heading1, italic can't be parsed. |
@Antasel I agree, I'm able to reproduce the issue on iOS. |
@tjferriss Thanks for your rechecking. |
Let's keep working on this issue here. @allroundexperts do you agree with the reasoning @Antasel has outlined above? |
I would agree. @eh2077 Can you check the issue here? |
@bondydaa @tjferriss |
📣 @agilejune! 📣
|
ProposalPlease re-state the problem that we are trying to solve in this issue.When some strings are parsed by URL_WEBSITE_REGEX, iOS app crashes. What is the root cause of that problem ?The URL_WEBSITE_REGEX pattern has tld part, which is consisted of possible predefined tlds, which is more than 1500 . What changes do you think we should make in order to solve the problem?To avoid to be checked by a lot tlds, we should replace tlds part with general regex pattern (like We need to add a few tweaks in all related to URL_WEBSITE_REGEX.
The specific changes can be checked in Expensify/expensify-common@main...Antasel:expensify-common:fix-#21266
with above tweaks, we are able to keep original functionality of TLD, and prevent iOS app to cause PS: I can't find getUrlObject(href) function, maybe which has been removed with other PR . |
@tjferriss @bondydaa @allroundexperts |
You can submit a proposal for sure! |
ok, thanks for your reply |
I think the effects described by #21266 (comment) is the expected output of the solution we chose to implement previously. Yes, we just catch the error and give up parsing the bad input(which triggers the error from regex engine) on iOS platform. The root cause of the regex execution error is by design according to facebook/hermes#281 (comment). |
@tjferriss @allroundexperts |
Ah okay so this isn't about iOS still crashing just that iOS still fails to properly parse the "markdown" and the update proposal is potentially a way to help prevent the regex from errorring? I started a thread here about this b/c my regex knowledge isn't the best https://expensify.slack.com/archives/C01GTK53T8Q/p1693868279606089 but if we're able to prevent trying to parse the TLD regex if we don't need to then could be worth while. |
iOS is not crashing since parsing markdown has been wrapped by 'try-catch', but URL_WEBSITE_REGEX with TLD will still causing 'maximum regex depth reached' error which is caught by 'try-catch'. but it makes iOS app stuck for a few seconds, and all rules after autolink rule will not be parsed. |
@bondydaa, @tjferriss, @allroundexperts, @eh2077 Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@bondydaa @allroundexperts |
@bondydaa, @tjferriss, @allroundexperts, @eh2077 Huh... This is 4 days overdue. Who can take care of this? |
After some internal discussion, I think we can close out this issue for now. We don't anticipate this being a real issue for users presently. |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
jaj@asjjssjdjdjdjdjdjjeiwiwiwowkdjdjdieikdjfidekjcjdkekejdcjdkeekcjcdidjjcdkekdiccjdkejdjcjxisdjjdkedncicdjejejcckdsijcjdsodjcicdkejdicdjejajasjjssjdjdjdjdjdjjeiwiwiwowkdjdjdieikdjfisjksksjsjssskssjskskssksksksksskdkddkddkdksskskdkdkdksskskskdkdkdkdkekeekdkddenejeodxkdndekkdjddkeemdjxkdenendkdjddekjcjdkekejdcjdkeekcjcdidjjcdkekdiccjdkejdjcjxisdjjdkedncicdjejejcckdsijcjdsodjcicdkejdicdjejajasjjssjdjdjdjdjdjjeiwiwiwowkdjdjdieikdjfidekjcjdkekejdcjdkeekcjcdidjjcdkekdiccjdkejdjcjxisdjjdkedncicdjejejcckdsijcjdsodjcicdkejdi.cdjd
Expected Result:
iOS app does not crash when send message with very long invalid email
Actual Result:
iOS app crashes when send message with very long invalid email
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.27-6
Reproducible in staging?: y
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
RPReplay_Final1687379650.MP4
Expensify/Expensify Issue URL:
Issue reported by: Situ Chandra Shil
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686758977117659
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: