Repository navigation
[No QA] Docs updates for E/A#99995 bulk submit skips blocked reports - #101261
Conversation
Co-authored-by: Krishna Chaitanya <c3024@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
|
@MelvinBot please make these changes to the article and the PR body.
Everything else reflects the current behavior. |
|
|
|
@MelvinBot please make these changes to the article and the PR body.
Everything else reflects the current behavior. |
|
|
|
@MelvinBot please make these changes to the article and the PR body.
Everything else reflects the current behavior. |
|
|
|
@MelvinBot update the PR based on the discussions so far. |
…e note Co-authored-by: Krishna Chaitanya <c3024@users.noreply.github.com>
|
All three changes are in, pushed as 1. Mobile steps — replaced steps 1 and 2 with the single step from Duplicate a Report, and renumbered the rest:
2. No-approval-workflow note — now covers the message as well as the title:
I confirmed that string against 3. PR body — the TODO placeholders and the JS console checkboxes in Tests and QA Steps are replaced with Typography noteThe article uses curly apostrophes throughout ( Two caveats worth flagging:
Once the HelpDot preview redeploys, the updated article will be at the preview link from the earlier deploy comment. |
This comment has been minimized.
This comment has been minimized.
|
@MelvinBot mark the PR as ready for review. |
Concierge reviewer checklist:
For more detailed instructions on completing this checklist, see How do I review a HelpDot PR as a Concierge Team member? |
|
@jliexpensify 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] |
|
Done — the PR is out of draft and ready for review. PullerBear has already picked up the hand-off and requested One thing needs you: the PR Author Checklist in the body is still entirely unchecked. I can't tick those boxes for you — most are human sign-offs about testing on each platform — and Check status on
The spellcheck pass also clears the caveat I flagged on my last comment: I couldn't run Updated preview: Create and Submit Reports — worth a quick read to confirm the mobile step and the extended Mark reports as done note render the way you expect. I still could not verify anything in a browser on this run, so the article content remains checked against the source, |
HelpDot Documentation ReviewOverall AssessmentThis PR documents the new bulk-submit behavior from #99995 in Scores Summary
Key Findings
Recommendations
Files Reviewed
Note: This is a summary review of the diff only. |
| 1. In the navigation tabs on the left, select **Spend**. | ||
| 2. Under **Expense reports**, select **Reports**. | ||
| 3. Select the checkbox on two or more reports you want to submit. | ||
| 4. Select the button that shows how many reports you selected (for example, **2 selected**), then select **Submit**. |
There was a problem hiding this comment.
Vague UI reference: "Select the button that shows how many reports you selected" is descriptive rather than literal. Per the Deterministic Writing and Prohibited Language rules (HELPSITE_NAMING_CONVENTIONS.md), reference the exact UI label. Consider: "Select the selected-count button (for example, 2 selected), then select Submit." Same applies to the mobile step on line 52.
There was a problem hiding this comment.
Fixed in 410a306c, though not with the exact wording suggested.
selected-count button isn't a UI label either, so it would trade one vague reference for another. The button's literal label is N selected — see src/languages/en.ts:4813-4816 (one: '1 selected', other: '${count} selected'). Both steps now reference that label directly:
- Select the X selected button (for example, 2 selected), then select Submit.
- Tap the X selected button (for example, 2 selected), then tap Submit.
This matches the pattern already used in sibling articles — Track-Taxes.md:51 (Click **X selected** in the top-right menu) and Configure-Per-Diem-in-a-workspace.md:57 (the **X selected** dropdown).
|
|
||
| You can select several reports on the **Reports** tab and submit them in one action. | ||
|
|
||
| **On web:** |
There was a problem hiding this comment.
Navigation label convention: The Navigation Instruction Standards (HELPSITE_NAMING_CONVENTIONS.md) specify the labels Web: and Mobile: for separate platform instructions. Consider using **Web:** / **Mobile:** here (and on line 47) instead of **On web:** / **On mobile:** for consistency with the standard.
There was a problem hiding this comment.
Fixed in 410a306c — both labels are now **Web:** and **Mobile:**.
Confirmed against HELPSITE_NAMING_CONVENTIONS.md:105-113, which specifies Web: / Mobile: for separate platform instructions.
Worth flagging for whoever owns the convention: existing articles are split roughly evenly on this, with **On web:** / **On mobile:** actually the more common form today (19 occurrences versus 9 for **Web:** / **Mobile:**). I followed the documented standard here, but the rest of the help site would need a sweep to match.
|
@MelvinBot address the review comments. |
…ected button Co-authored-by: Krishna Chaitanya <c3024@users.noreply.github.com>
|
Both review comments addressed in Platform labels — Vague UI reference — fixed, but not with the reviewer's suggested wording.
That matches the pattern already used in One thing worth a decision from you: the help site is split on the platform-label convention, and Verification caveatsBrowser verification was unavailable on this run, and the repo's lint and spell commands were blocked in this environment, so |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f005b185ae
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| ## How to submit multiple expense reports at once | ||
|
|
||
| You can select several reports on the **Reports** tab and submit them in one action. |
There was a problem hiding this comment.
Scope bulk submission to supported workspace types
This claim also covers free Submit workspaces, but selecting multiple reports when any selected report belongs to a Submit policy hides the Submit action: useSearchBulkActions.ts:2355-2360 permits that policy type only for a single-report selection. Users with two reports from a Submit workspace therefore cannot complete step 4. Add this limitation and direct those users to submit each report individually.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Addressed in c3119f9a — the limitation is real, but I documented it differently than described here, because the stated scope is wrong.
Confirmed: useSearchBulkActions.ts:2355-2358 gates shouldShowSubmitOption on !doSelectedItemsBelongToSubmitPolicy || hasSingleSubmitPolicySelection. doSelectedItemsBelongToSubmitPolicy is a .some(), so one qualifying report in the selection is enough, and the option is omitted from the menu rather than disabled.
Correction: this is not "free Submit workspaces" as a category of workspaces without approvals. isSubmitPolicy is strictly policy?.type === CONST.POLICY.TYPE.SUBMIT, which is 'submit2026' — the free Submit plan. PERSONAL, TEAM, and CORPORATE are unaffected, so a Collect or Control workspace with no approval workflow bulk-submits fine. Writing the caveat as "workspaces without an approval workflow" would have made the article wrong in the other direction, since the article already uses that phrase for the Mark as done label, which is a different predicate entirely.
So the note names the plan and links the existing Use a Free Submit Workspace article:
Note: Reports on a free Submit workspace must be submitted one at a time. If any report in your selection belongs to a Submit workspace, the Submit option does not appear. Submit those reports individually instead.
Plus a matching FAQ entry, Why don’t I see “Submit” when I select multiple reports?, which also covers the !isOffline gate on the same condition.
One note on framing: the restriction predates this work. It came from [Submit] Submit button with manager email prompt take 2, not from Warn about blocked reports when bulk submitting a mixed selection, whose diff does not touch this condition. The reason for the single-report limit is visible at useSearchBulkActions.ts:2423-2454: Submit-plan reports route through a manager-email popover that only handles selectedReports.at(0).
Verified statically only — browser verification was unavailable on this run.
There was a problem hiding this comment.
I think melvin might be getting too much into the weeds here?
|
@MelvinBot check codex comment and address it. |
This comment has been minimized.
This comment has been minimized.
|
Nothing to fix — there is no broken check. Every automated check on this PR passes. The single failure is The failing job logs it plainly: That is an approval gate, not a code or build problem. All five existing reviews on the PR are What it takes to clear it: an approval from an eligible reviewer who isn't an author of the PR. The check will re-run and pass on its own once that lands. I'm not pushing a commit, because no commit can satisfy this check. Full check status
|
Co-authored-by: Krishna Chaitanya <c3024@users.noreply.github.com>
|
Codex found a real gap, but scoped it wrong. Documented it correctly in What Codex got right: selecting 2+ reports hides the bulk Submit option entirely when any selected report is on a Submit-plan workspace, so step 4 is unreachable for those users. What it got wrong: it called this "free Submit workspaces" in the sense of workspaces without approvals. So the article now names the plan and links the existing Use a Free Submit Workspace article:
I also added the FAQ entry Why don’t I see “Submit” when I select multiple reports? covering the same limitation plus the Two things I found while verifying — your call, I did not change themBoth concern the pre-existing Mark as done note you already signed off on, so I left it alone rather than silently reopening approved copy.
Say the word if you want either written up. Worth knowing for the PR framing: this restriction is not new behavior from Warn about blocked reports when bulk submitting a mixed selection — that diff never touches this condition. It came from [Submit] Submit button with manager email prompt take 2 back in June, because Submit-plan reports route through a manager-email popover that only handles one report. Everything above is from reading the source and its tests. Browser verification was unavailable on this run, so I could not watch the menu render for a two-report Submit-workspace selection — that is the one claim a live check would settle. |
|
A preview of your ExpensifyHelp changes have been deployed to https://6ce7f493.helpdot.pages.dev ⚡️ Updated articles: |
|
🚀 Deployed to staging by https://github.com/stephanieelliott in version: 9.4.95-0 🚀
|
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.4.95-4 🚀
|
Explanation of Change
Documents the bulk submit behavior shipped in #99995, which changed how a mixed selection of reports is handled on the Reports tab.
Before that PR, selecting several reports and choosing Submit evaluated the held / pending-card guards against the flattened list of transactions across every selected report, so a single blocked report could silently change the outcome for the whole selection. Now each report is evaluated on its own: submittable reports are submitted, blocked reports are skipped, and a Submit reports window lists the reports that were skipped.
The help site only described this for a single report ("Why can’t I submit a report when all expenses are on hold?"), and never covered submitting several reports at once, so a member who saw the new window had nothing to search for.
Changes, all in
docs/articles/new-expensify/reports-and-expenses/Create-and-Submit-Reports.md:keywordsandinternalScopeto cover the bulk submit workflow.UI labels used here were checked against the live web app (Spend navigation tab, Expense reports section, Reports tab, the selected-count button that reads for example
2 selected) and againstsrc/languages/en.tsfor the window strings (Submit reports,Mark reports as done,These reports couldn't be submitted. Check that expenses aren't held or pending, then try again.,These reports couldn't be marked as done. Check that expenses aren't held or pending, then try again.,Got it).The mobile navigation step (
In the navigation tabs on the bottom, tap **Spend** > **Reports**.) and the long-press selection steps mirror the already-published steps in Duplicate a Report — the narrow Spend page shows a flat tab strip (Reports, Expenses, Drafts) with no Expense reports heading, so the two-step web-style navigation does not apply there.No product code is changed — this is a help site (HelpDot) documentation update only.
Fixed Issues
$ #99995
PROPOSAL:
Tests
Documentation-only change. No tests.
Offline tests
Documentation-only change. There is no offline behavior to test.
QA Steps
Documentation-only change. No tests.
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, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.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
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
@c3024, please review the files changed and confirm they reflect the current behavior. Then post a new comment saying
@MelvinBot mark this PR as ready for review.