Skip to content

Merge main into my branch #84662

Merged
stephanieelliott merged 53 commits intoclaude-docsArticlesImprovementsfrom
main
Mar 10, 2026
Merged

Merge main into my branch #84662
stephanieelliott merged 53 commits intoclaude-docsArticlesImprovementsfrom
main

Conversation

@stephanieelliott
Copy link
Contributor

Explanation of Change

Fixed Issues

$
PROPOSAL:

Tests

  • Verify that no errors appear in the JS console

Offline tests

QA Steps

// TODO: These must be filled out, or the issue title must include "[No QA]."

  • Verify that no errors appear in the JS console

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: mWeb Chrome
    • iOS: Native
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
  • 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 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 used JaimeGPT to get English > Spanish translation. I then posted it 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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
    • 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.ts 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 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(theme.componentBG))
  • If new assets were added or existing ones were modified, I verified that:
    • The assets are optimized and compressed (for SVG files, run npm run compress-svg)
    • The assets load correctly across all supported platforms.
  • 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 the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:
    • I verified that all the inputs inside a form are aligned with each other.
    • I added Design label and/or tagged @Expensify/design so the design team can review the changes.
  • 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.
  • I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
  • 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.

Screenshots/Videos

Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari

daledah and others added 30 commits February 5, 2026 01:23
Allows folders that contain other nested folders but no articles
- Add braces around if body in getOrderFromArticleFrontMatter (ESLint curly rule)
- Run Prettier on createDocsRoutes.ts
- Add nil guard before sort in section.html to prevent 'Cannot sort a null object'

Co-authored-by: Stephanie Elliott <stephanieelliott@users.noreply.github.com>
Liquid's `empty` keyword resolves to an empty string, not an empty
array. Replace `| default: empty | sort` with a conditional that
initializes an empty array via `"" | split: ","` and only sorts
when section.articles is present.

Co-authored-by: Stephanie Elliott <stephanieelliott@users.noreply.github.com>
@stephanieelliott stephanieelliott requested a review from a team as a code owner March 10, 2026 02:02
@stephanieelliott stephanieelliott merged commit 8b6dd5e into claude-docsArticlesImprovements Mar 10, 2026
372 of 375 checks passed
@melvin-bot melvin-bot bot removed the request for review from a team March 10, 2026 02:02
@melvin-bot
Copy link

melvin-bot bot commented Mar 10, 2026

Concierge reviewer checklist:

  • I have verified the accuracy of the article
    • The article is within a hub that makes sense, and the navigation is correct
    • All processes, screenshots, and examples align with current product behavior.
    • All links within the doc have been verified for correct destination and functionality.
  • I have verified the readability of the article
    • The article's language is clear, concise, and free of jargon.
    • The grammar, spelling, and punctuation are correct.
    • The article contains at least one image, or that an image is not necessary
  • I have verified the formatting of the article
    • The article has consistent formatting (headings, bullet points, etc.) with other HelpDot articles and that aligns with the HelpDot formatting standards.
    • The article has proper text spacing and breaks for readability.
  • I have verified the article has the appropriate tone and style
    • The article's tone is professional, friendly, and suitable for the target audience.
    • The article's tone, terminology, and voice are consistent throughout.
  • I have verified the overall quality of the article
    • The article is not missing any information, nor does it contain redundant information.
    • The article fully addresses user needs.
  • I have verified that all requested improvements have been addressed

For more detailed instructions on completing this checklist, see How do I review a HelpDot PR as a Concierge Team member?

cc @johncschuster

@melvin-bot
Copy link

melvin-bot bot commented Mar 10, 2026

@carlosmiceli @johncschuster 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]

@melvin-bot melvin-bot bot removed the request for review from a team March 10, 2026 02:02

# Why Is My Report Not Automatically Exporting to NetSuite?

An error is preventing the report from exporting automatically.
Copy link
Contributor

Choose a reason for hiding this comment

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

FAQ structure violation: FAQ questions should use ## (H2) headings, not # (H1). The # heading level should be reserved for the article title and the # FAQ section heading. Each question here (e.g., "Why Is My Report Not Automatically Exporting to NetSuite?") should be ##, and the sub-sections under each question (e.g., "How to Resolve Automatic Export Failures") should be ###.

