summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-03-14 20:49:49 -0400
committerGitHub <[email protected]>2026-03-15 00:49:49 +0000
commit52877d876503b140001873f8350d83964b7ae1df (patch)
tree0798cddd6fb1b5a94de9c340c5c772149beb7815
parent8f957b8f90a4faa6afcb299127d320e1eb538c25 (diff)
downloadopencode-52877d876503b140001873f8350d83964b7ae1df.tar.gz
opencode-52877d876503b140001873f8350d83964b7ae1df.zip
fix(question): clean up pending entry on abort (#17533)
-rw-r--r--packages/opencode/src/question/service.ts7
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/opencode/src/question/service.ts b/packages/opencode/src/question/service.ts
index 4a151f908..30a47bee9 100644
--- a/packages/opencode/src/question/service.ts
+++ b/packages/opencode/src/question/service.ts
@@ -129,7 +129,12 @@ export class QuestionService extends ServiceMap.Service<QuestionService, Questio
pending.set(id, { info, deferred })
Bus.publish(Event.Asked, info)
- return yield* Deferred.await(deferred)
+ return yield* Effect.ensuring(
+ Deferred.await(deferred),
+ Effect.sync(() => {
+ pending.delete(id)
+ }),
+ )
})
const reply = Effect.fn("QuestionService.reply")(function* (input: { requestID: QuestionID; answers: Answer[] }) {