-
Notifications
You must be signed in to change notification settings - Fork 0
[CORRUPTED] Synthetic Benchmark PR #74112 - Make DebugReportActions use new SelectionList
#26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: base_pr_74112_20251204_6928
Are you sure you want to change the base?
[CORRUPTED] Synthetic Benchmark PR #74112 - Make DebugReportActions use new SelectionList
#26
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||
User description
Benchmark PR Expensify#74112
Type: Corrupted (contains bugs)
Original PR Title: Make
DebugReportActionsuse newSelectionListOriginal PR Description:
Explanation of Change
Fixed Issues
$ Expensify#72970
PROPOSAL:
Tests
Settings->TroubleshootInboxActionstabOffline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
screen-20251105-170746.mp4
Android: mWeb Chrome
iOS: Native
ios.mov
iOS: mWeb Safari
MacOS: Chrome / Safari
web.mov
MacOS: Desktop
Original PR URL: Expensify#74112
PR Type
Enhancement
Description
Migrate
DebugReportActionsfromSelectionListWithSectionsto newSelectionListcomponentAdd
disableAutoFocusoption toTextInputOptionsfor flexible autofocus controlRefactor text input ref handling to use
mergeRefsutility for cleaner ref managementImplement
useFocusEffecthook for proper autofocus timing on navigationUpdate text input change handler to reset focused index on user input
Diagram Walkthrough
File Walkthrough
types.ts
Add disableAutoFocus option and simplify ref typesrc/components/SelectionList/types.ts
disableAutoFocusboolean option toTextInputOptionstypereftype from union of function andRefObjectto onlyRefObjectBaseSelectionList.tsx
Refactor text input ref and focus handlingsrc/components/SelectionList/BaseSelectionList.tsx
handleTextInputRefcallback withfocusTextInputcallback fordirect focus control
object refs
focusTextInputandsetFocusedIndexprops toTextInputcomponentTextInputcomponent props to use new ref and focus handlingapproach
TextInput.tsx
Add useFocusEffect and mergeRefs for autofocus controlsrc/components/SelectionList/components/TextInput.tsx
useFocusEffecthook andmergeRefsutility for improved refmanagement
setFocusedIndexandfocusTextInputprops to component interfaceuseFocusEffecthook to handle autofocus with configurabledisableAutoFocusoptionmergeRefsto merge external ref with internal options refhandleTextInputChangecallback that resets focused index ontext change
DebugReportActions.tsx
Migrate to new SelectionList API with textInputOptionssrc/pages/Debug/Report/DebugReportActions.tsx
SelectionListWithSectionsimport withSelectionListRadioListItemimport path fromSelectionListWithSectionstoSelectionList/ListItemkeyForListproperty to mapped report action itemstextInputOptionsobject withuseMemocontaining searchconfiguration
SelectionListprops to use new API withdata,style, andtextInputOptionssections,textInputValue,textInputLabel,headerMessage,onChangeText