summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-24 20:25:36 -0600
committerAdam <[email protected]>2025-12-24 20:25:36 -0600
commit76ac1ccb6b4023ff67cc2dd130317148b6c753d7 (patch)
treef28e8ba6194ab91ade3e8b6c814d48c751fabcde
parente71bc8c0b03c422208e89d73d5d4d6a0fe013941 (diff)
downloadopencode-76ac1ccb6b4023ff67cc2dd130317148b6c753d7.tar.gz
opencode-76ac1ccb6b4023ff67cc2dd130317148b6c753d7.zip
chore: show version on error page
-rw-r--r--packages/app/src/context/platform.tsx3
-rw-r--r--packages/app/src/entry.tsx2
-rw-r--r--packages/app/src/pages/error.tsx27
-rw-r--r--packages/app/tsconfig.json2
-rw-r--r--packages/desktop/src/index.tsx2
-rw-r--r--packages/desktop/tsconfig.json3
6 files changed, 27 insertions, 12 deletions
diff --git a/packages/app/src/context/platform.tsx b/packages/app/src/context/platform.tsx
index 73d4c7f3e..2b710e6f2 100644
--- a/packages/app/src/context/platform.tsx
+++ b/packages/app/src/context/platform.tsx
@@ -5,6 +5,9 @@ export type Platform = {
/** Platform discriminator */
platform: "web" | "tauri"
+ /** App version */
+ version?: string
+
/** Open a URL in the default browser */
openLink(url: string): void
diff --git a/packages/app/src/entry.tsx b/packages/app/src/entry.tsx
index ecbce9815..cbcac355f 100644
--- a/packages/app/src/entry.tsx
+++ b/packages/app/src/entry.tsx
@@ -2,6 +2,7 @@
import { render } from "solid-js/web"
import { App } from "@/app"
import { Platform, PlatformProvider } from "@/context/platform"
+import pkg from "../package.json"
const root = document.getElementById("root")
if (import.meta.env.DEV && !(root instanceof HTMLElement)) {
@@ -12,6 +13,7 @@ if (import.meta.env.DEV && !(root instanceof HTMLElement)) {
const platform: Platform = {
platform: "web",
+ version: pkg.version,
openLink(url: string) {
window.open(url, "_blank")
},
diff --git a/packages/app/src/pages/error.tsx b/packages/app/src/pages/error.tsx
index 9914279ad..37bd5ccd3 100644
--- a/packages/app/src/pages/error.tsx
+++ b/packages/app/src/pages/error.tsx
@@ -1,7 +1,7 @@
import { TextField } from "@opencode-ai/ui/text-field"
import { Logo } from "@opencode-ai/ui/logo"
import { Button } from "@opencode-ai/ui/button"
-import { Component } from "solid-js"
+import { Component, Show } from "solid-js"
import { usePlatform } from "@/context/platform"
import { Icon } from "@opencode-ai/ui/icon"
@@ -138,16 +138,21 @@ export const ErrorPage: Component<ErrorPageProps> = (props) => {
<Button size="large" onClick={platform.restart}>
Restart
</Button>
- <div class="flex items-center justify-center gap-1">
- Please report this error to the OpenCode team
- <button
- type="button"
- class="flex items-center text-text-interactive-base gap-1"
- onClick={() => platform.openLink("https://opencode.ai/desktop-feedback")}
- >
- <div>on Discord</div>
- <Icon name="discord" class="text-text-interactive-base" />
- </button>
+ <div class="flex flex-col items-center gap-2">
+ <div class="flex items-center justify-center gap-1">
+ Please report this error to the OpenCode team
+ <button
+ type="button"
+ class="flex items-center text-text-interactive-base gap-1"
+ onClick={() => platform.openLink("https://opencode.ai/desktop-feedback")}
+ >
+ <div>on Discord</div>
+ <Icon name="discord" class="text-text-interactive-base" />
+ </button>
+ </div>
+ <Show when={platform.version}>
+ <p class="text-xs text-text-weak">Version: {platform.version}</p>
+ </Show>
</div>
</div>
</div>
diff --git a/packages/app/tsconfig.json b/packages/app/tsconfig.json
index db04f79ca..e2a27dd5d 100644
--- a/packages/app/tsconfig.json
+++ b/packages/app/tsconfig.json
@@ -11,6 +11,7 @@
"jsx": "preserve",
"jsxImportSource": "solid-js",
"allowJs": true,
+ "resolveJsonModule": true,
"strict": true,
"noEmit": false,
"emitDeclarationOnly": true,
@@ -20,5 +21,6 @@
"@/*": ["./src/*"]
}
},
+ "include": ["src", "package.json"],
"exclude": ["dist", "ts-dist"]
}
diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx
index b3dbebd04..58aca8fd1 100644
--- a/packages/desktop/src/index.tsx
+++ b/packages/desktop/src/index.tsx
@@ -13,6 +13,7 @@ import { createMenu } from "./menu"
import { check, Update } from "@tauri-apps/plugin-updater"
import { invoke } from "@tauri-apps/api/core"
import { relaunch } from "@tauri-apps/plugin-process"
+import pkg from "../package.json"
const root = document.getElementById("root")
if (import.meta.env.DEV && !(root instanceof HTMLElement)) {
@@ -25,6 +26,7 @@ let update: Update | null = null
const platform: Platform = {
platform: "tauri",
+ version: pkg.version,
async openDirectoryPickerDialog(opts) {
const result = await open({
diff --git a/packages/desktop/tsconfig.json b/packages/desktop/tsconfig.json
index 64a6bc357..62cbe4ee4 100644
--- a/packages/desktop/tsconfig.json
+++ b/packages/desktop/tsconfig.json
@@ -9,6 +9,7 @@
"jsx": "preserve",
"jsxImportSource": "solid-js",
"allowJs": true,
+ "resolveJsonModule": true,
"strict": true,
"isolatedModules": true,
"noEmit": true,
@@ -16,5 +17,5 @@
"outDir": "node_modules/.ts-dist"
},
"references": [{ "path": "../app" }],
- "include": ["src"]
+ "include": ["src", "package.json"]
}