This applies to all question headings in this file: lines 14, 28, 40, 56, 68, 80, 102, 114, 128, 148, 161, 182, 194.

3. Under **Preferences**, update **Default Payable Account for Expense Reports**.
4. Click **Save**.

## For Non-OneWorld Accounts
Copy link
Contributor

Choose a reason for hiding this comment

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

Readability violation -- duplicate content: This question ("Why Is My Report Exporting as Accounting Approved Instead of Paid in Full?") is essentially the same as the earlier section on line 80 ("Why Are Reports Exporting as 'Accounting Approved' Instead of 'Paid in Full'?"). Having two nearly identical sections is confusing and hurts scannability. Remove this duplicate and, if needed, link back to the earlier section.

@@ -0,0 +1,118 @@
---
Copy link
Contributor

Choose a reason for hiding this comment

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

Readability / organizational violation: This file is a Sync Error article (NS0521-Sync-Error.md) but is placed in the Export-Errors/ directory. This is likely a misplacement -- the same file already exists correctly under Sync-Errors/NS0521-Sync-Error.md and Connection-errors/NS0521-Sync-Error.md. Having it in Export-Errors/ is misleading for readers navigating by category and confuses AI retrieval. Consider removing this file from the Export-Errors folder.

@@ -0,0 +1,120 @@
---
title: NS0921 Export Error in NetSuite Integration
description: Learn what the NS0921 export error means and how to align subsidiaries across reports, users, accounts, tags, and categories in NetSuite.
Copy link
Contributor

Choose a reason for hiding this comment

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

Terminology violation: The description uses "users" ("how to align subsidiaries across reports, users, accounts..."). Per Expensify style guidelines, use "members" instead of "users" when referring to people in Expensify. Consider: "how to align subsidiaries across reports, members, accounts, tags, and categories in NetSuite."

Note: The error message text itself on line 14 also says "user" but since that is a literal error string from NetSuite, it should remain as-is.

Follow the steps below to make the Exchange Rate field visible.

---

Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness violation -- wrong heading levels: "Make the Exchange Rate Field Visible in NetSuite", "Sync the Workspace in Expensify", and "Retry the Export" are sub-steps under "How to Fix the NS0085 Export Error" (line 35) and should use ### (H3) instead of ## (H2). Using the same heading level as the parent section breaks the logical hierarchy and makes it harder for AI systems (and readers) to understand the document structure.

This pattern repeats across nearly all troubleshooting articles in this PR (e.g., NS0005, NS0012, NS0019, NS0021, NS0029, NS0033, NS0034, NS0045, NS0046, NS0055, NS0085, NS0091, NS0109, NS0510, etc.). Consider applying this fix consistently across all files.

---

## Confirm the NetSuite Credentials

Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness violation -- wrong heading levels: "Confirm the NetSuite Credentials" (line 43), "Generate a New NetSuite Access Token" (line 53), "Refresh the NetSuite Connection in the Workspace" (line 65), and "Contact Concierge if the Error Persists" (line 90) are all sub-steps under "How to Fix the NS0109 Sync Error" (line 37). They should use ### (H3) instead of ## (H2) to maintain proper heading hierarchy.

This same heading level issue appears in essentially every troubleshooting article in this PR.

@@ -0,0 +1,115 @@
---
title: NS0228 Sync Error in NetSuite Integration
description: Learn what the NS0228 sync error means and how to assign the Expensify Integration role to a NetSuite user to restore category syncing.
Copy link
Contributor

Choose a reason for hiding this comment

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

Terminology note: This article and its metadata heavily use "user" (e.g., "assigned to a NetSuite user", "role not added to user"). While this is acceptable when referring specifically to a NetSuite user account (since that is the term NetSuite uses), the description field on this line says "assign the Expensify Integration role to a NetSuite user" -- which is correct in context. Just be mindful that in Expensify-facing copy, "member" is preferred over "user" per style guidelines. The NetSuite-specific references here are appropriate.

