summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/pages/error.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/pages/error.tsx')
-rw-r--r--packages/app/src/pages/error.tsx22
1 files changed, 20 insertions, 2 deletions
diff --git a/packages/app/src/pages/error.tsx b/packages/app/src/pages/error.tsx
index ba0045ec9..5f3d7baa6 100644
--- a/packages/app/src/pages/error.tsx
+++ b/packages/app/src/pages/error.tsx
@@ -1,7 +1,8 @@
import { TextField } from "@opencode-ai/ui/text-field"
+import * as Sentry from "@sentry/solid"
import { Logo } from "@opencode-ai/ui/logo"
import { Button } from "@opencode-ai/ui/button"
-import { Component, Show } from "solid-js"
+import { Component, createSignal, Show } from "solid-js"
import { createStore } from "solid-js/store"
import { usePlatform } from "@/context/platform"
import { useLanguage } from "@/context/language"
@@ -270,10 +271,27 @@ export const ErrorPage: Component<ErrorPageProps> = (props) => {
label={language.t("error.page.details.label")}
hideLabel
/>
- <div class="flex items-center gap-3">
+ <div class="flex flex-row items-center justify-center gap-3 flex-wrap max-w-64">
<Button size="large" onClick={platform.restart}>
{language.t("error.page.action.restart")}
</Button>
+ <Show when={Sentry.isEnabled}>
+ {(_) => {
+ const [reported, setReported] = createSignal(false)
+ return (
+ <Button
+ size="large"
+ disabled={reported()}
+ onClick={() => {
+ Sentry.captureException(props.error)
+ setReported(true)
+ }}
+ >
+ {language.t(reported() ? "error.page.action.reported" : "error.page.action.report")}
+ </Button>
+ )
+ }}
+ </Show>
<Show when={platform.checkUpdate}>
<Show
when={store.version}