diff options
| author | Kit Langton <[email protected]> | 2026-03-14 20:49:49 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-15 00:49:49 +0000 |
| commit | 52877d876503b140001873f8350d83964b7ae1df (patch) | |
| tree | 0798cddd6fb1b5a94de9c340c5c772149beb7815 | |
| parent | 8f957b8f90a4faa6afcb299127d320e1eb538c25 (diff) | |
| download | opencode-52877d876503b140001873f8350d83964b7ae1df.tar.gz opencode-52877d876503b140001873f8350d83964b7ae1df.zip | |
fix(question): clean up pending entry on abort (#17533)
| -rw-r--r-- | packages/opencode/src/question/service.ts | 7 |
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[] }) { |
