Tracking issue for PR #88581
Context
Cleanup pass across submit-to-destination-visible PRs to conform to coding standards.
Scope
- Remove manual memoization (
useMemo/useCallback/React.memo) from files that compile with React Compiler
- Replace deprecated
InteractionManager.runAfterInteractions with TransitionTracker.runAfterTransitions
- Inline internal render helpers
- Fix magic values
- Align
StaticSearchTypeMenu with the interactive version by passing accountID
- Collapse duplicated deferral logic in
deferOrExecuteWrite
- Fix a
flushedWatchKeys memory leak in deferredLayoutWrite
Tests
- Open the app on a narrow-layout device, navigate to the Search tab
- Switch between Reports, Expenses, and Submit tabs
- Verify that the correct tab is highlighted and results load properly - especially the Submit tab which depends on
accountID for its query hash
- Create a new expense from the global FAB, fill in details, and submit
- After submission, verify the app navigates to the expected destination (report or search) without crashes or console errors
- Verify that draft transactions are cleaned up (no stale drafts in Onyx)
- Open Search, select multiple transactions using long-press, then use "Select All"
- Clear the selection by navigating away and back
- Verify that selection state resets correctly and no stale selections persist
Linked PR
Issue Owner
Current Issue Owner: @ShridharGoel
Tracking issue for PR #88581
Context
Cleanup pass across submit-to-destination-visible PRs to conform to coding standards.
Scope
useMemo/useCallback/React.memo) from files that compile with React CompilerInteractionManager.runAfterInteractionswithTransitionTracker.runAfterTransitionsStaticSearchTypeMenuwith the interactive version by passingaccountIDdeferOrExecuteWriteflushedWatchKeysmemory leak indeferredLayoutWriteTests
accountIDfor its query hashLinked PR
Issue Owner
Current Issue Owner: @ShridharGoel