@@ -0,0 +1,93 @@
---
Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness concern -- duplicate content across categories: This file (NS0109-Sync-Error.md) is identical to Connection-errors/NS0109-Sync-Error.md and a slightly different version exists at Sync-Errors/NS0109-Sync-Error.md. The same pattern applies to NS0123, NS0318, NS0510, NS0565, NS0593, NS0739, and NS0942.

Having near-duplicate articles across multiple directories creates maintenance risk (content can drift out of sync, as already happened with the Sync-Errors version of NS0109 which is different). It also confuses AI retrieval systems that may surface conflicting versions. Consider either:

  1. Keeping each error in only its primary category, or
  2. Using a canonical article with cross-references from other categories.

@github-actions
Copy link
Contributor

HelpDot Documentation Review

Overall Assessment

This PR adds 87 new NetSuite troubleshooting documentation articles organized into four subcategories (Authentication-and-Login-errors, Connection-errors, Export-Errors, Sync-Errors), plus a NetSuite-FAQ.md file. It also refactors createDocsRoutes.ts to support recursive nested sections via buildSection()/flattenSections(), simplifies section.html from 120 lines to 30, adds hub HTML files for certinia/netsuite/quickbooks-desktop troubleshooting, and updates timezone abbreviations in the training article.

The article content is well-written and consistently structured, with clear error descriptions, root causes, and step-by-step fix instructions. However, there are significant organizational issues that must be addressed before merging.

Scores Summary

  • Readability: 8/10 - Articles are clear, well-organized, and written at an appropriate level. Consistent structure across all 87 articles (error description, causes, fix steps, FAQ). The "On web" / "On mobile" platform-specific instructions are thorough. Minor deduction for some articles having lengthy fix procedures that could benefit from clearer prioritization.
  • AI Readiness: 6/10 - Front matter (title, description, keywords, internalScope) is present and well-formed on all articles, following the correct Audience is [role]. Covers [topic]. Does not cover [excluded]. pattern. However, heading hierarchy violations are pervasive (see Key Findings), and 10 articles are duplicated across multiple categories with identical content, which will confuse AI retrieval systems.
  • Style Compliance: 7/10 - Uses correct Expensify terminology (Workspace, Concierge, Workspace Admin). Numbered steps use proper formatting. Bold is used consistently for UI elements. Deductions for heading hierarchy violations and the FAQ structure issues described below.

Key Findings

Critical: 10 articles are duplicated across categories (26 extra copies)

The following error codes appear as identical files in multiple subcategories:

  • NS0109, NS0123, NS0565, NS0593, NS0739, NS0942 -- each duplicated in Authentication-and-Login-errors, Connection-errors, AND Sync-Errors (3 copies each)
  • NS0521 -- duplicated in Connection-errors, Export-Errors, AND Sync-Errors (3 copies each)
  • NS0029, NS0510 -- duplicated in Authentication-and-Login-errors AND Export-Errors (2 copies each)
  • NS0318 -- duplicated in Authentication-and-Login-errors AND Sync-Errors (2 copies)

This means only ~61 of the 87 articles contain unique content. Duplicate articles create maintenance burden and will confuse search/AI systems. Each error code should live in one canonical location. If cross-referencing is needed, consider linking rather than duplicating.

Critical: NS0521-Sync-Error.md is placed inside Export-Errors folder

docs/articles/new-expensify/connections/netsuite/Troubleshooting/Export-Errors/NS0521-Sync-Error.md is a Sync Error article placed in the Export-Errors directory. This is a categorization error.

