Skip to content

Commit 18baf7e

Browse files
committed
fix infinite Signing out... iOS dialog
1 parent 8641d50 commit 18baf7e

1 file changed

Lines changed: 50 additions & 40 deletions

File tree

src/App.tsx

Lines changed: 50 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -70,47 +70,57 @@ function App() {
7070
<InitialURLContextProvider>
7171
<HybridAppHandler />
7272
<GestureHandlerRootView style={fill}>
73-
<ComposeProviders
74-
components={[
75-
OnyxListItemProvider,
76-
ThemeProvider,
77-
ThemeStylesProvider,
78-
ThemeIllustrationsProvider,
79-
SafeAreaProvider,
80-
HTMLEngineProvider,
81-
PortalProvider,
82-
SafeArea,
83-
LocaleContextProvider,
84-
PopoverContextProvider,
85-
CurrentReportIDContextProvider,
86-
ScrollOffsetContextProvider,
87-
AttachmentModalContextProvider,
88-
PickerStateProvider,
89-
EnvironmentProvider,
90-
CustomStatusBarAndBackgroundContextProvider,
91-
ActiveElementRoleProvider,
92-
ActionSheetAwareScrollViewProvider,
93-
PlaybackContextProvider,
94-
FullScreenContextProvider,
95-
VolumeContextProvider,
96-
VideoPopoverMenuContextProvider,
97-
KeyboardProvider,
98-
KeyboardStateProvider,
99-
SearchRouterContextProvider,
100-
ProductTrainingContextProvider,
101-
InputBlurContextProvider,
102-
FullScreenBlockingViewContextProvider,
103-
FullScreenLoaderContextProvider,
104-
]}
73+
{/* Initialize metrics early to ensure the UI renders even when NewDot is hidden.
74+
This is necessary for iOS HybridApp's SignInPage to appear correctly without the bootsplash.
75+
See: https://github.com/Expensify/App/pull/65178#issuecomment-3139026551
76+
*/}
77+
<SafeAreaProvider
78+
initialMetrics={{
79+
insets: {top: 0, right: 0, bottom: 0, left: 0},
80+
frame: {x: 0, y: 0, width: 0, height: 0},
81+
}}
10582
>
106-
<CustomStatusBarAndBackground />
107-
<ErrorBoundary errorMessage="NewExpensify crash caught by error boundary">
108-
<ColorSchemeWrapper>
109-
<Expensify />
110-
</ColorSchemeWrapper>
111-
</ErrorBoundary>
112-
<NavigationBar />
113-
</ComposeProviders>
83+
<ComposeProviders
84+
components={[
85+
OnyxListItemProvider,
86+
ThemeProvider,
87+
ThemeStylesProvider,
88+
ThemeIllustrationsProvider,
89+
HTMLEngineProvider,
90+
PortalProvider,
91+
SafeArea,
92+
LocaleContextProvider,
93+
PopoverContextProvider,
94+
CurrentReportIDContextProvider,
95+
ScrollOffsetContextProvider,
96+
AttachmentModalContextProvider,
97+
PickerStateProvider,
98+
EnvironmentProvider,
99+
CustomStatusBarAndBackgroundContextProvider,
100+
ActiveElementRoleProvider,
101+
ActionSheetAwareScrollViewProvider,
102+
PlaybackContextProvider,
103+
FullScreenContextProvider,
104+
VolumeContextProvider,
105+
VideoPopoverMenuContextProvider,
106+
KeyboardProvider,
107+
KeyboardStateProvider,
108+
SearchRouterContextProvider,
109+
ProductTrainingContextProvider,
110+
InputBlurContextProvider,
111+
FullScreenBlockingViewContextProvider,
112+
FullScreenLoaderContextProvider,
113+
]}
114+
>
115+
<CustomStatusBarAndBackground />
116+
<ErrorBoundary errorMessage="NewExpensify crash caught by error boundary">
117+
<ColorSchemeWrapper>
118+
<Expensify />
119+
</ColorSchemeWrapper>
120+
</ErrorBoundary>
121+
<NavigationBar />
122+
</ComposeProviders>
123+
</SafeAreaProvider>
114124
</GestureHandlerRootView>
115125
</InitialURLContextProvider>
116126
</SplashScreenStateContextProvider>

0 commit comments

Comments
 (0)