From 10c9a8099178b72a2526567d25fa51240f1daeab Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Thu, 9 Apr 2026 16:28:20 +0800 Subject: [PATCH] app: remove min loading duration --- packages/app/src/app.tsx | 1 - packages/opencode/script/build-node.ts | 2 ++ packages/opencode/script/build.ts | 17 ++--------------- packages/opencode/script/generate.ts | 23 +++++++++++++++++++++++ 4 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 packages/opencode/script/generate.ts diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx index c0715cc94066..35fd36cca37d 100644 --- a/packages/app/src/app.tsx +++ b/packages/app/src/app.tsx @@ -182,7 +182,6 @@ function ConnectionGate(props: ParentProps<{ disableHealthCheck?: boolean }>) { if (checkMode() === "background" || type === "http") return false } }).pipe( - effectMinDuration(checkMode() === "blocking" ? "1.2 seconds" : 0), Effect.timeoutOrElse({ duration: "10 seconds", orElse: () => Effect.succeed(false) }), Effect.ensuring(Effect.sync(() => setCheckMode("background"))), Effect.runPromise, diff --git a/packages/opencode/script/build-node.ts b/packages/opencode/script/build-node.ts index 709c8f5abb7b..6c773b08677d 100755 --- a/packages/opencode/script/build-node.ts +++ b/packages/opencode/script/build-node.ts @@ -11,6 +11,8 @@ const dir = path.resolve(__dirname, "..") process.chdir(dir) +await import("./generate.ts") + // Load migrations from migration directories const migrationDirs = ( await fs.promises.readdir(path.join(dir, "migration"), { diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts index 9c3d9bb5b7e4..f760899c39b5 100755 --- a/packages/opencode/script/build.ts +++ b/packages/opencode/script/build.ts @@ -12,24 +12,11 @@ const dir = path.resolve(__dirname, "..") process.chdir(dir) +await import("./generate.ts") + import { Script } from "@opencode-ai/script" import pkg from "../package.json" -const modelsUrl = process.env.OPENCODE_MODELS_URL || "https://models.dev" -// Fetch and generate models.dev snapshot -const modelsData = process.env.MODELS_DEV_API_JSON - ? await Bun.file(process.env.MODELS_DEV_API_JSON).text() - : await fetch(`${modelsUrl}/api.json`).then((x) => x.text()) -await Bun.write( - path.join(dir, "src/provider/models-snapshot.js"), - `// @ts-nocheck\n// Auto-generated by build.ts - do not edit\nexport const snapshot = ${modelsData}\n`, -) -await Bun.write( - path.join(dir, "src/provider/models-snapshot.d.ts"), - `// Auto-generated by build.ts - do not edit\nexport declare const snapshot: Record\n`, -) -console.log("Generated models-snapshot.js") - // Load migrations from migration directories const migrationDirs = ( await fs.promises.readdir(path.join(dir, "migration"), { diff --git a/packages/opencode/script/generate.ts b/packages/opencode/script/generate.ts new file mode 100644 index 000000000000..52d0cef8da3b --- /dev/null +++ b/packages/opencode/script/generate.ts @@ -0,0 +1,23 @@ +import path from "path" +import { fileURLToPath } from "url" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const dir = path.resolve(__dirname, "..") + +process.chdir(dir) + +const modelsUrl = process.env.OPENCODE_MODELS_URL || "https://models.dev" +// Fetch and generate models.dev snapshot +const modelsData = process.env.MODELS_DEV_API_JSON + ? await Bun.file(process.env.MODELS_DEV_API_JSON).text() + : await fetch(`${modelsUrl}/api.json`).then((x) => x.text()) +await Bun.write( + path.join(dir, "src/provider/models-snapshot.js"), + `// @ts-nocheck\n// Auto-generated by build.ts - do not edit\nexport const snapshot = ${modelsData}\n`, +) +await Bun.write( + path.join(dir, "src/provider/models-snapshot.d.ts"), + `// Auto-generated by build.ts - do not edit\nexport declare const snapshot: Record\n`, +) +console.log("Generated models-snapshot.js")