fix(opencode): filter session list by resolved instance directory (#34842)
This commit is contained in:
parent
d6b897188a
commit
a0d64b12c9
3 changed files with 30 additions and 2 deletions
|
|
@ -21,6 +21,7 @@ import { InstanceStore } from "../../src/project/instance-store"
|
|||
import { Project } from "../../src/project/project"
|
||||
import { HttpApiApp } from "../../src/server/routes/instance/httpapi/server"
|
||||
import * as HttpSessionError from "../../src/server/routes/instance/httpapi/handlers/session-errors"
|
||||
import { ExperimentalPaths } from "../../src/server/routes/instance/httpapi/groups/experimental"
|
||||
import { SessionPaths } from "../../src/server/routes/instance/httpapi/groups/session"
|
||||
import { Session } from "@/session/session"
|
||||
import { MessageID, PartID, SessionID, type SessionID as SessionIDType } from "../../src/session/schema"
|
||||
|
|
@ -879,6 +880,30 @@ describe("session HttpApi", () => {
|
|||
{ git: true, config: { formatter: false, lsp: false } },
|
||||
)
|
||||
|
||||
it.instance(
|
||||
"lists sessions created through an equivalent directory hint",
|
||||
() =>
|
||||
Effect.gen(function* () {
|
||||
const test = yield* TestInstance
|
||||
const hint = test.directory + path.sep
|
||||
const headers = { "x-opencode-directory": hint, "content-type": "application/json" }
|
||||
const created = yield* requestJson<Session.Info>(SessionPaths.create, {
|
||||
method: "POST",
|
||||
headers,
|
||||
body: JSON.stringify({ title: "hinted" }),
|
||||
})
|
||||
|
||||
const query = new URLSearchParams({ directory: hint, roots: "true" })
|
||||
const listed = yield* requestJson<Session.Info[]>(`${SessionPaths.list}?${query}`, { headers })
|
||||
expect(listed.map((item) => item.id)).toContain(created.id)
|
||||
|
||||
const globalQuery = new URLSearchParams({ directory: hint })
|
||||
const global = yield* requestJson<Session.Info[]>(`${ExperimentalPaths.session}?${globalQuery}`, { headers })
|
||||
expect(global.map((item) => item.id)).toContain(created.id)
|
||||
}),
|
||||
{ git: true, config: { formatter: false, lsp: false, share: "disabled" } },
|
||||
)
|
||||
|
||||
it.instance(
|
||||
"serves paginated message link headers",
|
||||
() =>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue