fix: align share Submit flow with core scan flow for self-DM#88185
fix: align share Submit flow with core scan flow for self-DM#88185TaduJR wants to merge 16 commits intoExpensify:mainfrom
Conversation
…ated-automatic/scan-flow-to-native-share-sheet-creation-flow
…ated-automatic/scan-flow-to-native-share-sheet-creation-flow # Conflicts: # Mobile-Expensify # android/app/build.gradle # ios/NewExpensify/Info.plist # ios/NotificationServiceExtension/Info.plist # ios/ShareViewController/Info.plist # package-lock.json # package.json # src/stories/Form.stories.tsx
…ated-automatic/scan-flow-to-native-share-sheet-creation-flow
|
@hoangzinh 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] |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2026-04-17.at.19.54.07.moviOS: HybridAppScreen.Recording.2026-04-17.at.19.47.19.mov |
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.
|
JmillsExpensify
left a comment
There was a problem hiding this comment.
LGTM for product spec.
|
@TaduJR Bug: I selected another report when submit expense, but it still creates expense in the original report Screen.Recording.2026-04-17.at.17.28.51.mov |
Done. Also fixed Submitted and Approved states. But I am seeing Submitted reports getting listed on both IOURequestStepConfirmation and SharePage. Submitting on them submits on difference report if there are two reports one not submitted and one submitted. This behaviour is the same as IOURequestStepConfirmation. Strangely if there is one submitted report the Report section is disabled and writes to New Report. Do you think Submitted Reports getting listed on Reports section/page is a bug on both? cc @JmillsExpensify for viz |
|
Video: iOS-Native.mp4 |
hoangzinh
left a comment
There was a problem hiding this comment.
Minor feedback. Otherwise, LGTM
…ated-automatic/scan-flow-to-native-share-sheet-creation-flow # Conflicts: # src/pages/iou/request/step/IOURequestStepConfirmation.tsx
Explanation of Change
This PR closes three remaining gaps between the native-share Submit flow (
SubmitDetailsPage.tsx) and the core scan flow (IOURequestStepConfirmation.tsx), all of which surfaced on the self-DM track-expense branch introduced by PR #87142.1. Deploy blocker #88131 — Destination report not highlighted
IOURequestStepReportreads the selected report fromtransaction.participants[0].reportID. The share Submit flow settransaction.reportIDviainitMoneyRequestbut never populatedtransaction.participants, soIOURequestStepReportcouldn't resolveselectedReportIDand no row was highlighted. Every other expense creation flow already callssetMoneyRequestParticipantsFromReportbefore navigating to the confirmation screen — this PR adds the same call to the share flow'sinitMoneyRequesteffect.2. Deploy blocker #88150 — Billable / Tax / Attendees lost in self-DM
The
trackExpensecall infinishRequestAndNavigatewas missingbillable,taxCode,taxAmount, andattendeesin itstransactionParams. TherequestMoneybranch already had them; only the self-DM branch was under-wired. Added the missing fields so both branches pass the same transaction data to the backend.Fixed Issues
$ #88131
$ #88150
PROPOSAL:
Tests
Deploy blocker #88131 — Report field destination highlight:
Deploy blocker #88150 — Billable / Tax / Attendees in self-DM:
Billable, and attendees tracking enabled in Rules.Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
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))npm run compress-svg)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-Native.mp4
Android: mWeb Chrome
iOS: Native
iOS-Native.mp4
iOS: mWeb Safari
MacOS: Chrome / Safari