Repository navigation
[No QA] Merge Main - #103093
[No QA] Merge Main #103093
Conversation
…mModals [Batch 6] Migrate GPS trip ConfirmModal usages to useConfirmModal
…4-app-policy-draft-leaf Fix import/no-cycle - part 14
…eport-pr1 Part 1 - Remove onyx connect for the key: ONYXKEYS.COLLECTION.REPORT in Parser lib
…is unlocking a locked account Co-authored-by: DylanDylann <DylanDylann@users.noreply.github.com>
Co-authored-by: DylanDylann <DylanDylann@users.noreply.github.com>
After AddWorkEmail switches the login to the work email, going back to the work email screen and resubmitting compared the prefilled email with itself and showed the same-as-signup error. Restore shouldValidate: false instead of resending, and only show the signup-email message for public-domain emails. Co-authored-by: TaduJR <TaduJR@users.noreply.github.com>
…ined An Insights search skips pending writes, so one sent alongside a replayed RequestMoney can be answered before the server saw the expense. Counting pendingAction in the fingerprint moves the counter again once the server clears it, so the chart refetches after the write lands. Joining a workspace brings its members' spend into the chart without changing any local expense, so the refresh key now includes the policy IDs.
…tapping View on growl
…b-focus # Conflicts: # src/ONYXKEYS.ts # src/libs/actions/OnyxDerived/ONYX_DERIVED_VALUES.ts # src/types/onyx/DerivedValues.ts # src/types/onyx/index.ts
…eryByHashOnyxConnect # Conflicts: # src/libs/actions/IOU/index.ts
Co-authored-by: TaduJR <TaduJR@users.noreply.github.com>
Co-authored-by: Aimane Chnaif <aimane-chnaif@users.noreply.github.com>
…pening expense via growl
Classic exports amounts like "299,393.00". Number() returned NaN for these, so the import silently dropped Flag amounts over and Require receipts over. Move the parsing into ImportCategoriesUtils and add tests that import a Classic export row. Co-authored-by: daledah <daledah@users.noreply.github.com>
…tions-when-expenses-selected
An edit marks only the edited field in pendingFields and leaves pendingAction unset, so the previous fix never moved the counter for it. Tested on web: an amount edited offline left the chart at the old total. The fingerprint now tracks whether the expense has any pending write, from either field.
…eryByHashOnyxConnect
…avigation-session-sever-v1
|
Hey! I see that you made changes to our Form component. Make sure to update the docs in FORMS.md accordingly. Cheers! |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
This PR adds a new |
Concierge reviewer checklist:
For more detailed instructions on completing this checklist, see How do I review a HelpDot PR as a Concierge Team member? cc @lschurr |
|
@madmax330 @lschurr One of you needs to 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] |
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: The diff is too large to include in this comment (262KB), so I've created a gist for you: 📋 View the translation diff here 📋 Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
e6f2e1f
into
helpsite-perdiem-control-only
| description: Configure your workspace approval and submission workflows to match your team's needs. | ||
| keywords: [New Expensify, workflows, workflows tabs, submissions, approvals, payments, advanced, approval workflows, delay submission, add approver, connect bank, workspace settings, submission frequency, authorized payer, mark as paid, payer, prevent self-approvals, auto-approve compliant reports, auto-pay approved reports, multiple approval paths, shared approver, forward to different approver] | ||
| internalScope: Audience is Workspace Admins. Covers configuring approval, submission, reimbursement, and advanced report workflows including choosing an authorized payer; does not cover connecting a bank account. | ||
| description: Configure your workspace submission, approval, and payment workflows to match your team's needs. |
There was a problem hiding this comment.
Duplicate YAML frontmatter keys: description, keywords, and internalScope are each defined twice (lines 3-5 and 6-8). YAML frontmatter must contain each metadata key only once (HELP_AUTHORING_GUIDELINES.md Section 3). Remove this duplicate block (lines 6-8) and keep a single description, keywords, and internalScope.
| description: Require report approvals in your Expensify workspace, including setting approval thresholds and over-limit approvers. | ||
| keywords: [New Expensify, approvals, report approvals, approving reports, approval workflow, workspace workflows, approver, final approver, approval chain, approval threshold, approval limit, over-limit approval, report amount limit, dollar limit approver, reassign approver, automatic approver reassignment, change approver workflow, automatic approval, approval audit, category approver, tag approver, category rules, tag rules, invite member to approval workflow, invite new user approval workflow, import workflows, import approval workflows, bulk approval workflows, spreadsheet import, multiple approval paths, multiple approvers, shared approver, audit team approver, forward to different approver, approval path per submitter, edit approvals in Expensify Classic] | ||
| internalScope: Audience is Workspace Admins and People Admins, covers enabling approvals and building default, custom, and multi-path approval workflows in New Expensify, does not cover Category and Tag approver setup or connecting a bank account. | ||
| keywords: [New Expensify, approvals, report approvals, approving reports, approval workflow, workspace workflows, approver, final approver, approval chain, approval threshold, approval limit, over-limit approval, report amount limit, dollar limit approver, remove limit, remove approval limit, reassign approver, automatic approver reassignment, change approver workflow, approval workflow change message, admins room system message, automatic approval, approval audit, category approver, tag approver, category rules, tag rules, invite member to approval workflow, invite new user approval workflow, import workflows, import approval workflows, bulk approval workflows, spreadsheet import] |
There was a problem hiding this comment.
Duplicate YAML keywords key: keywords is defined twice (line 4 and line 6). Metadata keys must appear only once in the frontmatter (HELP_AUTHORING_GUIDELINES.md Section 3). Merge into a single keywords list and remove the duplicate.
| Only the actions available to you appear. **Book travel** appears only when Expensify Travel is enabled on your active workspace, and it opens the same booking tool as the **Book travel** option in the **➕ Create** button. | ||
|
|
||
| Learn how to [enable Expensify Travel on a workspace](/articles/travel/company-setup/Enable-Travel-on-a-Workspace). | ||
| ## How to jump to a domain page using Search |
There was a problem hiding this comment.
Structure/readability: This ## How to jump to a domain page using Search heading immediately follows the previous section's Learn how to... line with no blank line or --- separator between the two sections. Add a blank line (and the --- section divider used between the other sections) before this heading so the sections render correctly and stay scannable.
| --- | ||
|
|
||
| ## What happens after you create an Agent from a template | ||
| ## What Description Dan Does |
There was a problem hiding this comment.
Heading casing + trailing space: Use sentence case to match the other headings in this article (## What TipMaster does, ## What Translator Tess does). Change ## What Description Dan Does to ## What Description Dan does and remove the trailing whitespace.
|
|
||
| If your workspace isn't connected to DualEntry yet, learn how to [connect to DualEntry](/articles/new-expensify/connections/dualentry/Connect-to-DualEntry). | ||
|
|
||
| ## Which DualEntry vendors are available in Expensify |
There was a problem hiding this comment.
Heading rule: Content ## headings must start with an action verb or an approved question word (How, What, Where, Who, Why, When) per HELP_AUTHORING_GUIDELINES.md Section 2. "Which" is not an approved starter. Rephrase, e.g. ## What DualEntry vendors are available in Expensify.
| - Both **Workspace Admins** and **People Admins** can enable and configure Approvals. | ||
|
|
||
| Learn how to [configure Approvals](/articles/new-expensify/workspaces/Add-Approvals). | ||
| Learn how to [enable Approvals](https://help.expensify.com/articles/new-expensify/workspaces/Add-Approvals) and [configure Approvals](/articles/new-expensify/workspaces/Add-Approvals) on your workspace. |
There was a problem hiding this comment.
Link formatting: Cross-links must use relative links, not full URLs (HELP_AUTHORING_GUIDELINES.md Section 7). The enable Approvals link uses a full https://help.expensify.com/... URL. Change it to the relative form /articles/new-expensify/workspaces/Add-Approvals. Also note this line now links the same article twice ("enable Approvals" and "configure Approvals") — consider consolidating to a single link to avoid redundant linking.
| - A company account into a personal account. | ||
| - Two company accounts on private domains. | ||
| - A company account into a personal account while logged in from the personal account. | ||
| - Two company accounts on private domains if both private domains are [verified on Expensify](https://help.expensify.com/articles/new-expensify/domains/Claim-and-Verify-a-Domain). If only one of the private domains is verified, then you can sign into the Expensify account with the verified private domain, then merge the other Expensify account without the verified private domain. |
There was a problem hiding this comment.
Link formatting: Use a relative link instead of a full URL (HELP_AUTHORING_GUIDELINES.md Section 7). Change https://help.expensify.com/articles/new-expensify/domains/Claim-and-Verify-a-Domain to /articles/new-expensify/domains/Claim-and-Verify-a-Domain.
| --- | ||
|
|
||
| ## How to Confirm the Vendor Email in QuickBooks Online | ||
| ## How to Fix the Name Conflict in QuickBooks Online |
There was a problem hiding this comment.
Heading casing: Headings should use sentence case, not Title Case (HELPSITE_NAMING_CONVENTIONS.md / HELP_AUTHORING_GUIDELINES.md heading examples use sentence case). Change ## How to Fix the Name Conflict in QuickBooks Online to ## How to fix the name conflict in QuickBooks Online.
HelpDot Documentation ReviewOverall AssessmentThis is a "Merge Main" PR that brings a large batch of HelpDot updates from main into the helpsite-perdiem-control-only branch. 32 article files changed, ranging from one brand-new article (DualEntry vendor matching) to substantial rewrites (Greenhouse, both ONL583 QuickBooks Online error articles, Agent templates) and many smaller, high-quality additions (bank account validation, approvals, distance rates, NetSuite, Search-driven navigation, travel). Overall quality is high: strong task-based headings, excellent internalScope/keyword metadata, consistent navigation phrasing, proper bold UI labels, and correct three-dots (vertical ellipsis) usage. A handful of merge artifacts and link/heading-casing issues should be cleaned up before publishing. Scores Summary
Key Findings
Recommendations
Files Reviewed
Note: This is a summary review. Scores and findings are based only on the diff against the PR base. |
Explanation of Change
Fixed Issues
$
PROPOSAL:
Tests
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 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