summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-04-09 16:29:46 +0800
committerGitHub <[email protected]>2026-04-09 16:29:46 +0800
commit46f243fea71c65464471fcf1f5a807dd860c0f8f (patch)
tree623f3e23f4bd94cc17a0a8eb325ff0173380220e
parent847fc9d2681129c44d432a7df256ac3b77f306f9 (diff)
downloadopencode-46f243fea71c65464471fcf1f5a807dd860c0f8f.tar.gz
opencode-46f243fea71c65464471fcf1f5a807dd860c0f8f.zip
app: remove min loading duration (#21655)
-rw-r--r--packages/app/src/app.tsx1
-rwxr-xr-xpackages/opencode/script/build-node.ts2
-rwxr-xr-xpackages/opencode/script/build.ts17
-rw-r--r--packages/opencode/script/generate.ts23
4 files changed, 27 insertions, 16 deletions
diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx
index c0715cc94..35fd36cca 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 709c8f5ab..6c773b086 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 9c3d9bb5b..f760899c3 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<string, unknown>\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 000000000..52d0cef8d
--- /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<string, unknown>\n`,
+)
+console.log("Generated models-snapshot.js")