Skip to content

Commit dbac6b3

Browse files
committed
fix(tui): remove same-id operator gate drop so duplicate asks never strand a resolver
The gate-wire same-id guard ran before timeout, abort, or teardown registration, so a distinct event arriving with an already-live id had its resolve never called on accept, timeout, or dispose. Dedup belongs to the input-required reducer per the plan; gate-wire restores HEAD queue behavior where every event queues and resolves.
1 parent f60e42e commit dbac6b3

1 file changed

Lines changed: 0 additions & 7 deletions

File tree

‎src/tui/gate-wire.ts‎

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -263,10 +263,6 @@ export function wireGates(
263263
// gate still queued at session teardown settles instead of hanging its
264264
// promise.
265265
const operatorTeardowns = new Set<() => void>();
266-
// A live ask_operator gate can be re-emitted while its original event is
267-
// still awaiting an answer. Its id owns the single overlay and resolver
268-
// until that gate settles.
269-
const liveOperatorGateIds = new Set<string>();
270266
// Bumped every time any gate (permission or operator) opens on the shared
271267
// host. A settle path that only knows "my overlay was opened" cannot tell
272268
// whether the host has since moved on to a newer one - the shell closes an
@@ -460,8 +456,6 @@ export function wireGates(
460456
resolve(operatorCancelResult());
461457
return;
462458
}
463-
if (liveOperatorGateIds.has(ev.id)) return;
464-
liveOperatorGateIds.add(ev.id);
465459
hooks.onGateOpened();
466460
const resolve = onceClosed(hooks.onGateClosed, ev.resolve);
467461
const primaryOperator = isPrimaryAskOperatorEvent(ev);
@@ -523,7 +517,6 @@ export function wireGates(
523517
settled = true;
524518
clearTimers();
525519
operatorTeardowns.delete(teardown);
526-
liveOperatorGateIds.delete(ev.id);
527520
if (primaryOperator) hooks.onPrimaryOperatorSettled?.(ev);
528521
if (openedGeneration === undefined) {
529522
unqueue(open);

0 commit comments

Comments
 (0)