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()