Onboarding: capture accounting system name for Other - #96160
Conversation
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
885b7d8 to
62a15bd
Compare
|
FYI :- Failing jest tests are unrelated to this PR. Thanks! |
|
@ahmedGaber93 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 62a15bd735
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@ahmedGaber93 Does this looks good? means on mobile screen our optional text field is displayed under 'None' field. so when user selects 'Other' then he will be unaware about this optional field. So there are possibilites that he can just move forward without mentioning any name not because he dont wants to but may be he is unaware about the field. Though I have followed existing pattern, but I think we should take feedback of designing team. Maybe we can do something like, screen gets auto scrolled when 'Other' is selected so our optional text field gets on screen. WDYT ? 👀 1784147952161917.mp4 |
|
@KJ21-ENG The BE PR BE is deployed to staging, could you please complete checklist and the screenshots? thanks! |
|
@dannymcclain WDYT here #96160 (comment)? |
|
@ahmedGaber93 Sure, On it. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppa.movAndroid: mWeb Chromeaw.moviOS: HybridAppi.moviOS: mWeb Safariiw.movMacOS: Chrome / Safariw.mov |
I think we should either move the |
|
I think we should do this:
|
…arding-other-accounting-system-name # Conflicts: # src/ONYXKEYS.ts # src/libs/actions/Welcome/index.ts # src/pages/OnboardingAccounting/BaseOnboardingAccounting.tsx # src/pages/OnboardingInterestedFeatures/BaseOnboardingInterestedFeatures.tsx # tests/actions/ReportTest.ts
…arding-other-accounting-system-name
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
We will have to wait before proceeding here as confirmation on this might change direction of this PR little bit. |
|
Yep let's send it. |
|
Done in de97514 . Thanks |
|
@flaviadefaria Is it correct for the text input to be optional here, or should it be required? Screen.Recording.2026-08-07.at.6.41.04.PM.mov |
|
@KJ21-ENG Should the input autofocus after selecting "Other"? It doesn't appear to autofocus in your video here: #96160 (comment) |
Oh yeah good shout. I think it should autofocus. |
It should be optional. |
|
Bug: The keyboard hides the input field when it opens. Platforms: Native Android / mWeb safari Screen.Recording.2026-08-07.at.7.25.46.PM.movScreen.Recording.2026-08-07.at.7.37.59.PM.mov |
Screen.Recording.2026-08-10.at.12.48.21.AM.mov |
|
@KJ21-ENG any updates here #96160 (comment)? |
|
Strange, I thought I pushed a commit along with this comment. Apologies here, I am doing it. Thanks. |
|
@ahmedGaber93 Does this look good to you? Screen.Recording.2026-08-12.at.9.06.22.PM.mov |
Looks nice to me even though I'm not who you tagged :) |
|
@KJ21-ENG Thanks for updates.
The bug is fixed on native Android, but it still doesn’t work as expected on mWeb Safari. Are you facing the same issue? Screen.Recording.2026-08-13.at.11.34.02.AM.mov |
|
@ahmedGaber93 Fixed in 0e0b0c1. Root cause: the page’s Screen.Recording.2026-08-13.at.2.46.19.PM.mov |
|
FYI, failing jest test is unrelated to thi PR |
@dubielzyk-expensify haha, is there any way to tag all designe members at once ? something like designing team tag ? as i ofent misses to tag one or other member (though this time i missed to tag any of the designing member) 🤔 |
Again, not the person who was tagged 🤣 but YES! you can use the tag @Expensify/design to summon us all 😁 |
|
Wait, what ? this thing @Expensify/design actually sends you guys notification ? The whole time I was thinking that it does not work simply because when I type it, it doesn't show me suggestions from the dropdown, like it shows for any individual person. 🤣 Thats really cool, @dannymcclain Thanks for the Info It made my work a bit easier to not remember to tag each of you guys individually when I need a design opinion in general. 😃 |
@KJ21-ENG Unfortunately, mentioning teams is not available for contributors. |
Ahh 🫤 |
Explanation of Change
Adds an optional accounting-software name input when an onboarding user selects
Other. The name is stored separately from the existinguserReportedIntegration: 'other'value, trimmed, and sent asuserReportedIntegrationNamewithCreateWorkspaceandCompleteGuidedSetuponly when Connections remains enabled and the name is non-empty.The accounting screen reveals the input without automatically focusing it or forcing the options viewport to scroll. The option grid remains stationary, the top row stays visible, and the responsive card layout does not shift when the content becomes scrollable.
Fixed Issues
$ #93290
PROPOSAL: #93290 (comment)
Tests
Other.Your accounting softwareinput appears below the option grid without automatically receiving focus, moving the cards, clipping the first row, or being hidden behind the fixed Continue footer.Acme Booksand press Continue.CreateWorkspaceandCompleteGuidedSetuprequests keepuserReportedIntegration: 'other'and includeuserReportedIntegrationName: 'Acme Books'.userReportedIntegrationName.Otherand a blank/whitespace-only input. Verify onboarding can continue and neither request includesuserReportedIntegrationName.Otherdoes not jump or force-scroll the options viewport, the first row remains visible, the input remains reachable above the footer, and the option cards retain their widths and spacing. On a genuinely constrained viewport, verify the screen can still be scrolled manually to the input.Offline tests
Other, enterAcme Books, and press Continue.userReportedIntegration: 'other'withuserReportedIntegrationName: 'Acme Books'.QA Steps
Otherand verify theYour accounting softwareinput is fully visible above the footer.Acme Books, continue with Connections enabled, and complete onboarding.userReportedIntegration: 'other'anduserReportedIntegrationName: 'Acme Books'.None, and a blankOtherinput; verifyuserReportedIntegrationNameis omitted in all three cases.Otherdoes not automatically focus the input, jump or force-scroll the options viewport, clip the first row, change the card spacing, or hide the input behind the footer. On a genuinely constrained viewport, verify the input remains reachable through manual scrolling.PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified)Designlabel and/or tagged@Expensify/designso the design team can review the changes.Teststeps.Screenshots/Videos
Android: Native
Screen.Recording.2026-08-05.at.1.26.19.AM.mov
Android: mWeb Chrome
Screen.Recording.2026-08-05.at.2.37.42.AM.mov
iOS: Native
Screen.Recording.2026-08-04.at.11.29.38.PM.mov
iOS: mWeb Safari
Simulator.Screen.Recording.-.iPhone.17.-.2026-08-05.at.02.06.35.mov
MacOS: Chrome / Safari
Screen.Recording.2026-08-04.at.11.29.38.PM.mov