diff options
| author | Adam <[email protected]> | 2025-12-24 20:25:36 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-24 20:25:36 -0600 |
| commit | 76ac1ccb6b4023ff67cc2dd130317148b6c753d7 (patch) | |
| tree | f28e8ba6194ab91ade3e8b6c814d48c751fabcde | |
| parent | e71bc8c0b03c422208e89d73d5d4d6a0fe013941 (diff) | |
| download | opencode-76ac1ccb6b4023ff67cc2dd130317148b6c753d7.tar.gz opencode-76ac1ccb6b4023ff67cc2dd130317148b6c753d7.zip | |
chore: show version on error page
| -rw-r--r-- | packages/app/src/context/platform.tsx | 3 | ||||
| -rw-r--r-- | packages/app/src/entry.tsx | 2 | ||||
| -rw-r--r-- | packages/app/src/pages/error.tsx | 27 | ||||
| -rw-r--r-- | packages/app/tsconfig.json | 2 | ||||
| -rw-r--r-- | packages/desktop/src/index.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/tsconfig.json | 3 |
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"] } |
