Skip to content

Commit 2037d4a

Browse files
committed
fix(perps): restore PerpsConnectionProvider in ExploreSearchScreen and UrlAutocomplete
useSectionsData (called by useExploreSearch → ExploreSearchResults) invokes SECTIONS_CONFIG.perps.useSectionData which reads useContext(PerpsConnectionContext). ExploreSearchScreen and UrlAutocomplete both render ExploreSearchResults but had their PerpsConnectionProvider removed, leaving the context null and making perps error-state handling dead code. Restores PerpsConnectionProvider with suppressErrorView and manageLifecycle={false} (context-only, lifecycle stays with PerpsAlwaysOnProvider).
1 parent 9433951 commit 2037d4a

2 files changed

Lines changed: 21 additions & 15 deletions

File tree

app/components/UI/UrlAutocomplete/index.tsx

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ import type { TrendingAsset } from '@metamask/assets-controllers';
5454
import { type PerpsMarketData } from '@metamask/perps-controller';
5555
import type { PredictMarket } from '../Predict/types';
5656
import { selectBasicFunctionalityEnabled } from '../../../selectors/settings';
57+
import { PerpsConnectionProvider } from '../Perps/providers/PerpsConnectionProvider';
5758
import { PerpsStreamProvider } from '../Perps/providers/PerpsStreamManager';
5859
import { isCaipChainId, parseCaipChainId, type Hex } from '@metamask/utils';
5960
import { NATIVE_SWAPS_TOKEN_ADDRESS } from '../../../constants/bridge';
@@ -182,7 +183,7 @@ interface SearchContentProps {
182183

183184
/**
184185
* Inner component that uses omni-search hook
185-
* Must be rendered inside PerpsStreamProvider
186+
* Must be rendered inside PerpsConnectionProvider and PerpsStreamProvider
186187
*/
187188
const SearchContent: React.FC<SearchContentProps> = ({
188189
searchQuery,
@@ -620,17 +621,19 @@ const UrlAutocomplete = forwardRef<
620621
keyboardVerticalOffset={100}
621622
>
622623
{isSearchMode ? (
623-
// Search mode: wrap with PerpsStreamProvider for omni-search
624-
<PerpsStreamProvider>
625-
<SearchContent
626-
searchQuery={searchQuery}
627-
browserHistory={browserHistory}
628-
bookmarks={bookmarks}
629-
onSelect={onSelect}
630-
hide={hide}
631-
styles={styles}
632-
/>
633-
</PerpsStreamProvider>
624+
// Search mode: wrap with PerpsConnectionProvider (context only) and PerpsStreamProvider for omni-search
625+
<PerpsConnectionProvider suppressErrorView manageLifecycle={false}>
626+
<PerpsStreamProvider>
627+
<SearchContent
628+
searchQuery={searchQuery}
629+
browserHistory={browserHistory}
630+
bookmarks={bookmarks}
631+
onSelect={onSelect}
632+
hide={hide}
633+
styles={styles}
634+
/>
635+
</PerpsStreamProvider>
636+
</PerpsConnectionProvider>
634637
) : (
635638
// Empty state: show Recents and Favorites
636639
<>

app/components/Views/TrendingView/Views/ExploreSearchScreen/ExploreSearchScreen.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useNavigation } from '@react-navigation/native';
55
import { Box } from '@metamask/design-system-react-native';
66
import ExploreSearchBar from '../../components/ExploreSearchBar/ExploreSearchBar';
77
import ExploreSearchResults from '../../components/ExploreSearchResults/ExploreSearchResults';
8+
import { PerpsConnectionProvider } from '../../../../UI/Perps/providers/PerpsConnectionProvider';
89
import { PerpsStreamProvider } from '../../../../UI/Perps/providers/PerpsStreamManager';
910

1011
const ExploreSearchScreen: React.FC = () => {
@@ -32,9 +33,11 @@ const ExploreSearchScreen: React.FC = () => {
3233
/>
3334
</Box>
3435

35-
<PerpsStreamProvider>
36-
<ExploreSearchResults searchQuery={searchQuery} />
37-
</PerpsStreamProvider>
36+
<PerpsConnectionProvider suppressErrorView manageLifecycle={false}>
37+
<PerpsStreamProvider>
38+
<ExploreSearchResults searchQuery={searchQuery} />
39+
</PerpsStreamProvider>
40+
</PerpsConnectionProvider>
3841
</Box>
3942
);
4043
};

0 commit comments

Comments
 (0)