Sfoglia il codice sorgente

fix(question): clean up pending entry on abort (#17533)

Kit Langton 6 mesi fa
parent
commit
52877d8765
1 ha cambiato i file con 6 aggiunte e 1 eliminazioni
  1. 6 1
      packages/opencode/src/question/service.ts

+ 6 - 1
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[] }) {