From 8854cbf9fe28bae99d8771ee4a20e2848b0d9176 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Thu, 16 Apr 2026 14:57:56 +0800 Subject: [PATCH] focus on electron --- .github/workflows/deploy.yml | 5 ++--- .github/workflows/publish.yml | 14 +++++++------- packages/app/src/entry.tsx | 8 +++++++- .../desktop-electron/src/renderer/index.tsx | 10 +++++++++- packages/desktop/src/index.tsx | 13 ------------- packages/desktop/vite.config.ts | 19 +------------------ 6 files changed, 26 insertions(+), 43 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index fb860dde9f..4cd63fc0e7 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -38,8 +38,7 @@ jobs: STRIPE_SECRET_KEY: ${{ github.ref_name == 'production' && secrets.STRIPE_SECRET_KEY_PROD || secrets.STRIPE_SECRET_KEY_DEV }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ vars.SENTRY_ORG }} - SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT }} + SENTRY_PROJECT: ${{ vars.WEB_SENTRY_PROJECT }} SENTRY_RELEASE: web@${{ github.sha }} - VITE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - VITE_SENTRY_ENVIRONMENT: web-${{ github.ref_name }} + VITE_SENTRY_DSN: ${{ secrets.WEB_SENTRY_DSN }} VITE_SENTRY_RELEASE: web@${{ github.sha }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0a16b14415..8dd86d4edd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -368,13 +368,6 @@ jobs: APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }} APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }} APPLE_API_KEY_PATH: ${{ runner.temp }}/apple-api-key.p8 - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_ORG: ${{ vars.SENTRY_ORG }} - SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT }} - SENTRY_RELEASE: desktop@${{ needs.version.outputs.version }} - VITE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - VITE_SENTRY_ENVIRONMENT: desktop-${{ github.ref_name }} - VITE_SENTRY_RELEASE: desktop@${{ needs.version.outputs.version }} - name: Verify signed Windows desktop artifacts if: runner.os == 'Windows' @@ -497,6 +490,13 @@ jobs: working-directory: packages/desktop-electron env: OPENCODE_CHANNEL: ${{ (github.ref_name == 'beta' && 'beta') || 'prod' }} + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ vars.SENTRY_ORG }} + SENTRY_PROJECT: ${{ vars.WEB_SENTRY_PROJECT }} + SENTRY_RELEASE: desktop@${{ needs.version.outputs.version }} + VITE_SENTRY_DSN: ${{ secrets.WEB_SENTRY_DSN }} + VITE_SENTRY_ENVIRONMENT: ${{ (github.ref_name == 'beta' && 'beta') || 'production' }} + VITE_SENTRY_RELEASE: desktop@${{ needs.version.outputs.version }} - name: Package and publish if: needs.version.outputs.release diff --git a/packages/app/src/entry.tsx b/packages/app/src/entry.tsx index 318329ff2f..ade572c2fd 100644 --- a/packages/app/src/entry.tsx +++ b/packages/app/src/entry.tsx @@ -126,7 +126,7 @@ const platform: Platform = { setDefaultServer: writeDefaultServerUrl, } -if (!import.meta.env.DEV && import.meta.env.VITE_SENTRY_DSN) { +if (import.meta.env.VITE_SENTRY_DSN) { Sentry.init({ dsn: import.meta.env.VITE_SENTRY_DSN, environment: import.meta.env.VITE_SENTRY_ENVIRONMENT ?? import.meta.env.MODE, @@ -136,6 +136,12 @@ if (!import.meta.env.DEV && import.meta.env.VITE_SENTRY_DSN) { platform: "web", }, }, + integrations: (integrations) => { + return integrations.filter( + (i) => + i.name !== "Breadcrumbs" && !(import.meta.env.OPENCODE_CHANNEL === "prod" && i.name === "GlobalHandlers"), + ) + }, }) } diff --git a/packages/desktop-electron/src/renderer/index.tsx b/packages/desktop-electron/src/renderer/index.tsx index 45f8eb22e4..1a1cba6667 100644 --- a/packages/desktop-electron/src/renderer/index.tsx +++ b/packages/desktop-electron/src/renderer/index.tsx @@ -31,7 +31,7 @@ if (import.meta.env.DEV && !(root instanceof HTMLElement)) { throw new Error(t("error.dev.rootNotFound")) } -if (!import.meta.env.DEV && import.meta.env.VITE_SENTRY_DSN) { +if (import.meta.env.VITE_SENTRY_DSN) { Sentry.init({ dsn: import.meta.env.VITE_SENTRY_DSN, environment: import.meta.env.VITE_SENTRY_ENVIRONMENT ?? import.meta.env.MODE, @@ -41,6 +41,12 @@ if (!import.meta.env.DEV && import.meta.env.VITE_SENTRY_DSN) { platform: "desktop-electron", }, }, + integrations: (integrations) => { + return integrations.filter( + (i) => + i.name !== "Breadcrumbs" && !(import.meta.env.OPENCODE_CHANNEL === "prod" && i.name === "GlobalHandlers"), + ) + }, }) } @@ -326,6 +332,8 @@ render(() => { } }) + throw new Error("Test2") + return null } diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx index 59eef25924..fcdaf79642 100644 --- a/packages/desktop/src/index.tsx +++ b/packages/desktop/src/index.tsx @@ -43,19 +43,6 @@ if (import.meta.env.DEV && !(root instanceof HTMLElement)) { throw new Error(t("error.dev.rootNotFound")) } -if (!import.meta.env.DEV && import.meta.env.VITE_SENTRY_DSN) { - Sentry.init({ - dsn: import.meta.env.VITE_SENTRY_DSN, - environment: import.meta.env.VITE_SENTRY_ENVIRONMENT ?? import.meta.env.MODE, - release: import.meta.env.VITE_SENTRY_RELEASE ?? `desktop-tauri@${pkg.version}`, - initialScope: { - tags: { - platform: "desktop-tauri", - }, - }, - }) -} - void initI18n() let update: Update | null = null diff --git a/packages/desktop/vite.config.ts b/packages/desktop/vite.config.ts index f2c77de9b3..e8f8f8465d 100644 --- a/packages/desktop/vite.config.ts +++ b/packages/desktop/vite.config.ts @@ -1,28 +1,11 @@ -import { sentryVitePlugin } from "@sentry/vite-plugin" import { defineConfig } from "vite" import appPlugin from "@opencode-ai/app/vite" const host = process.env.TAURI_DEV_HOST -const sentry = - process.env.SENTRY_AUTH_TOKEN && process.env.SENTRY_ORG && process.env.SENTRY_PROJECT - ? sentryVitePlugin({ - authToken: process.env.SENTRY_AUTH_TOKEN, - org: process.env.SENTRY_ORG, - project: process.env.SENTRY_PROJECT, - telemetry: false, - release: { - name: process.env.SENTRY_RELEASE ?? process.env.VITE_SENTRY_RELEASE, - }, - sourcemaps: { - assets: "./dist/**", - filesToDeleteAfterUpload: "./dist/**/*.map", - }, - }) - : false // https://vite.dev/config/ export default defineConfig({ - plugins: [appPlugin, sentry], + plugins: [appPlugin], publicDir: "../app/public", // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` //