Skip to content

Commit 47f553f

Browse files
authored
fix(core): more explicit routing to fix workspace instance issue (#23171)
1 parent d11268e commit 47f553f

3 files changed

Lines changed: 13 additions & 13 deletions

File tree

packages/opencode/src/server/routes/control/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { Hono } from "hono"
77
import { describeRoute, resolver, validator, openAPIRouteHandler } from "hono-openapi"
88
import z from "zod"
99
import { errors } from "../../error"
10-
import { WorkspaceRoutes } from "./workspace"
1110

1211
export function ControlPlaneRoutes(): Hono {
1312
const app = new Hono()
@@ -158,5 +157,4 @@ export function ControlPlaneRoutes(): Hono {
158157
return c.json(true)
159158
},
160159
)
161-
.route("/experimental/workspace", WorkspaceRoutes())
162160
}

packages/opencode/src/server/routes/instance/index.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import { Command } from "@/command"
1515
import { QuestionRoutes } from "./question"
1616
import { PermissionRoutes } from "./permission"
1717
import { Flag } from "@/flag/flag"
18-
import { WorkspaceID } from "@/control-plane/schema"
1918
import { ExperimentalHttpApiServer } from "./httpapi/server"
2019
import { ProjectRoutes } from "./project"
2120
import { SessionRoutes } from "./session"
@@ -30,8 +29,8 @@ import { SyncRoutes } from "./sync"
3029
import { AppRuntime } from "@/effect/app-runtime"
3130
import { InstanceMiddleware } from "./middleware"
3231

33-
export const InstanceRoutes = (upgrade: UpgradeWebSocket, workspaceID?: WorkspaceID): Hono => {
34-
const app = new Hono().use(InstanceMiddleware(workspaceID))
32+
export const InstanceRoutes = (upgrade: UpgradeWebSocket): Hono => {
33+
const app = new Hono()
3534

3635
if (Flag.OPENCODE_EXPERIMENTAL_HTTPAPI) {
3736
const handler = ExperimentalHttpApiServer.webHandler().handler

packages/opencode/src/server/server.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import { ControlPlaneRoutes } from "./routes/control"
1414
import { UIRoutes } from "./routes/ui"
1515
import { GlobalRoutes } from "./routes/global"
1616
import { WorkspaceRouterMiddleware } from "./workspace"
17+
import { InstanceMiddleware } from "./routes/instance/middleware"
18+
import { WorkspaceRoutes } from "./routes/control/workspace"
1719

1820
// @ts-ignore This global is needed to prevent ai-sdk from logging warnings to stdout https://github.com/vercel/ai/blob/2dc67e0ef538307f21368db32d5a12345d98831b/packages/ai/src/logger/log-warnings.ts#L85
1921
globalThis.AI_SDK_LOG_WARNINGS = false
@@ -45,22 +47,23 @@ function create(opts: { cors?: string[] }) {
4547
if (Flag.OPENCODE_WORKSPACE_ID) {
4648
return {
4749
app: app
50+
.use(InstanceMiddleware(Flag.OPENCODE_WORKSPACE_ID ? WorkspaceID.make(Flag.OPENCODE_WORKSPACE_ID) : undefined))
4851
.use(FenceMiddleware)
49-
.route(
50-
"/",
51-
InstanceRoutes(
52-
runtime.upgradeWebSocket,
53-
Flag.OPENCODE_WORKSPACE_ID ? WorkspaceID.make(Flag.OPENCODE_WORKSPACE_ID) : undefined,
54-
),
55-
),
52+
.route("/", InstanceRoutes(runtime.upgradeWebSocket)),
5653
runtime,
5754
}
5855
}
5956

6057
return {
6158
app: app
6259
.route("/", ControlPlaneRoutes())
63-
.use(WorkspaceRouterMiddleware(runtime.upgradeWebSocket))
60+
.route(
61+
"/",
62+
new Hono()
63+
.use(InstanceMiddleware())
64+
.route("/experimental/workspace", WorkspaceRoutes())
65+
.use(WorkspaceRouterMiddleware(runtime.upgradeWebSocket)),
66+
)
6467
.route("/", InstanceRoutes(runtime.upgradeWebSocket))
6568
.route("/", UIRoutes()),
6669
runtime,

0 commit comments

Comments
 (0)