|
1 | 1 | import "@/index.css" |
| 2 | +import * as Sentry from "@sentry/solid" |
2 | 3 | import { I18nProvider } from "@opencode-ai/ui/context" |
3 | 4 | import { DialogProvider } from "@opencode-ai/ui/context/dialog" |
4 | 5 | import { FileComponentProvider } from "@opencode-ai/ui/context/file" |
@@ -140,12 +141,19 @@ export function AppBaseProviders(props: ParentProps<{ locale?: Locale }>) { |
140 | 141 | > |
141 | 142 | <LanguageProvider locale={props.locale}> |
142 | 143 | <UiI18nBridge> |
143 | | - <ErrorBoundary fallback={(error) => <ErrorPage error={error} />}> |
144 | | - <DialogProvider> |
145 | | - <MarkedProvider> |
146 | | - <FileComponentProvider component={File}>{props.children}</FileComponentProvider> |
147 | | - </MarkedProvider> |
148 | | - </DialogProvider> |
| 144 | + <ErrorBoundary |
| 145 | + fallback={(error) => { |
| 146 | + Sentry.captureException(error) |
| 147 | + return <ErrorPage error={error} /> |
| 148 | + }} |
| 149 | + > |
| 150 | + <QueryProvider> |
| 151 | + <DialogProvider> |
| 152 | + <MarkedProvider> |
| 153 | + <FileComponentProvider component={File}>{props.children}</FileComponentProvider> |
| 154 | + </MarkedProvider> |
| 155 | + </DialogProvider> |
| 156 | + </QueryProvider> |
149 | 157 | </ErrorBoundary> |
150 | 158 | </UiI18nBridge> |
151 | 159 | </LanguageProvider> |
@@ -291,22 +299,20 @@ export function AppInterface(props: { |
291 | 299 | > |
292 | 300 | <ConnectionGate disableHealthCheck={props.disableHealthCheck}> |
293 | 301 | <ServerKey> |
294 | | - <QueryProvider> |
295 | | - <GlobalSDKProvider> |
296 | | - <GlobalSyncProvider> |
297 | | - <Dynamic |
298 | | - component={props.router ?? Router} |
299 | | - root={(routerProps) => <RouterRoot appChildren={props.children}>{routerProps.children}</RouterRoot>} |
300 | | - > |
301 | | - <Route path="/" component={HomeRoute} /> |
302 | | - <Route path="/:dir" component={DirectoryLayout}> |
303 | | - <Route path="/" component={SessionIndexRoute} /> |
304 | | - <Route path="/session/:id?" component={SessionRoute} /> |
305 | | - </Route> |
306 | | - </Dynamic> |
307 | | - </GlobalSyncProvider> |
308 | | - </GlobalSDKProvider> |
309 | | - </QueryProvider> |
| 302 | + <GlobalSDKProvider> |
| 303 | + <GlobalSyncProvider> |
| 304 | + <Dynamic |
| 305 | + component={props.router ?? Router} |
| 306 | + root={(routerProps) => <RouterRoot appChildren={props.children}>{routerProps.children}</RouterRoot>} |
| 307 | + > |
| 308 | + <Route path="/" component={HomeRoute} /> |
| 309 | + <Route path="/:dir" component={DirectoryLayout}> |
| 310 | + <Route path="/" component={SessionIndexRoute} /> |
| 311 | + <Route path="/session/:id?" component={SessionRoute} /> |
| 312 | + </Route> |
| 313 | + </Dynamic> |
| 314 | + </GlobalSyncProvider> |
| 315 | + </GlobalSDKProvider> |
310 | 316 | </ServerKey> |
311 | 317 | </ConnectionGate> |
312 | 318 | </ServerProvider> |
|
0 commit comments