-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Closed
Labels
Awaiting PaymentAuto-added when associated PR is deployed to productionAuto-added when associated PR is deployed to productionTaskWeeklyKSv2KSv2
Description
Problem
UserSelectPopup.tsx currently uses the useOptionsList hook from OptionListContextProvider, which causes unnecessary background recalculations on every personal details or reports change.
This is part of a larger effort to remove OptionListContextProvider entirely. See parent issue #82193 for full context.
Solution
Replace useOptionsList with useFilteredOptions following the pattern established in PR #74071 (NewChatPage migration).
Current usage:
- Properties used:
optionsonly - Called with: no arguments
- File:
src/components/Search/FilterDropdowns/UserSelectPopup.tsx
How options are used:
options.reportsandoptions.personalDetailsare passed togetValidOptions()to build the user filter list- Output drives
filterAndOrderOptionsand list rendering - No loading/initialization checks are used (assumes options are always ready)
Migration steps:
- Replace
import {useOptionsList} from '@components/OptionListContextProvider'withimport useFilteredOptions from '@hooks/useFilteredOptions' - Replace
useOptionsList()call withuseFilteredOptions({ enabled: true }) - Since only
optionsis used, handle thenullcase (whenisLoadingis true) -- either show a loading state or default to empty arrays - Update
getValidOptions()call to use the new options shape
Complexity: Simple
Reference PR: #74071
Tests
- Verify the User Select popup in search filter dropdowns works correctly
- Verify user filtering and selection works
- Verify no errors appear in the JS console
- Test on all platforms (iOS, Android, Web, Desktop)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Awaiting PaymentAuto-added when associated PR is deployed to productionAuto-added when associated PR is deployed to productionTaskWeeklyKSv2KSv2