Repository navigation
Closed
Labels
Awaiting PaymentAuto-added when associated PR is deployed to productionAuto-added when associated PR is deployed to productionDailyKSv2KSv2EngineeringExternalAdded to denote the issue can be worked on by a contributorAdded to denote the issue can be worked on by a contributor
Description
Looks similar to this, #57786 but it's come back?
App version:9.1.31 (9.1.31.3)
OS version: iosiOS 18.3.2
Model:iPhone 14
Date:Apr 28, 2025, 7:55:47 AM
Exception in HostFunction: Unhandled JS Exception: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined, stack: getOnboardingInitialPath@386950:39 startOnboardingFlow@386936:85 anonymous@601648:66 processNext@71250:18 _processUpdate@71175:30 anonymous@40356:22 Error: Exception in HostFunction: Unhandled JS Exception: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined, stack: getOnboardingInitialPath@386950:39 startOnboardingFlow@386936:85 anonymous@601648:66 processNext@71250:18 _processUpdate@71175:30 anonymous@40356:22 at validatePathConfig (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:345859:49) at anonymous (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:345871:29) at forEach (native) at validatePathConfig (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:345866:45) at anonymous (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:345871:29) at forEach (native) at validatePathConfig (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:345866:45) at anonymous (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:345871:29) at forEach (native) at validatePathConfig (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:345866:45) at NavigationContainerInner (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:348677:58) at renderWithHooks (/private/var/containers/Bundle/Application/CFBECB19-6DAF-4A05-9B05-2C3BBC539E44/Expensify.app/main.jsbundle:85137:24) at updateForwardRef (/private/var/containers/Bundle/Application/CFBECB19
App version:9.1.30 (9.1.30.4)
OS version: iosiOS 18.3.2
Model:iPhone 15 Pro
Date:Apr 22, 2025, 1:58:06 PM
Exception in HostFunction: Unhandled JS Exception: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined, stack: getOnboardingInitialPath@386866:39 startOnboardingFlow@386852:85 anonymous@601459:66 processNext@71250:18 _processUpdate@71175:30 anonymous@40356:22 Error: Exception in HostFunction: Unhandled JS Exception: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined, stack: getOnboardingInitialPath@386866:39 startOnboardingFlow@386852:85 anonymous@601459:66 processNext@71250:18 _processUpdate@71175:30 anonymous@40356:22 at bailoutOnAlreadyFinishedWork (/private/var/containers/Bundle/Application/63FB44C0-318B-496F-B963-27591FC48B86/Expensify.app/main.jsbundle:86360:61) at attemptEarlyBailoutIfNoScheduledUpdate (/private/var/containers/Bundle/Application/63FB44C0-318B-496F-B963-27591FC48B86/Expensify.app/main.jsbundle:86413:40) at beginWork (/private/var/containers/Bundle/Application/63FB44C0-318B-496F-B963-27591FC48B86/Expensify.app/main.jsbundle:86418:159) at performUnitOfWork (/private/var/containers/Bundle/Application/63FB44C0-318B-496F-B963-27591FC48B86/Expensify.app/main.jsbundle:88005:25) at workLoopSync (/private/var/containers/Bundle/Application/63FB44C0-318B-496F-B963-27591FC48B86/Expensify.app/main.jsbundle:87916:55) at renderRootSync (/private/var/containers/Bundle/Application/63FB44C0-318B-496F-B963-27591FC48B86/Expensify.app/main.jsbundle:87900:19) at performConcurrentWorkOnRoot (/private/var/containers/Bundle/Application/63FB44C0-318B-496F-B963-27591FC48B86/Expensify.app/main.jsbundle:87707:160)
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~021916929894008918195
- Upwork Job ID: 1916929894008918195
- Last Price Increase: 2025-04-28
- Automatic offers:
- nkdengineer | Contributor | 107097092
Issue Owner
Current Issue Owner: @Issue Owner
Current Issue Owner: @NicMendoncaMetadata
Metadata
Labels
Awaiting PaymentAuto-added when associated PR is deployed to productionAuto-added when associated PR is deployed to productionDailyKSv2KSv2EngineeringExternalAdded to denote the issue can be worked on by a contributorAdded to denote the issue can be worked on by a contributor
Activity
melvin-bot commentedon Apr 28, 2025
Job added to Upwork: https://www.upwork.com/jobs/~021916929894008918195
[-]Investigate `facebook::jsi::JSError` crash[/-][+][$250] Investigate `facebook::jsi::JSError` crash[/+]melvin-bot commentedon Apr 28, 2025
Triggered auto assignment to Contributor-plus team member for initial proposal review - @rayane-d (
External)[-][$250] Investigate `facebook::jsi::JSError` crash[/-][+]Investigate iOS crash: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined[/+][-]Investigate iOS crash: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined[/-][+][$250] Investigate iOS crash: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined[/+]melvin-bot commentedon Apr 28, 2025
melvin-bot commentedon Apr 28, 2025
Upwork job price has been updated to $250
samranahm commentedon Apr 28, 2025
Proposal
Please re-state the problem that we are trying to solve in this issue.
TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined
What is the root cause of that problem?
When we call onboardingValues.signupQualifier, onboardingValues itself is undefined at the time we're trying to access it.
This is why we're crashing — we're trying to read a property
signupQualifierof undefinedWhat changes do you think we should make in order to solve the problem?
Here
App/src/libs/actions/Welcome/OnboardingFlow.ts
Line 69 in bd0f3f2
App/src/pages/OnboardingWorkEmail/BaseOnboardingWorkEmail.tsx
Line 48 in bd0f3f2
App/src/pages/OnboardingWorkEmailValidation/BaseOnboardingWorkEmailValidation.tsx
Line 38 in bd0f3f2
we should explicitly check
signupQualifierwith optional chainand on other locations where we use signupQualifier
This way, if onboardingValues is undefined, it will NOT crash, it will just return false.
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
N/A
What alternative solutions did you explore? (Optional)
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.
melvin-bot commentedon Apr 28, 2025
Triggered auto assignment to @srikarparsi (
DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.23 remaining items
[-][$250] Investigate iOS crash: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined[/-][+][Due for payment 2025-05-22] [$250] Investigate iOS crash: TypeError: TaskQueue: Error with task : Cannot read property 'signupQualifier' of undefined[/+]melvin-bot commentedon May 15, 2025
Reviewinglabel has been removed, please complete the "BugZero Checklist".melvin-bot commentedon May 15, 2025
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.45-21 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
If no regressions arise, payment will be issued on 2025-05-22. 🎊
For reference, here are some details about the assignees on this issue:
rayane-d commentedon May 22, 2025
BugZero Checklist:
Bug classification
Source of bug:
Where bug was reported:
Who reported the bug:
The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment: https://github.com/Expensify/App/pull/49586/files#r2101957062
If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A
If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
No regression testing is needed since this can be tested only in the development environment.
melvin-bot commentedon May 22, 2025
Issue is ready for payment but no BZ is assigned. @NicMendonca you are the lucky winner! Please verify the payment summary looks correct and complete the checklist. Thanks!
NicMendonca commentedon May 22, 2025
Payment summary
Contributor: @nkdengineer - $250 paid via UpWork (✅ done!)
Contributor+: @rayane-d - $250 paid via NewDot
rayane-d commentedon May 22, 2025
Requested in ND
garrettmknight commentedon Jun 3, 2025
$250 approved for @rayane-d