Critical: Heading hierarchy violations across all articles

  • # FAQ is used as an H1 heading in all 86 individual error articles. FAQ sections should use ## FAQ (H2) since each article already has an H1 title. HelpDot convention requires only one H1 per article.
  • NetSuite-FAQ.md uses H1 (#) for every question (e.g., # Why Is My Report Not Automatically Exporting to NetSuite?). These should all be H2.
  • Several articles use H2 (##) for sub-steps that should be H3 under a parent "How to Fix" section. For example, in NS0510: ## Update the Expensify Connect Bundle in NetSuite and ## Update NetSuite Role Token Permissions appear at the same level as the parent heading instead of as H3 children.
  • NS0056 uses # Additional Fixes by Element as H1 within the article body.
  • NS0885 uses # Fix the NS0885 Export Error for Reimbursable Exports as H1 within the body.

Positive: Consistent article structure

All error articles follow a clean, predictable template:

  1. Front matter with title, description, keywords, internalScope
  2. H1 title with error code
  3. Error message quotation
  4. "Why this happens" section with bullet list of causes
  5. "How to Fix" section with step-by-step instructions (both web and mobile)
  6. FAQ section with common follow-up questions

Positive: Code refactoring is clean

The createDocsRoutes.ts refactoring from hardcoded 2-level nesting to recursive buildSection() is a solid improvement. The flattenSections() utility enables efficient section lookup in section.html. The template simplification from 120 to 30 lines is a meaningful reduction in complexity.

Minor: Training article timezone update

The change from PST/EST/CEST to PDT/EDT/CET in How-to-Access-Expensify-Training.md appears to be a daylight saving time correction, which is appropriate.

Recommendations

  1. [Must Fix] Remove duplicate articles. Each error code should exist in exactly one category. Choose the most appropriate subcategory for each duplicated code (e.g., NS0109 is a login/credential error, so it fits in Authentication-and-Login-errors). Remove the copies from other folders.

  2. [Must Fix] Fix heading hierarchy. Change # FAQ to ## FAQ in all 86 error articles. In NetSuite-FAQ.md, change all question headings from H1 to H2. Ensure sub-steps under "How to Fix" use H3 (###), not H2 (##). Articles should have exactly one H1 heading.

  3. [Must Fix] Move NS0521-Sync-Error.md out of Export-Errors. It should only exist in Sync-Errors and/or Connection-errors, not in Export-Errors.

  4. [Should Fix] Review Authentication-and-Login-errors category contents. This folder currently contains NS0029-Export-Error.md and NS0510-Export-Error.md, which are Export Errors by name. Confirm whether the intent is to cross-list errors that have authentication root causes, or if these are miscategorized.

  5. [Nice to Have] Consider whether the Connection-errors category is necessary. All 7 articles in Connection-errors are duplicates of articles that also exist in Auth or Sync. If the intent is a separate cross-cutting category, the duplicate content should be replaced with links or references.

Files Reviewed

  • .github/scripts/createDocsRoutes.ts -- Clean recursive refactoring; adds buildSection(), flattenSections(), and sections field to Section type. Logic is sound.
  • docs/_includes/section.html -- Simplified from 120 to 30 lines using flatSections lookup. Good improvement.
  • docs/articles/new-expensify/connections/netsuite/Troubleshooting/ -- 87 new .md files + NetSuite-FAQ.md. Content quality is good; organizational issues noted above.
  • docs/articles/new-expensify/getting-started/How-to-Access-Expensify-Training.md -- Minor timezone abbreviation update (PST->PDT, EST->EDT, CEST->CET). Correct.
  • docs/expensify-classic/hubs/connections/ -- 8 new hub HTML files for certinia/netsuite/quickbooks-desktop troubleshooting sections. All use identical {% include section.html %} pattern. Correct.
  • Non-docs code changes (src/ files, CONST, MoneyReportHeader, etc.) -- These appear to be from the main branch merge and are outside the scope of this documentation review.

Note: This review focuses on the documentation changes. The src/ code changes included in this PR appear to come from the main branch merge and are not assessed here.

## Confirm the Expenses Are Company Card Transactions

1. Open the report.
2. Confirm the expenses display the **Card + Lock icon**.
Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness violation -- wrong heading levels: Lines 43, 51, 65, and 79 use ## for sub-steps that logically fall under ## How to Fix the NS0019 Export Error (line 37). These should be ### headings to maintain proper document hierarchy. Compare with NS0005 and NS0029 in this same PR, which correctly use ### for sub-steps under their "Fix" sections.

Follow the steps below to resolve the issue.

---

Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness violation -- wrong heading levels: "Update the Expensify Connect Bundle in NetSuite" (line 43) and "Update NetSuite Role Token Permissions" (line 73) are sub-steps under ## How to Fix the NS0510 Export Error (line 37) and should be ### headings. This is the same inconsistency present in many articles in this PR -- compare with NS0005 and NS0029 which use the correct ### hierarchy for fix sub-steps.


# Additional Fixes by Element

## Element: `line.entity`
Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness violation -- wrong heading level: # Additional Fixes by Element uses H1, but only the article title should use H1. This should be ## Additional Fixes by Element. The sub-headings under it ("line.entity", "entityid", etc.) should then be ### instead of ##.

Also note that this article is missing a # FAQ section, which breaks consistency with all other troubleshooting articles in this PR.

@codecov
Copy link

codecov bot commented Mar 10, 2026

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.

Files with missing lines Coverage Δ
src/CONFIG.ts 83.87% <ø> (ø)
src/CONST/index.ts 94.30% <ø> (ø)
src/ONYXKEYS.ts 100.00% <ø> (ø)
src/SCREENS.ts 100.00% <ø> (ø)
src/components/AmountForm.tsx 0.00% <ø> (ø)
src/components/AnimatedCollapsible/index.tsx 68.96% <100.00%> (-2.01%) ⬇️
src/components/ApproverSelectionList.tsx 0.00% <ø> (ø)
src/components/AvatarWithDisplayName.tsx 83.07% <100.00%> (ø)
src/components/AvatarWithIndicator.tsx 100.00% <ø> (ø)
src/components/Badge.tsx 100.00% <100.00%> (ø)
... and 7 more
... and 491 files with indirect coverage changes

internalScope: Audience is Workspace Admins and Domain Admins using the NetSuite integration. Covers common NetSuite export issues, approval settings, and connection troubleshooting. Does not cover individual NetSuite error codes.
---

# NetSuite FAQ
Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness violation -- missing internalScope: The YAML frontmatter is missing the internalScope field. All articles should include it. Suggested addition:

internalScope: Audience is Workspace Admins and Domain Admins using the NetSuite integration. Covers common NetSuite export issues, approval settings, and connection troubleshooting. Does not cover individual NetSuite error codes.

(This text is already in the internalScope field below -- but double-check that it is actually present in the frontmatter. Based on the diff, internalScope IS present on line 6, so disregard if this was a false positive on my part.)

## Update the Expensify Connect Bundle in NetSuite

First, confirm the bundle is up to date.

Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness violation -- wrong heading levels: "Update the Expensify Connect Bundle in NetSuite" (line 47) and "Update NetSuite Role Token Permissions" (line 80) are sub-steps under "How to Fix the NS0510 Export Error" (line 41) and should use ### instead of ##. This is the same heading hierarchy issue present in the Export-Errors version of this article and many other articles in this PR.


## How to Fix the NS0384 Sync Error

Follow the steps below to confirm token assignment and role permissions.
Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness violation -- wrong heading levels: "Confirm the Access Token Is Assigned to the Expensify Integration Role" (line 37), "Confirm Expensify Integration Role Permissions" (line 50), and "Sync the Workspace" (line 103) are sub-steps under ## How to Fix the NS0384 Sync Error (line 31) and should use ### instead of ##.

Note that this article correctly uses ### for "Required List Permissions" and "Required Setup Permissions" under the "Confirm Expensify Integration Role Permissions" section, which shows the correct hierarchical pattern. But the parent sections themselves need to be demoted from ## to ### as well.

If you see the error:

NS0029 Export Error: Unable to export this report due to an error.

Copy link
Contributor

Choose a reason for hiding this comment

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

Readability suggestion: The error message text on this line is rendered as plain body text, making it hard to distinguish from the surrounding explanatory content. Consider formatting error messages with a blockquote (>) or a code block to make them visually distinct. For example:

> NS0029 Export Error: Unable to export this report due to an error.

This pattern applies to all ~80 troubleshooting articles in this PR. A consistent formatting choice here improves scannability for members who are looking for a specific error string.

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/stephanieelliott in version: 9.3.35-0 🚀

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

@OSBotify
Copy link
Contributor

🚀 Deployed to production by https://github.com/luacmartins in version: 9.3.35-1 🚀

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

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.