Skip to content

[No QA] Revise prerequisites for Expensify Card setup#91773

Merged
strepanier03 merged 4 commits into
mainfrom
Christinadobrzyn-patch-1
May 27, 2026
Merged

[No QA] Revise prerequisites for Expensify Card setup#91773
strepanier03 merged 4 commits into
mainfrom
Christinadobrzyn-patch-1

Conversation

@Christinadobrzyn
Copy link
Copy Markdown
Contributor

@Christinadobrzyn Christinadobrzyn commented May 26, 2026

Explanation of Change

Adding a comment under the prerequisites section that you need to have your email as the primary login and not a phone number to setup the cards. Updating on both New Expensify and Classic articles.

Related to - https://github.com/Expensify/Expensify/issues/638775#issuecomment-4549530685

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android / native
    • Android / Chrome
    • iOS / native
    • iOS / Safari
    • MacOS / Chrome / Safari
    • MacOS / Desktop
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I followed proper code patterns (see Reviewing the code)
    • I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
    • I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
      • If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:
    • I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
    • I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
    • I verified the JSDocs style guidelines (in STYLE.md) were followed
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I followed the guidelines as stated in the Review Guidelines
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
  • I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
  • I verified that if a function's arguments changed that all usages have also been updated correctly
  • If a new component is created I verified that:
    • A similar component doesn't exist in the codebase
    • All props are defined accurately and each prop has a /** comment above it */
    • The file is named correctly
    • The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
    • The only data being stored in the state is data necessary for rendering and nothing else
    • If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
    • For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
    • Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
    • All JSX used for rendering exists in the render method
    • The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions
  • If any new file was added I verified that:
    • The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
  • I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Updated prerequisites for setting up the Expensify Card to include company domain requirement.

Tracking - Expensify/Expensify#638775 (comment)
@Christinadobrzyn Christinadobrzyn requested review from a team and strepanier03 May 26, 2026 22:33
@Christinadobrzyn Christinadobrzyn self-assigned this May 26, 2026
@melvin-bot melvin-bot Bot removed the request for review from a team May 26, 2026 22:33
@Christinadobrzyn Christinadobrzyn removed the request for review from stephanieelliott May 26, 2026 22:33
Added a link to the guide for updating the primary login email.
@github-actions github-actions Bot changed the title Revise prerequisites for Expensify Card setup [No QA] Revise prerequisites for Expensify Card setup May 26, 2026
@OSBotify

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

HelpDot Documentation Review

Overall Assessment

This PR adds a new prerequisite to the Expensify Card setup article, requiring that the user's primary login be an email associated with their company's domain. The change converts a single-line prerequisites statement into a numbered list of two items, improving scannability. The addition is small and informative, but contains two governance violations that should be addressed before merging.

Scores Summary

  • Readability: 8/10 - Converting prerequisites from a single sentence to a numbered list improves scannability. The new item is clear and actionable. Minor deduction: the anchor text "updating your login" could be more descriptive per authoring guidelines.
  • AI Readiness: 7/10 - The new content adds useful prerequisite detail that helps AI retrieval understand the requirements for Expensify Card setup. However, the use of full URLs rather than relative links is a governance violation that can affect link resolution in retrieval systems.
  • Style Compliance: 6/10 - Two clear governance violations are present in the changed lines: (1) full URLs are used instead of relative links, and (2) links are placed inside numbered step instructions. Both are explicitly prohibited by HELP_AUTHORING_GUIDELINES.md Section 7 (Link Formatting). The term "workspace admin" in the existing prerequisite (carried forward in the diff) should also be "Workspace Admin" to match UI terminology, but since that text was not modified in this PR, it is not scored.

