diff --git a/a.out b/a.out new file mode 100644 index 000000000..e69de29bb diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 9964aab81..64605e9df 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -798,7 +798,7 @@ export function Session() { - {status().message} [retry #{status().attempt}] + {(status() as any).message} [retry #{(status() as any).attempt}] diff --git a/packages/opencode/src/session/compaction.ts b/packages/opencode/src/session/compaction.ts index 3b36f0329..0ab4ca0aa 100644 --- a/packages/opencode/src/session/compaction.ts +++ b/packages/opencode/src/session/compaction.ts @@ -16,6 +16,7 @@ import { Log } from "../util/log" import { ProviderTransform } from "@/provider/transform" import { SessionRetry } from "./retry" import { Config } from "@/config/config" +import { Lock } from "../util/lock" export namespace SessionCompaction { const log = Log.create({ service: "session.compaction" }) @@ -87,8 +88,8 @@ export namespace SessionCompaction { } export async function run(input: { sessionID: string; providerID: string; modelID: string; signal?: AbortSignal }) { - await using lock = input.signal === undefined ? SessionLock.acquire({ sessionID: input.sessionID }) : undefined - const signal = input.signal ?? lock!.signal + const signal = input.signal ?? new AbortController().signal + await using lock = input.signal === undefined ? await Lock.write(input.sessionID) : undefined await Session.update(input.sessionID, (draft) => { draft.time.compacting = Date.now()