Repository Analysis

Expensify/App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.

3.3 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of Expensify/App, a TypeScript project with 4,940 GitHub stars. SynthScan v2.0 examined 1,699,825 lines of code across 9485 source files, recording 5211 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 3.3 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

3.3
Adjusted Score
3.3
Raw Score
100%
Time Factor
2026-07-14
Last Push
4.9K
Stars
TypeScript
Language
1.7M
Lines of Code
9.5K
Files
5.2K
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 3HIGH 5MEDIUM 76LOW 5127

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 5211 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers4216 hits · 4115 pts
SeverityFileLineSnippetContext
LOWmetro.config.js16function patchMetroForExpoPackedSourceMaps() {CODE
LOW__mocks__/react-native-safe-area-context.tsx35 function WithSafeAreaInsetsWithRef(props: WithSafeAreaInsetsProps & {ref: ForwardedRef<unknown>}) {CODE
LOW__mocks__/react-native-onyx.ts11function addDelayToConnectCallback(delay: number) {CODE
LOWcontributingGuides/NAVIGATION.md1420function useCustomRootStackNavigatorState({state}: CustomStateHookProps) {CODE
LOWcontributingGuides/NAVIGATION.md1455function useCustomSplitNavigatorState({state}: CustomStateHookProps) {CODE
LOWcontributingGuides/STYLE.md1146 function WithCurrentUserPersonalDetails(props: Omit<TProps, keyof HOCProps>) {CODE
LOWconfig/rsbuild/ModuleInitTimingPlugin.ts13function createTimingRuntimeModule(): InstanceType<typeof rspack.RuntimeModule> {CODE
LOWconfig/rsbuild/rsbuild.common.ts98function mapEnvironmentToLogoSuffix(environmentFile: string): string {CODE
LOW…-local-rules/require-live-region-for-status-updates.js43function getConstRoleValueFromExpression(expression) {CODE
LOW…-local-rules/require-live-region-for-status-updates.js70function getResolvedRolesFromExpression(expression) {CODE
LOW…cal-rules/no-direct-pre-insert-fullscreen-under-rhp.js30function isStaticPreInsertProperty(property, computed) {CODE
LOW…cal-rules/no-direct-pre-insert-fullscreen-under-rhp.js65function isNavigationPreInsertMemberExpression(node, scope, navigationImportBindings) {CODE
LOW…cal-rules/no-direct-pre-insert-fullscreen-under-rhp.js74function isPreInsertFullscreenUnderRHPCall(node, scope, navigationImportBindings) {CODE
LOW…cal-rules/no-direct-pre-insert-fullscreen-under-rhp.js78function getPreInsertAliasFromObjectPatternProperty(property) {CODE
LOWtests/ui/ReportActionComposeTest.tsx68function ReportActionEditMessageContextProviderForReport({children}: PropsWithChildren) {CODE
LOW…sts/ui/IOURequestStepDistanceOdometerSflResumeTest.tsx112function createOdometerTransaction(withImage: boolean): Transaction {CODE
LOW…sts/ui/IOURequestStepDistanceOdometerSflResumeTest.tsx129function createDistanceCreateRoute(): PlatformStackScreenProps<MoneyRequestNavigatorParamList, typeof SCREENS.MONEY_REQUCODE
LOWtests/ui/ReportActionMessageEditLayoutTest.tsx146function ReportActionEditMessageContextProviderForReport({children}: PropsWithChildren) {CODE
LOWtests/ui/ReportActionMessageEditLayoutTest.tsx184async function setReportActionDraftWithMessage(message: string) {CODE
LOWtests/ui/ReportActionMessageEditLayoutTest.tsx194async function clearReportActionDraftsForReport() {CODE
LOWtests/ui/ReportActionMessageEditLayoutTest.tsx200function renderNarrowMessageCompose() {CODE
LOWtests/ui/IOURequestStepHoursTest.tsx65function createPolicyWithTimeTracking(): Policy {CODE
LOWtests/ui/WorkEmailOnboarding.tsx128function MergeIntoAccountAndLoginBlockMerge() {CODE
LOWtests/ui/WorkEmailOnboarding.tsx153function MergeIntoAccountAndLoginSuccessful() {CODE
LOWtests/ui/WorkEmailOnboarding.tsx176function MergeIntoAccountAndLoginRedirectToClassic() {CODE
LOWtests/ui/WorkEmailOnboarding.tsx200function AddWorkEmailShouldValidateFailure() {CODE
LOWtests/ui/WorkEmailOnboarding.tsx223function AddWorkEmailShouldValidate() {CODE
LOWtests/ui/WorkEmailOnboarding.tsx261function AddWorkEmailWithSingleSignOnError() {CODE
LOWtests/ui/InitialSettingsPageTest.tsx76 function MockAccountSwitcherSkeletonView() {CODE
LOWtests/ui/SwitchToExpensifyClassicTest.tsx35function navigateToExpensifyClassicFlow() {CODE
LOWtests/ui/SwitchToExpensifyClassicTest.tsx44function signInAppAndEnterTestFlow(dismissedValue?: boolean): Promise<void> {CODE
LOWtests/ui/LocationPermissionModalTest.tsx99function renderLocationPermissionModal(props: ReturnType<typeof createDefaultProps>) {CODE
LOWtests/ui/LocationPermissionModalTest.tsx110function renderAndroidLocationPermissionModal(props: ReturnType<typeof createDefaultProps>) {CODE
LOWtests/ui/TimeExpenseConfirmationTest.tsx136function createPolicyWithTimeTracking(): Policy {CODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx122function renderAuthScreensInitHandler() {CODE
LOWtests/ui/ChatActionableButtonsTest.tsx23function createConciergeCategoryOptionsAction(options: string[]): ReportAction {CODE
LOWtests/ui/ChatActionableButtonsTest.tsx40function renderChatActionableButtons(action: ReportAction, originalReportID: string | undefined, reportID: string | undeCODE
LOWtests/ui/RecentlyAddedSectionTest.tsx175function renderRecentlyAddedSection() {CODE
LOWtests/ui/ParentNavigationSubtitleTest.tsx53function getMockRootStateWithReportsSplitStack(parentReportID: string, expenseReportID: string) {CODE
LOWtests/ui/MoneyRequestReportPreview.test.tsx101 default: function MockReportPreviewActionButton() {CODE
LOWtests/ui/ReportActionItemMessageEditTest.tsx82function ReportActionEditMessageContextProviderForReport({children}: PropsWithChildren) {CODE
LOWtests/ui/SearchPageTest.tsx89function TestSearchFullscreenNavigator() {CODE
LOWtests/ui/IOURequestStepDistanceOdometerNextSyncTest.tsx144function createOdometerDraftTransaction(): Transaction {CODE
LOWtests/ui/IOURequestStepDistanceOdometerNextSyncTest.tsx166function createDistanceCreateRoute(): PlatformStackScreenProps<MoneyRequestNavigatorParamList, typeof SCREENS.MONEY_REQUCODE
LOWtests/ui/IOURequestStepDistanceTest.tsx206function createDistanceTransaction(overrides?: Partial<Transaction>): Transaction {CODE
LOWtests/ui/ReportActionAvatarsTest.tsx290async function retrieveDataFromAvatarView(props: Parameters<typeof ReportActionAvatars>[0]) {CODE
LOWtests/ui/ReportActionAvatarsTest.tsx312function isSubscriptAvatarRendered({CODE
LOWtests/ui/IOURequestStepDistanceOdometerBackupTest.tsx181function createOdometerTransaction(): Transaction {CODE
LOWtests/ui/IOURequestStepDistanceOdometerBackupTest.tsx203function renderEditFromConfirmationOdometer() {CODE
LOWtests/ui/IOURequestStepDistanceOdometerBackupTest.tsx464 function createDistanceCreateRoute(): PlatformStackScreenProps<MoneyRequestNavigatorParamList, typeof SCREENS.MONEY_CODE
LOWtests/ui/IOURequestStepDistanceOdometerBackupTest.tsx481 function createEmptyOdometerTransaction(): Transaction {CODE
LOWtests/ui/AgentRulesSectionTest.tsx314 function setRuleBotPersonalDetails() {CODE
LOWtests/ui/UnreadIndicatorsTest.tsx62function scrollUpToRevealNewMessagesBadge() {CODE
LOWtests/ui/UnreadIndicatorsTest.tsx83function isNewMessagesBadgeVisible(): boolean {CODE
LOWtests/ui/UnreadIndicatorsTest.tsx101async function navigateToSidebarOptionWithoutAct(index: number): Promise<void> {CODE
LOWtests/ui/UnreadIndicatorsTest.tsx186async function signInAndGetAppWithUnreadChat(): Promise<void> {CODE
LOWtests/ui/components/SettlementButtonTest.tsx186function createPersonalBankAccount(accountNumber = '5678'): BankAccountList {CODE
LOW…s/ui/components/IOURequestStepConfirmationPageTest.tsx171function createPolicyWithTaxAndDistance(): Policy {CODE
LOW…sts/ui/components/OnboardingHelpDropdownButtonTest.tsx58function renderOnboardingHelpDropdownButton(props: {CODE
LOWtests/ui/components/MoneyRequestReceiptViewTest.tsx47 function MockReceiptAlternativeMethods() {CODE
4156 more matches not shown…
Structural Annotation Overuse281 hits · 484 pts
SeverityFileLineSnippetContext
LOWcontributingGuides/HOW_TO_CREATE_A_PLAN.md11## Step 1: Define the problemCOMMENT
LOWcontributingGuides/HOW_TO_CREATE_A_PLAN.md27## Step 2: Workshop the solutionsCOMMENT
LOWcontributingGuides/HOW_TO_CREATE_A_PLAN.md39## Step 3: Write out each problem and solution (P/S statement)COMMENT
LOWcontributingGuides/HOW_TO_CREATE_A_PLAN.md42## Step 4: Propose itCOMMENT
LOWtests/unit/FraudProtectionTest.ts80 // Step 1: BeginSignIn returns account data (no session yet)COMMENT
LOWtests/unit/FraudProtectionTest.ts86 // Step 2: Magic code verified, session is createdCOMMENT
LOWtests/unit/SubscriptionVisibilityTest.ts112 // Step 1: User has a paid workspace — subscriptionPlan is TEAMCOMMENT
LOWtests/unit/SubscriptionVisibilityTest.ts122 // Step 2: User deletes the workspace — subscriptionPlan becomes nullCOMMENT
LOWtests/unit/SubscriptionVisibilityTest.ts129 // Step 3: amountOwed > 0 keeps subscription visibleCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2163 // Step 1: Split into 2 (creates child transactions via creation path)COMMENT
LOWtests/actions/IOUTest/SplitTest.ts2241 // Step 2: Revert to 1 split expense, moving it to a different reportCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2392 // Step 1: Split into 2 child transactionsCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2470 // Step 2: Find the split's transaction thread and add a comment to itCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2512 // Step 3: Revert to 1 split (triggers isReverseSplitOperation)COMMENT
LOWtests/actions/IOUTest/SplitTest.ts2568 // Step 4: Verify the original transaction is restored with correct dataCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2583 // Step 5: Verify the new IOU action for the restored original transactionCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2613 // Step 6: Verify the new transaction thread report existsCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2618 // Step 7: Verify the comment was migrated to the new threadCOMMENT
LOWtests/actions/IOUTest/SplitSelfDMTest.ts468 // Step 1: Create the splitsCOMMENT
LOWtests/actions/IOUTest/SplitSelfDMTest.ts519 // Step 2: Re-fetch allTransactions (now contains the created children)COMMENT
LOWtests/actions/IOUTest/SplitSelfDMTest.ts528 // Step 3: Edit the splits (change amounts)COMMENT
LOW.claude/agents/deploy-blocker-investigator.md47### Step 1: Read the issueCOMMENT
LOW.claude/agents/deploy-blocker-investigator.md60### Step 2: Check StagingDeployCashCOMMENT
LOW.claude/agents/deploy-blocker-investigator.md69### Step 3: Find the causing PRCOMMENT
LOW.claude/agents/deploy-blocker-investigator.md81### Step 4: Verify the causing PRCOMMENT
LOW.claude/agents/deploy-blocker-investigator.md104### Step 5: Determine fix locationCOMMENT
LOW.claude/agents/deploy-blocker-investigator.md111### Step 6: Apply the decision treeCOMMENT
LOW.claude/agents/deploy-blocker-investigator.md115### Step 7: Post comment and update labelsCOMMENT
LOW.claude/agents/deploy-blocker-investigator.md130### Step 8: Assign contributorsCOMMENT
LOW.claude/commands/review-helpdot-pr.md12## Step 1: Inline ReviewCOMMENT
LOW.claude/commands/review-helpdot-pr.md18## Step 2: Summary ReviewCOMMENT
LOWdocs/Hidden/Global-Reimbursement-Singapore.md28# Step 1: Connect Your Singaporean Bank AccountCOMMENT
LOWdocs/Hidden/Global-Reimbursement-Singapore.md39# Step 2: Complete the DocuSign Form and Upload DocumentsCOMMENT
LOWdocs/Hidden/Global-Reimbursement-Singapore.md51# Step 3: Confirm Test PaymentCOMMENT
LOWdocs/Hidden/Global-Reimbursement-Singapore.md57# Step 4: Start Reimbursing InternationallyCOMMENT
LOW…expensify-card/Set-Up-and-Manage-the-Expensify-Card.md27# Step 1: Enable the Expensify CardCOMMENT
LOW…expensify-card/Set-Up-and-Manage-the-Expensify-Card.md38# Step 2: Select a Bank AccountCOMMENT
LOW…expensify-card/Set-Up-and-Manage-the-Expensify-Card.md52# Step 3: Issue Expensify CardsCOMMENT
LOW…rticles/new-expensify/connections/Uber-for-Business.md13## Step 1: Enable Receipt Partners in your WorkspaceCOMMENT
LOW…rticles/new-expensify/connections/Uber-for-Business.md20## Step 2: Connect Uber for BusinessCOMMENT
LOWdocs/articles/new-expensify/connections/Greenhouse.md24## Step 1: Establish the ConnectionCOMMENT
LOWdocs/articles/new-expensify/connections/Greenhouse.md31## Step 2: Create the WebHookCOMMENT
LOWdocs/articles/new-expensify/connections/Greenhouse.md38## Step 3: Create the Custom Candidate FieldCOMMENT
LOW…ons/quickbooks-desktop/Configure-QuickBooks-Desktop.md13# Step 1: Initial ConnectionCOMMENT
LOW…ons/quickbooks-desktop/Configure-QuickBooks-Desktop.md23# Step 2: Configure Import SettingsCOMMENT
LOW…ons/quickbooks-desktop/Configure-QuickBooks-Desktop.md53# Step 3: Configure Export SettingsCOMMENT
LOW…ons/quickbooks-desktop/Configure-QuickBooks-Desktop.md102# Step 4: Configure Advanced SettingsCOMMENT
LOW…ons/quickbooks-desktop/Configure-QuickBooks-Desktop.md122# Step 5: Export ProcessCOMMENT
LOW…sktop/Troubleshooting/Sync-Errors/DESK66-Sync-Error.md91### Step 1: Remove Web ConnectorCOMMENT
LOW…sktop/Troubleshooting/Sync-Errors/DESK66-Sync-Error.md100### Step 2: Disconnect QuickBooks Desktop in the WorkspaceCOMMENT
LOW…sktop/Troubleshooting/Sync-Errors/DESK66-Sync-Error.md111### Step 3: Reboot and Reinstall Web ConnectorCOMMENT
LOW…Troubleshooting/Connection-errors/DESK66-Sync-Error.md91### Step 1: Remove Web ConnectorCOMMENT
LOW…Troubleshooting/Connection-errors/DESK66-Sync-Error.md100### Step 2: Disconnect QuickBooks Desktop in the WorkspaceCOMMENT
LOW…Troubleshooting/Connection-errors/DESK66-Sync-Error.md111### Step 3: Reboot and Reinstall Web ConnectorCOMMENT
LOW…icles/new-expensify/connections/xero/Configure-Xero.md28# Step 1: Set Up Import SettingsCOMMENT
LOW…icles/new-expensify/connections/xero/Configure-Xero.md43# Step 2: Set Up Export SettingsCOMMENT
LOW…icles/new-expensify/connections/xero/Configure-Xero.md63# Step 3: Configure Advanced SettingsCOMMENT
LOW…expensify/connections/xero/Troubleshooting/Xero-FAQ.md78### Step 1: Disconnect in XeroCOMMENT
LOW…expensify/connections/xero/Troubleshooting/Xero-FAQ.md90### Step 2: Reconnect in ExpensifyCOMMENT
LOW…fy/connections/sage-intacct/Connect-to-Sage-Intacct.md85# Step 2: Enable and configure the Time & Expenses moduleCOMMENT
221 more matches not shown…
Fake / Example Data358 hits · 380 pts
SeverityFileLineSnippetContext
LOW__mocks__/reportData/personalDetails.ts56 displayName: 'Jane Doe',CODE
LOWtests/ui/LeaveWorkspaceFlowTest.tsx39const USER_EMAIL = 'user@example.com';CODE
LOWtests/ui/ReportAttachments.tsx62const TEST_USER_LOGIN = 'test@test.com';CODE
LOWtests/ui/ProfilePageTest.tsx106 const email = 'user@example.com';CODE
LOWtests/ui/ProfilePageTest.tsx144 const defaultEmail = 'user@example.com';CODE
LOWtests/ui/ProfilePageTest.tsx538 const customDisplayName = 'John Doe';CODE
LOWtests/ui/ReportActionComposeTest.tsx293 await Onyx.merge(ONYXKEYS.SESSION, {accountID: currentUserAccountID, email: 'test@test.com'});CODE
LOWtests/ui/ReportActionComposeTest.tsx300 owner: 'test@test.com',CODE
LOWtests/ui/ClearReportActionErrorsUITest.tsx32const ACTOR_EMAIL = 'test@test.com';CODE
LOWtests/ui/WorkspaceInviteMessageApproverPageTest.tsx59 const adminEmail = 'admin@example.com';CODE
LOWtests/ui/WorkspaceInviteMessageApproverPageTest.tsx61 const userEmail = 'user@example.com';CODE
LOWtests/ui/BottomTabBarTest.tsx159 email: 'foo@bar.com',CODE
LOWtests/ui/BottomTabBarTest.tsx182 partnerUserID: 'foo@bar.com',CODE
LOWtests/ui/BottomTabBarTest.tsx207 partnerUserID: 'foo@bar.com',CODE
LOWtests/ui/ReportActionsListTest.tsx209 login: 'test@test.com',CODE
LOWtests/ui/AgentsPromoBannersTest.tsx23const USER_EMAIL = 'admin@example.com';CODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx153 await Onyx.merge(ONYXKEYS.SESSION, {accountID: TEST_ACCOUNT_ID, email: 'test@test.com'});CODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx160 expect(subscribeToUserEvents).toHaveBeenCalledWith(TEST_ACCOUNT_ID, 'test@test.com', expect.any(Function), expecCODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx166 await Onyx.merge(ONYXKEYS.SESSION, {accountID: TEST_ACCOUNT_ID, email: 'test@test.com'});CODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx174 expect(subscribeToUserEvents).toHaveBeenCalledWith(TEST_ACCOUNT_ID, 'test@test.com', expect.any(Function), expecCODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx180 await Onyx.merge(ONYXKEYS.SESSION, {accountID: TEST_ACCOUNT_ID, email: 'test@test.com'});CODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx194 await Onyx.merge(ONYXKEYS.SESSION, {accountID: TEST_ACCOUNT_ID, email: 'test@test.com'});CODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx211 await Onyx.merge(ONYXKEYS.SESSION, {accountID: TEST_ACCOUNT_ID, email: 'test@test.com'});CODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx223 await Onyx.merge(ONYXKEYS.SESSION, {accountID: TEST_ACCOUNT_ID, email: 'test@test.com'});CODE
LOWtests/ui/AuthScreensInitHandlerTest.tsx236 await Onyx.merge(ONYXKEYS.SESSION, {accountID: TEST_ACCOUNT_ID, email: 'test@test.com'});CODE
LOWtests/ui/ChatActionableButtonsTest.tsx63 await Onyx.merge(ONYXKEYS.SESSION, {accountID: CURRENT_USER_ACCOUNT_ID, email: 'test@test.com'});CODE
LOWtests/ui/ChatActionableButtonsTest.tsx67 login: 'test@test.com',CODE
LOWtests/ui/IOURequestStepDistanceTest.tsx216 waypoint0: {address: '123 Main St', lat: 40.7128, lng: -74.006, keyForList: 'start_waypoint'},CODE
LOWtests/ui/SessionTest.tsx31const TEST_USER_LOGIN_1 = 'test@test.com';CODE
LOWtests/ui/MoneyRequestViewTest.tsx92const currentUserEmail = 'test@test.com';CODE
LOWtests/ui/ReportActionItemTest.tsx88const actorEmail = 'test@test.com';CODE
LOWtests/ui/ReportActionItemTest.tsx365 const action = createReportAction(CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.ASSIGN_COMPANY_CARD, {email: 'CODE
LOWtests/ui/ReportActionItemTest.tsx374 const action = createReportAction(CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UNASSIGN_COMPANY_CARD, {email:CODE
LOWtests/ui/ReportActionItemTest.tsx1335 policyName: 'Acme Corp',CODE
LOWtests/ui/ReportActionItemTest.tsx1477 email: 'user@example.com',CODE
LOWtests/ui/ReportActionItemTest.tsx2302 originalMessage: {newValue: 'Acme Corp', oldValue: 'Old Corp'},CODE
LOWtests/ui/WalletExpensifyCardPageTest.tsx154 delegate: 'test@test.com',CODE
LOWtests/ui/FlightTripDetailsTest.tsx48 name: 'John Doe',CODE
LOWtests/ui/ReportListItemHeaderTest.tsx73 displayName: 'John Doe',CODE
LOWtests/ui/ReportListItemHeaderTest.tsx167 expect(screen.getByText('John Doe')).toBeOnTheScreen();CODE
LOWtests/ui/ReportListItemHeaderTest.tsx177 expect(screen.queryByText('John Doe')).not.toBeOnTheScreen();CODE
LOWtests/ui/ReportListItemHeaderTest.tsx186 expect(screen.getAllByText('John Doe')).toHaveLength(1);CODE
LOWtests/ui/ReportListItemHeaderTest.tsx203 expect(screen.getByText('John Doe')).toBeOnTheScreen();CODE
LOWtests/ui/ReportListItemHeaderTest.tsx214 expect(screen.getByText('John Doe')).toBeOnTheScreen();CODE
LOWtests/ui/ReportListItemHeaderTest.tsx224 expect(screen.getByText('John Doe')).toBeOnTheScreen();CODE
LOWtests/ui/ReportListItemHeaderTest.tsx233 expect(screen.getAllByText('John Doe')).toHaveLength(1);CODE
LOWtests/ui/ReportListItemHeaderTest.tsx249 expect(screen.getByText('John Doe')).toBeOnTheScreen();CODE
LOWtests/ui/LHNItemsPresence.tsx95const TEST_USER_LOGIN = 'test@test.com';CODE
LOWtests/ui/WorkspaceMembersTest.tsx58 Admin: 'admin@example.com',CODE
LOWtests/ui/WorkspaceMembersTest.tsx60 Member: 'user@example.com',CODE
LOWtests/ui/WorkspaceMembersTest.tsx72 const adminEmail = 'admin@example.com';CODE
LOWtests/ui/WorkspaceMembersTest.tsx76 const userEmail = 'user@example.com';CODE
LOWtests/ui/components/ProductTrainingContextProvider.tsx43const TEST_USER_LOGIN = 'test@test.com';CODE
LOWtests/unit/ReconnectTest.ts50 await Onyx.merge(ONYXKEYS.SESSION, {accountID: 1234, email: 'test@test.com'});CODE
LOWtests/unit/ReconnectTest.ts101 await Onyx.merge(ONYXKEYS.SESSION, {accountID: 1234, email: 'test@test.com'});CODE
LOWtests/unit/ReconnectTest.ts118 await Onyx.merge(ONYXKEYS.SESSION, {accountID: 1234, email: 'test@test.com'});CODE
LOWtests/unit/ReconnectTest.ts136 await Onyx.merge(ONYXKEYS.SESSION, {accountID: 1234, email: 'test@test.com'});CODE
LOWtests/unit/UnreadIndicatorUpdaterTest.ts7const TEST_USER_LOGIN = 'test@test.com';CODE
LOWtests/unit/useCreateReportTest.tsx87 owner: 'test@test.com',CODE
LOWtests/unit/FlaggedExpensesTest.ts12const CURRENT_USER_EMAIL = 'user@example.com';CODE
298 more matches not shown…
Decorative Section Separators65 hits · 213 pts
SeverityFileLineSnippetContext
MEDIUMtests/ui/components/ComposedButton.tsx66 // ── Rendering ──────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx112 // ── ButtonContext ───────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx177 // ── Press handling ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx260 // ── Disabled-state styles ──────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx289 // ── Variant styles ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx318 // ── Size styles ───────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx350 // ── removeBorderRadius ──────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx384 // ── Hover styles ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx417 // ── Accessibility ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx482 // ── Event handlers ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx512 // ── Haptic feedback ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ComposedButton.tsx551 // ── Layout and composition ────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ButtonKeyboardShortcut.tsx10// ── Keyboard-shortcut wiring ───────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ButtonKeyboardShortcut.tsx30// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ButtonKeyboardShortcut.tsx64 // ── Registration ───────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ButtonKeyboardShortcut.tsx76 // ── onPress invocation ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ButtonKeyboardShortcut.tsx116 // ── Shortcut config ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ui/components/ButtonKeyboardShortcut.tsx151 // ── Rendering ──────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/useCreateReportTest.tsx15// ── Mocks ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/useCreateReportTest.tsx76// ── Helpers ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/useCreateReportTest.tsx108// ── Tests ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts240 // ── Case 1: 1:1 DM ─────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts250 // ── Case 2: Group Chat ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts260 // ── Case 3: Policy Expense Chat (not own) ───────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts29// ─── Test Constants ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts63// ─── Pipeline Helper ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts138// ─── Tests ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts289 // ── Case 5: Expense Request ─────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts306 // ── Case 6: Expense Report ──────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts320 // ── Case 7: IOU (multi-sender) ─────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts330 // ── Case 8: IOU (single sender, request) ───────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts341 // ── Case 9: IOU (single sender, send money) ────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts352 // ── Case 10: Workspace Thread ───────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts367 // ── Case 11: Expense Request Thread (with policy) ───────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts406 // ── Case 13: Trip Room ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts421 // ── Case 14: Invoice Room ───────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts435 // ── Case 15: Invoice Report (non-B2B) ───────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts465 // ── Case 16: Archived Expense Report ────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts479 // ── Case 17: Archived Non-Expense Chat ──────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts489 // ── Case 18: With delegate ──────────────────────────────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts508 // ── Case 19: Policy Expense Chat + Task (no parent PEC in Onyx) ─────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts539 // ── Case 12c: Personal task (parent is DM) → SINGLE ──────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts568 // ── Case 21: Delegate skipped for task without chatReportID ──────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts580 // ── Case 22: Delegate applied for task WITH chatReportID ─────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts594 // ── Case 23: Delegate skipped for invoice report ─────────────────COMMENT
MEDIUMtests/unit/LHNAvatarPipelineTest.ts607 // ── Case 24: Delegate applied for chat reports ──────────────────COMMENT
MEDIUMtests/unit/hooks/useOdometerReceiptStitcherTest.tsx15// ─── Mocks ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/hooks/useOdometerReceiptStitcherTest.tsx92// ─── Test helpers ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/hooks/useOdometerReceiptStitcherTest.tsx133// ─── Tests ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/select-device.sh4# ============================================COMMENT
MEDIUMscripts/select-device.sh11# ----------------------COMMENT
MEDIUMscripts/setup-newdot-web-emulators.sh4# =============================================================COMMENT
MEDIUMscripts/setup-newdot-web-emulators.sh12# -----------COMMENT
MEDIUMscripts/setup-newdot-web-emulators.sh20# ----------------------COMMENT
MEDIUMscripts/setup-mapbox-sdk-walkthrough.sh4# ==================================COMMENT
MEDIUMscripts/setup-mapbox-sdk-walkthrough.sh14# -----------COMMENT
MEDIUMscripts/setup-mapbox-sdk.sh4# ===================================================COMMENT
MEDIUMscripts/setup-mapbox-sdk.sh13# -----------COMMENT
MEDIUMscripts/setup-mapbox-sdk.sh19# ----------------------------------------COMMENT
MEDIUMscripts/setup-mapbox-sdk.sh24# -------------------------------------------------------COMMENT
5 more matches not shown…
Over-Commented Block193 hits · 172 pts
SeverityFileLineSnippetContext
LOWpatches/react-navigation/details.md1# `@react-navigation` patchesCOMMENT
LOWtests/ui/IOURequestStepDistanceOdometerBackupTest.tsx261COMMENT
LOWtests/unit/generateTranslationsTest.ts2181 // 2: (empty line)COMMENT
LOWtests/unit/usePersonalDetailSearchSelectorTest.tsx381 expect(result.current.selectedNonExistingOptions.at(0)?.login).toBe('another@gmail.com');COMMENT
LOWtests/unit/CardFeedErrorsDerivedValueTest.ts321 expect(result.cardFeedErrors[cardFeed.feedNameWithDomainID]?.hasFeedErrors).toBe(true);COMMENT
LOWtests/unit/CardFeedErrorsDerivedValueTest.ts341 // workspaceError: 'Workspace connection issue',COMMENT
LOWtests/unit/OnyxUpdateManagerTest.ts261 // Even though there are multiple gaps in the deferred updates, we only want to fetch missing updates once pCOMMENT
LOWtests/unit/OnyxUpdateManagerTest.ts301 // - once for the first fetched missing update (2)COMMENT
LOWtests/unit/OnyxUpdateManagerTest.ts341 // OnyxUpdates.apply should have been called 2 times,COMMENT
LOWios/RCTShareActionHandlerModule.h1//COMMENT
LOWios/NewExpensify-Bridging-Header.h1//COMMENT
LOWios/BridgingFile.swift1//COMMENT
LOWios/SentryNativeSDKManager.m1//COMMENT
LOWios/CertificatePinning.swift1//COMMENT
LOWios/NewExpensify/OriginImageRequestHandler.mm1//COMMENT
LOWios/NewExpensify/RCTBootSplash.mm1#import "RCTBootSplash.h"COMMENT
LOWios/NewExpensify/OriginImageRequestHandler.h1//COMMENT
LOWscripts/android-repackage-app-bundle-and-sign.sh1#!/bin/bashCOMMENT
LOWscripts/stubReactNative.js1// Comprehensive React Native module interceptor for Bun script preload.COMMENT
LOWscripts/select-device.sh1#!/bin/bashCOMMENT
LOWscripts/knip-changed.sh1#!/bin/bashCOMMENT
LOWscripts/validateMobileExpensifySubmodule.sh1#!/bin/bashCOMMENT
LOWscripts/setup-newdot-web-emulators.sh1#!/bin/bashCOMMENT
LOWscripts/setup-newdot-web-emulators.sh21# This script streamlines the process of adding the certificates to both android andCOMMENT
LOWscripts/lint.sh1#!/bin/bashCOMMENT
LOWscripts/setup-mapbox-sdk-walkthrough.sh1#!/bin/bashCOMMENT
LOWscripts/generateCertificatePins.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/setup-mapbox-sdk.sh1#!/bin/bashCOMMENT
LOWscripts/setup-mapbox-sdk.sh21# This file is used in Unix-like systems to store credentials for remote machine access.COMMENT
LOW.github/workflows/deploy.yml121 // push trigger: all pushed commits are in the payloadCOMMENT
LOW.github/scripts/enforceVideoFormats.sh1#!/bin/bashCOMMENT
LOW.github/scripts/enforceVideoFormats.sh21# Non-capturing groups are part of the matching pattern, but not returned in matches.COMMENT
LOW.github/scripts/enforceVideoFormats.sh41 while IFS= read -r MATCH; doCOMMENT
LOW.github/scripts/inject-ci-data.sh1#!/bin/bashCOMMENT
LOW.github/scripts/verifyRedirect.sh1#!/bin/bashCOMMENT
LOW.github/actions/javascript/awaitStagingDeploys/index.js1541// modification, are permitted provided that the following conditionsCOMMENT
LOW.github/actions/javascript/verifySignedCommits/index.js1581//COMMENT
LOW.github/actions/javascript/waitForPreviousRuns/index.js1541// modification, are permitted provided that the following conditionsCOMMENT
LOW.github/actions/javascript/waitForPreviousRuns/index.js8201 // HTTP-network fetch step 12.1.1.3COMMENT
LOW…s/javascript/getPullRequestIncrementalChanges/index.js1581//COMMENT
LOW.github/actions/javascript/reviewerChecklist/index.js1581//COMMENT
LOW.github/actions/javascript/getPreviousVersion/index.js1541// modification, are permitted provided that the following conditionsCOMMENT
LOW.github/actions/javascript/getPreviousVersion/index.js8201 // HTTP-network fetch step 12.1.1.3COMMENT
LOW.github/actions/javascript/failureNotifier/index.js1581//COMMENT
LOW…hub/actions/javascript/reopenIssueWithComment/index.js1541// modification, are permitted provided that the following conditionsCOMMENT
LOW…hub/actions/javascript/reopenIssueWithComment/index.js8201 // HTTP-network fetch step 12.1.1.3COMMENT
LOW…thub/actions/javascript/getPullRequestDetails/index.js1541// modification, are permitted provided that the following conditionsCOMMENT
LOW…thub/actions/javascript/getPullRequestDetails/index.js8201 // HTTP-network fetch step 12.1.1.3COMMENT
LOW.github/actions/javascript/checkDeployBlockers/index.js1541// modification, are permitted provided that the following conditionsCOMMENT
LOW.github/actions/javascript/checkDeployBlockers/index.js8201 // HTTP-network fetch step 12.1.1.3COMMENT
LOW…ithub/actions/javascript/formatCodeCovComment/index.js1581//COMMENT
LOW…b/actions/javascript/getDeployPullRequestList/index.js1581//COMMENT
LOW…actions/javascript/generateHelpPreviewComment/index.js1581//COMMENT
LOW…actions/javascript/markPullRequestsAsDeployed/index.js1581//COMMENT
LOW.github/actions/javascript/getArtifactInfo/index.js1541// modification, are permitted provided that the following conditionsCOMMENT
LOW.github/actions/javascript/getArtifactInfo/index.js8201 // HTTP-network fetch step 12.1.1.3COMMENT
LOW…ithub/actions/javascript/postOrReplaceComment/index.js1581//COMMENT
LOW…ub/actions/javascript/isAuthorizedContributor/index.js1581//COMMENT
LOWmodules/group-ib-fp/ios/ModuleFhpIos-Bridging-Header.h1#import <React/RCTBridgeModule.h>COMMENT
LOW…ulator/GIBMobileSdk.framework/Headers/GIBLogsHandler.h1//COMMENT
133 more matches not shown…
Verbosity Indicators53 hits · 100 pts
SeverityFileLineSnippetContext
LOWtests/unit/FraudProtectionTest.ts80 // Step 1: BeginSignIn returns account data (no session yet)COMMENT
LOWtests/unit/FraudProtectionTest.ts86 // Step 2: Magic code verified, session is createdCOMMENT
LOWtests/unit/SubscriptionVisibilityTest.ts112 // Step 1: User has a paid workspace — subscriptionPlan is TEAMCOMMENT
LOWtests/unit/SubscriptionVisibilityTest.ts122 // Step 2: User deletes the workspace — subscriptionPlan becomes nullCOMMENT
LOWtests/unit/SubscriptionVisibilityTest.ts129 // Step 3: amountOwed > 0 keeps subscription visibleCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2163 // Step 1: Split into 2 (creates child transactions via creation path)COMMENT
LOWtests/actions/IOUTest/SplitTest.ts2241 // Step 2: Revert to 1 split expense, moving it to a different reportCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2392 // Step 1: Split into 2 child transactionsCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2470 // Step 2: Find the split's transaction thread and add a comment to itCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2512 // Step 3: Revert to 1 split (triggers isReverseSplitOperation)COMMENT
LOWtests/actions/IOUTest/SplitTest.ts2568 // Step 4: Verify the original transaction is restored with correct dataCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2583 // Step 5: Verify the new IOU action for the restored original transactionCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2613 // Step 6: Verify the new transaction thread report existsCOMMENT
LOWtests/actions/IOUTest/SplitTest.ts2618 // Step 7: Verify the comment was migrated to the new threadCOMMENT
LOWtests/actions/IOUTest/SplitSelfDMTest.ts468 // Step 1: Create the splitsCOMMENT
LOWtests/actions/IOUTest/SplitSelfDMTest.ts519 // Step 2: Re-fetch allTransactions (now contains the created children)COMMENT
LOWtests/actions/IOUTest/SplitSelfDMTest.ts528 // Step 3: Edit the splits (change amounts)COMMENT
LOWsrc/libs/SearchUIUtils.ts4976 // Date presets come with the equals operator, so we need to check if the value is a date presetCOMMENT
LOWsrc/libs/ValidationUtils.ts331 // so we need to check if it is a valid phone.COMMENT
LOWsrc/libs/ValidationUtils.ts354 // so we need to check if it is a valid phone.COMMENT
LOWsrc/libs/SidebarUtils.ts729 // Step 1: Categorize reportsCOMMENT
LOWsrc/libs/SidebarUtils.ts732 // Step 2: Sort each categoryCOMMENT
LOWsrc/libs/SidebarUtils.ts735 // Step 3: Combine and extract IDsCOMMENT
LOWsrc/libs/CategoryOptionListUtils.ts133 // Step 1: Combine selected and enabled categories for searchingCOMMENT
LOWsrc/libs/CategoryOptionListUtils.ts136 // Step 2: Get search results using tokenizedSearchCOMMENT
LOWsrc/libs/CategoryOptionListUtils.ts143 // Step 3: Deduplicate by name (keep first occurrence, which is likely the selected one if present)COMMENT
LOWsrc/libs/CategoryOptionListUtils.ts153 // Step 4: Re-sort to restore hierarchical groupingCOMMENT
LOWsrc/libs/CategoryOptionListUtils.ts161 // Step 5: Re-apply the isSelected flag (lost during sortCategories)COMMENT
LOWsrc/libs/CategoryOptionListUtils.ts167 // Step 6: Generate the option tree and push the sectionCOMMENT
LOWsrc/libs/PolicyUtils.ts1457 * This gets a "corrected" value for autoReportingFrequency. The purpose of this function is to encapsulate some logic aCOMMENT
LOWsrc/libs/OptionsListUtils/index.ts1594 // Step 1: Pre-filter reports to avoid processing thousandsCOMMENT
LOWsrc/libs/OptionsListUtils/index.ts1600 // Step 2: Sort by lastVisibleActionCreated (most recent first) and limit to top NCOMMENT
LOWsrc/libs/OptionsListUtils/index.ts1604 // Step 3: If search term is present, build report map with ONLY 1:1 DM reportsCOMMENT
LOWsrc/libs/OptionsListUtils/index.ts1630 // Step 4: Process the limited set of reports (performance optimization)COMMENT
LOWsrc/libs/OptionsListUtils/index.ts1667 // Step 5: Process personal details (all of them - needed for search functionality)COMMENT
LOWsrc/libs/Navigation/helpers/useIsSidebarRouteActive.ts29 // To check if the sidebar is active on a narrow layout, we need to check if the focused route is the sidebar routeCOMMENT
LOWsrc/libs/actions/OnyxUpdateManager/utils/index.ts24 * we need to check if there are any gaps between deferred updates.COMMENT
LOWsrc/libs/actions/OnyxUpdateManager/utils/index.ts63 // For any other updates, we need to check if the previousUpdateID of the current update is found in the deferreCOMMENT
LOWsrc/libs/actions/IOU/UpdateMoneyRequest.ts1480 // Step 1: Get the transaction being updatedCOMMENT
LOWsrc/libs/actions/IOU/UpdateMoneyRequest.ts1490 // Step 2: Set any "pending fields" (ones updated while the user was offline) to have error messages in the failureDCOMMENT
LOWsrc/libs/actions/IOU/UpdateMoneyRequest.ts2130 // Step 1: Set any "pending fields" (ones updated while the user was offline) to have error messages in the failureDCOMMENT
LOWsrc/libs/actions/IOU/UpdateMoneyRequest.ts2135 // Step 2: Get all the collections being updatedCOMMENT
LOWsrc/libs/actions/IOU/UpdateMoneyRequest.ts1613 // Step 3: Build the modified expense report actionsCOMMENT
LOWsrc/libs/actions/IOU/UpdateMoneyRequest.ts1688 // Step 4: Compute the IOU total and update the report preview message (and report header) so LHN amount owed is corCOMMENT
LOWsrc/libs/actions/IOU/UpdateMoneyRequest.ts2214 // Step 3: Build the modified expense report actionsCOMMENT
LOWsrc/libs/actions/IOU/UpdateMoneyRequest.ts2254 // Step 4: Update the report preview message (and report header) so LHN amount tracked is correct.COMMENT
LOWsrc/libs/actions/Policy/CopyPolicySettings.ts378 // Step 3: collection keys (categories / tags) — SET-level overwrite with snapshot rollbackCOMMENT
LOWsrc/libs/actions/Policy/CopyPolicySettings.ts428 // Step 4: drive currentStep on the COPY_POLICY_SETTINGS key itself.COMMENT
LOW…/MoneyRequestConfirmationList/sections/ReportField.tsx77 * We need to check if the transaction report exists first in order to prevent the outstanding reports from being usCOMMENT
LOW…/MoneyRequestConfirmationList/sections/ReportField.tsx78 * Also we need to check if transaction report exists in outstanding reports in order to show a correct report name.COMMENT
LOW…components/Search/hooks/useOptimisticSearchTracking.ts110 // Step 1: resolve watch key if not yet available.COMMENT
LOW…components/Search/hooks/useOptimisticSearchTracking.ts119 // Step 2: if the watched transaction is a split parent, swap to child.COMMENT
LOWsrc/hooks/useOriginalReportID.ts68 // In that case, we need to check if the reportActionID belongs to the transaction thread.COMMENT
Redundant / Tautological Comments20 hits · 38 pts
SeverityFileLineSnippetContext
LOWdocs/_plugins/cache_bust_filter.rb15 # Check if the asset type is supportedCOMMENT
LOWscripts/import-cloudflare-certs-into-jdk.sh105 # Check if certificate already existsCOMMENT
LOWscripts/lintChanged.sh18# Check if output is empty or malformedCOMMENT
LOWscripts/shellUtils.sh3# Check if GREEN has already been definedCOMMENT
LOWscripts/shellUtils.sh8# Check if RED has already been definedCOMMENT
LOWscripts/shellUtils.sh13# Check if BLUE has already been definedCOMMENT
LOWscripts/shellUtils.sh18# Check if TITLE has already been definedCOMMENT
LOWscripts/shellUtils.sh23# Check if RESET has already been definedCOMMENT
LOWscripts/setup-mapbox-sdk.sh70# Check if the token was providedCOMMENT
LOWscripts/setup-mapbox-sdk.sh120# Check if gradle.properties exists. If not, create one.COMMENT
LOWscripts/setup-mapbox-sdk.sh125# Check if MAPBOX_DOWNLOADS_TOKEN already exists in the fileCOMMENT
LOWscripts/is-hybrid-app.sh5# Check if jq is installedCOMMENT
LOWscripts/is-hybrid-app.sh18# Check if 'package.json' existsCOMMENT
LOWscripts/is-hybrid-app.sh23 # Check if the 'name' field is 'mobile-expensify'COMMENT
LOWscripts/run-build.sh65# Check if the argument is one of the desired valuesCOMMENT
LOWscripts/run-build.sh77 # Check if this is an Expensify developer with WARP (only they need cert import)COMMENT
LOWscripts/pod-install.sh28# Check if bundle is installedCOMMENT
LOWscripts/pod-install.sh34# Check if jq is installedCOMMENT
LOWscripts/pod-install.sh40# Check if yq is installedCOMMENT
LOW.github/workflows/deploy.yml920 # Check if the release already existsCOMMENT
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICALscripts/utils/OpenAIUtils.ts115 this.client.beta.threads.runs.create(thread.id, {CODE
CRITICALscripts/utils/OpenAIUtils.ts127 run = await this.client.beta.threads.runs.retrieve(run.id, {thread_id: thread.id});CODE
CRITICALscripts/utils/OpenAIUtils.ts136 for await (const message of this.client.beta.threads.messages.list(thread.id)) {CODE
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGHsrc/types/onyx/OriginalMessage.ts1025 /** Whether the updated description was generated by AI */COMMENT
HIGHsrc/libs/ModifiedExpenseMessage.ts347 // Add attribution suffix based on AI-generated descriptionsCOMMENT
HIGHsrc/libs/ModifiedExpenseMessage.ts547 // know the change was AI-generated, fall back to an AI-attributed generic summary soCOMMENT
Self-Referential Comments6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMdocs/_plugins/cache_bust_filter.rb12 # Define a list of supported asset typesCOMMENT
MEDIUMscripts/setup-mapbox-sdk.sh21# This file is used in Unix-like systems to store credentials for remote machine access.COMMENT
MEDIUMscripts/setup-mapbox-sdk.sh45# This function provides a user-friendly error message when the script encounters an error.COMMENT
MEDIUM.github/workflows/finishReleaseCycle.yml100 # Create a new patch version to prep for next release cycleCOMMENT
MEDIUM.github/scripts/createDocsRoutes.ts54const disclaimer = '# This file is auto-generated. Do not edit it directly. Use npm run createDocsRoutes instead.\n';CODE
MEDIUM.github/scripts/printPodspec.rb3# This file is a lightweight port of the `pod ipc spec` command.COMMENT
AI Slop Vocabulary5 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUM…routerExtensions/addRootHistoryRouterExtension.test.ts513 // which was incomplete and caused leak-or-misfire. Key-based pairing is robust to non-RHPCOMMENT
MEDIUMscripts/setup-mapbox-sdk-walkthrough.sh8# This script assists users in setting up the necessary credentials to utilizeCOMMENT
MEDIUMsrc/components/MapView/MapViewImpl.web.tsx32// we utilize a different Mapbox library @rnmapbox/maps tailored for mobile development.COMMENT
MEDIUMsrc/components/MapView/Direction.web.tsx8// we utilize a different Mapbox library @rnmapbox/maps tailored for mobile development.COMMENT
MEDIUMsrc/pages/inbox/report/ReportActionItem.tsx486 // The long term solution will leverage end-to-end encryption and only targeted users will be able to decrypt.COMMENT
AI Response Leakage2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsrc/libs/actions/IOU/MoneyRequestBuilder.ts1516 // I want to clean this up at some point, but it's possible this will live in the code for a while so I've created hCOMMENT
HIGHsrc/libs/actions/IOU/TrackExpense.ts1115 // I want to clean this up at some point, but it's possible this will live in the code for a while so I've created hCOMMENT
Example Usage Blocks6 hits · 11 pts
SeverityFileLineSnippetContext
LOWscripts/setup-newdot-web-emulators.sh24# Usage:COMMENT
LOWscripts/setup-mapbox-sdk-walkthrough.sh19# Usage:COMMENT
LOWscripts/generateCertificatePins.sh15# Usage:COMMENT
LOWscripts/shellUtils.sh133# Usage:COMMENT
LOWscripts/setup-mapbox-sdk.sh34# Usage:COMMENT
LOWsrc/libs/mapChildrenFlat.ts11 * // Usage example:COMMENT