summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-30 10:27:06 -0600
committerAdam <[email protected]>2025-12-30 10:27:06 -0600
commit9e9b4a0555d308718cd2cb62df66a37db593d7f1 (patch)
treecff584e7dcdf88931563a0436e70d10fb0e7fff7
parente53192889cb9f7c2554d0229df9f5b2c87786e43 (diff)
downloadopencode-9e9b4a0555d308718cd2cb62df66a37db593d7f1.tar.gz
opencode-9e9b4a0555d308718cd2cb62df66a37db593d7f1.zip
fix(share): broken share pages
-rw-r--r--packages/enterprise/src/app.tsx13
-rw-r--r--packages/enterprise/src/routes/share/[shareID].tsx17
2 files changed, 21 insertions, 9 deletions
diff --git a/packages/enterprise/src/app.tsx b/packages/enterprise/src/app.tsx
index 6d32c8b6c..0fd3a009c 100644
--- a/packages/enterprise/src/app.tsx
+++ b/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>
)}
>
diff --git a/packages/enterprise/src/routes/share/[shareID].tsx b/packages/enterprise/src/routes/share/[shareID].tsx
index c511a5ba5..3a3d580b2 100644
--- a/packages/enterprise/src/routes/share/[shareID].tsx
+++ b/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>
)
}}
>