mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-15 17:13:12 +00:00
chore: generate
This commit is contained in:
@@ -180,20 +180,21 @@ Wait on a **published readiness signal**, not wall-clock time. Available afforda
|
||||
|
||||
```ts
|
||||
// Antipattern — race
|
||||
yield* prompt.shell({ command: "sleep 30" }).pipe(Effect.forkChild)
|
||||
yield* Effect.sleep(50)
|
||||
yield* prompt.cancel(chat.id)
|
||||
yield * prompt.shell({ command: "sleep 30" }).pipe(Effect.forkChild)
|
||||
yield * Effect.sleep(50)
|
||||
yield * prompt.cancel(chat.id)
|
||||
|
||||
// Fix — wait for a published readiness signal
|
||||
yield* prompt.shell({ command: "sleep 30" }).pipe(Effect.forkChild)
|
||||
yield* pollWithTimeout(
|
||||
Effect.gen(function* () {
|
||||
const s = yield* (yield* SessionStatus.Service).get(chat.id)
|
||||
return s.type === "busy" ? (true as const) : undefined
|
||||
}),
|
||||
"session never became busy",
|
||||
)
|
||||
yield* prompt.cancel(chat.id)
|
||||
yield * prompt.shell({ command: "sleep 30" }).pipe(Effect.forkChild)
|
||||
yield *
|
||||
pollWithTimeout(
|
||||
Effect.gen(function* () {
|
||||
const s = yield* (yield* SessionStatus.Service).get(chat.id)
|
||||
return s.type === "busy" ? (true as const) : undefined
|
||||
}),
|
||||
"session never became busy",
|
||||
)
|
||||
yield * prompt.cancel(chat.id)
|
||||
```
|
||||
|
||||
### When Fixed Sleeps Are OK
|
||||
|
||||
Reference in New Issue
Block a user