Sfoglia il codice sorgente

fix(share): broken share pages

Adam 1 mese fa
parent
commit
9e9b4a0555

+ 8 - 5
packages/enterprise/src/app.tsx

@@ -3,6 +3,7 @@ import { FileRoutes } from "@solidjs/start/router"
 import { Font } from "@opencode-ai/ui/font"
 import { MetaProvider } from "@solidjs/meta"
 import { MarkedProvider } from "@opencode-ai/ui/context/marked"
+import { DialogProvider } from "@opencode-ai/ui/context/dialog"
 import { Suspense } from "solid-js"
 import "./app.css"
 import { Favicon } from "@opencode-ai/ui/favicon"
@@ -12,11 +13,13 @@ export default function App() {
     <Router
       root={(props) => (
         <MetaProvider>
-          <MarkedProvider>
-            <Favicon />
-            <Font />
-            <Suspense>{props.children}</Suspense>
-          </MarkedProvider>
+          <DialogProvider>
+            <MarkedProvider>
+              <Favicon />
+              <Font />
+              <Suspense>{props.children}</Suspense>
+            </MarkedProvider>
+          </DialogProvider>
         </MetaProvider>
       )}
     >

+ 13 - 4
packages/enterprise/src/routes/share/[shareID].tsx

@@ -162,11 +162,20 @@ export default function () {
 
   return (
     <ErrorBoundary
-      fallback={(e) => {
+      fallback={(error) => {
+        if (SessionDataMissingError.isInstance(error)) {
+          return <NotFound />
+        }
+        console.error(error)
+        const details = error instanceof Error ? (error.stack ?? error.message) : String(error)
         return (
-          <Show when={e.message === "SessionDataMissingError"}>
-            <NotFound />
-          </Show>
+          <div class="min-h-screen w-full bg-background-base text-text-base flex flex-col items-center justify-center gap-4 p-6 text-center">
+            <p class="text-16-medium">Unable to render this share.</p>
+            <p class="text-14-regular text-text-weaker">Check the console for more details.</p>
+            <pre class="text-12-mono text-left whitespace-pre-wrap break-words w-full max-w-200 bg-background-stronger rounded-md p-4">
+              {details}
+            </pre>
+          </div>
         )
       }}
     >