Key Findings

  • Full URLs instead of relative links: Both prerequisite items use absolute URLs (e.g., https://help.expensify.com/articles/new-expensify/...). Per HELP_AUTHORING_GUIDELINES.md Section 7 - Link Formatting: "Use relative links only. Do not use full URLs." These should be converted to relative paths such as /articles/new-expensify/settings/Update-Email-Address and /articles/new-expensify/wallet-and-payments/Connect-a-Business-Bank-Account.
  • Links inside numbered instructions: The guidelines state: "Do not place links inside numbered step instructions. Do not interrupt procedural flow with inline links." Both numbered prerequisites contain inline links. The links should be moved outside the numbered list, for example into a sentence following the list or into a "Related articles" reference.
  • Anchor text could be more descriptive: "See this guide on [updating your login]" is acceptable but could be improved to follow the recommended pattern more closely, e.g., "Learn how to update your primary login email."
  • Positive: The content itself is accurate and useful -- adding the company domain email prerequisite is a meaningful improvement that will prevent user confusion during Expensify Card setup.

Recommendations

  1. Required: Convert both full URLs to relative links (remove https://help.expensify.com prefix).
  2. Required: Move cross-links outside of the numbered prerequisite items to comply with the "no links inside numbered steps" rule. Consider placing the links in a follow-up sentence or note block after the numbered list.
  3. Suggested: Improve anchor text to use a more descriptive, task-based format (e.g., "learn how to update your primary login email" instead of "updating your login").

Files Reviewed

  • docs/articles/new-expensify/expensify-card/Set-Up-and-Manage-the-Expensify-Card.md - Two prerequisite items added; contains link formatting violations that need correction.

Note: This review assessed only the proposed changes in the diff, not pre-existing content in the file.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1d281dadf6

ℹ️ 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".

@OSBotify

This comment has been minimized.

@strepanier03
Copy link
Copy Markdown
Contributor

@Christinadobrzyn - Do you want to commit the changes suggested by MelvinBot above? If I do it, then we'll need a third person to merge since the last committer can't merge.

Once you do feel free to let me know 1:1 and I can action right away.

Christinadobrzyn and others added 2 commits May 27, 2026 11:43
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…he-Expensify-Card.md

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@OSBotify
Copy link
Copy Markdown
Contributor

A preview of your ExpensifyHelp changes have been deployed to https://b2951374.helpdot.pages.dev ⚡️

Updated articles:

Copy link
Copy Markdown
Contributor

@strepanier03 strepanier03 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed the changes and the build, both are solid.

@strepanier03 strepanier03 merged commit 78208cc into main May 27, 2026
17 checks passed
@strepanier03 strepanier03 deleted the Christinadobrzyn-patch-1 branch May 27, 2026 18:44
@melvin-bot melvin-bot Bot added the Emergency label May 27, 2026
@melvin-bot
Copy link
Copy Markdown

melvin-bot Bot commented May 27, 2026

@strepanier03 looks like this was merged without a test passing. Please add a note explaining why this was done and remove the Emergency label if this is not an emergency.

Comment on lines +20 to +21
1. Your primary login must be an email associated with your company's domain. See this guide on [updating your login](/articles/new-expensify/settings/Update-Email-Address).
2. You must be a Workspace Admin and have a U.S. business bank account connected to Expensify. See this guide on [connecting a business bank account](/articles/new-expensify/wallet-and-payments/Connect-a-Business-Bank-Account).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cross-link placement violation: Per HELP_AUTHORING_GUIDELINES.md Section 7 ("Link Formatting"), links must not be placed inside numbered step instructions: "Do not place links inside numbered step instructions. Do not interrupt procedural flow with inline links."

These prerequisites are formatted as a numbered list with inline links, which violates this rule. Consider restructuring so the links appear after the numbered list, for example:

**Prerequisites:** 
1. Your primary login must be an email associated with your company's domain.
2. You must be a Workspace Admin and have a U.S. business bank account connected to Expensify.

Learn how to [update your email address](/articles/new-expensify/settings/Update-Email-Address) or [connect a business bank account](/articles/new-expensify/wallet-and-payments/Connect-a-Business-Bank-Account).


**Prerequisites:** You must be a workspace admin and have a U.S. business bank account connected to Expensify. See this guide on [connecting a business bank account](https://help.expensify.com/articles/new-expensify/wallet-and-payments/Connect-a-Business-Bank-Account).
**Prerequisites:**
1. Your primary login must be an email associated with your company's domain. See this guide on [updating your login](/articles/new-expensify/settings/Update-Email-Address).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anchor text violation: Per HELP_AUTHORING_GUIDELINES.md Section 7 ("Anchor Text Rules"), avoid vague anchors like "this guide" or "this article." Use descriptive task-based formats instead.

"See this guide on [updating your login]" should use a clearer pattern such as:

  • "Learn how to [update your email address]"

This also applies to line 21: "See this guide on [connecting a business bank account]" should become something like "Learn how to [connect a business bank account]".

@github-actions
Copy link
Copy Markdown
Contributor

HelpDot Documentation Review

Overall Assessment

This PR adds a new prerequisite (primary login must be a company domain email) and reformats the prerequisites section from a single-line paragraph into a numbered list. It also converts an absolute URL to a relative link, which is a positive compliance fix.

Scores Summary

  • Readability: 8/10 - The numbered prerequisite list is clearer and more scannable than the previous single-line format. Content is concise and actionable.
  • AI Readiness: 8/10 - No metadata or heading changes in this diff; the new content uses proper feature names and clear language that supports retrieval.
  • Style Compliance: 6/10 - Two issues: (1) anchor text does not follow the recommended descriptive format, and (2) links are placed inside numbered items, which conflicts with cross-linking placement rules.

Key Findings

Positive changes:

  • Converting the absolute URL (https://help.expensify.com/articles/...) to a relative link (/articles/...) aligns with the cross-linking standard: "Use relative links only. Do not use full URLs."
  • "Workspace Admin" capitalization is correct per UI terminology.
  • The new prerequisite about company domain email adds useful clarity for users.
  • The numbered list format improves scannability over the previous inline paragraph.

Issues to address:

  1. Anchor text format (Style Compliance): The governance states anchor text should use descriptive formats such as "Learn how to [complete task]" or "Learn more about [Feature Name]." The current anchors read:

    • "See this guide on [updating your login]" -- should be closer to "Learn how to [update your primary login email]"
    • "See this guide on [connecting a business bank account]" -- should be closer to "Learn how to [connect a business bank account]"
      The phrase "See this guide on" combined with the linked text is functional but does not match the recommended pattern. Additionally, "updating your login" is vague -- it should reference the specific task more precisely (e.g., "update your email address").
  2. Links inside numbered items (Cross-Linking): The governance states: "Do not place links inside numbered step instructions. Do not interrupt procedural flow with inline links." While these are prerequisites rather than procedural steps, the numbered format makes them read like steps. Consider placing the links after the numbered list or restructuring as a non-numbered block to avoid ambiguity.

  3. Trailing whitespace: Line 19 (**Prerequisites:**) and line 20 (after the link) appear to have trailing whitespace. While minor, this can cause rendering inconsistencies.

Recommendations

  1. Revise anchor text to match the governance-recommended format. For example:
  2. Consider restructuring the prerequisites as bullet points rather than numbered items, since they are not sequential steps. This avoids the "links inside numbered step instructions" concern and better reflects that both prerequisites must be met independently.
  3. Remove trailing whitespace on the affected lines.

Files Reviewed

  • docs/articles/new-expensify/expensify-card/Set-Up-and-Manage-the-Expensify-Card.md - Prerequisites section revised with new requirement and formatting improvements; anchor text and link placement need minor adjustments for full governance compliance.

Note: This review covers only the proposed changes in the diff, not pre-existing content in the file.

@OSBotify
Copy link
Copy Markdown
Contributor

🚀 Deployed to staging by https://github.com/strepanier03 in version: 9.3.89-1 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

Bundle Size Analysis (Sentry):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants