@@ -197,10 +239,22 @@ export function DialogSkillInstall(props: { id: string; name: string; version?:
dialog.close()}>
{language.t("skillhub.install.cancel")}
- void install(false)}>
- {state.phase === "installing"
- ? language.t("skillhub.install.installing")
- : language.t("skillhub.install.confirm")}
+ void install(false)}>
+ {state.phase === "installing"
+ ? language.t("skillhub.install.installing")
+ : language.t("skillhub.install.confirm")}
+
+ }
+ >
+ void signIn()}>{language.t("skillhub.install.signin")}
+
+
+
+ void cancelSignIn()}>
+ {language.t("skillhub.install.cancel")}
diff --git a/packages/app/vite.js b/packages/app/vite.js
index b0fbfed34..f23236e7c 100644
--- a/packages/app/vite.js
+++ b/packages/app/vite.js
@@ -5,6 +5,13 @@ import { fileURLToPath } from "url"
const theme = fileURLToPath(new URL("./public/oc-theme-preload.js", import.meta.url))
+// Absolute so it resolves from any consumer's root (the desktop renderer's is
+// src/renderer); forward slashes because optimizeDeps.entries is a fast-glob
+// pattern, which rejects backslashes.
+const markdownWorker = fileURLToPath(
+ new URL("../session-ui/src/components/markdown.worker.ts", import.meta.url),
+).replaceAll("\\", "/")
+
const channel = (() => {
const raw = process.env.CODEV_CHANNEL
if (raw === "dev" || raw === "beta" || raw === "prod") return raw
@@ -31,6 +38,16 @@ export default [
worker: {
format: "es",
},
+ optimizeDeps: {
+ // Vite's startup dep scanner does not crawl `?worker&url` entries,
+ // so the markdown worker's deps (@shikijs/stream, katex, marked,
+ // marked-shiki, remend) were only discovered on the first markdown
+ // render — a mid-session re-optimize that full-page reloads the app
+ // in dev (e.g. resetting a Skill Hub search). Scanning the worker as
+ // an extra entry pre-bundles them at startup. "index.html" restates
+ // the default entry, which setting `entries` would otherwise drop.
+ entries: ["index.html", markdownWorker],
+ },
}
},
},
diff --git a/packages/tui/package.json b/packages/tui/package.json
index 25e428498..8d33163ad 100644
--- a/packages/tui/package.json
+++ b/packages/tui/package.json
@@ -50,6 +50,7 @@
"dependencies": {
"@codev/brand": "workspace:*",
"@codev/gateway": "workspace:*",
+ "@codev/upload": "workspace:*",
"@opencode-ai/core": "workspace:*",
"@opencode-ai/plugin": "workspace:*",
"@opencode-ai/sdk": "workspace:*",