Commit 3e5c4e5
authored
CL-8792: allow-once no longer stalls a second destructive command without re-prompt (#1173)
* test(tui): red tests for allow-once second-prompt overlay stall
* feat(tui): let a queued decision gate preempt a command surface
Allow-once settles exactly once and frees the single-slot overlay host, so an already-queued or newly raised card paints before any deferred slash/settings/MCP surface. Command surfaces suspend and return after the gate settles; inline popups keep their stacking contracts.
* fix(tui): keep suspended overlays live when a gate preempts them
Suspend was a dismiss: it ran onCancel/onDispose and destroyed the
list, so restore painted a dead widget and MCP could steal the host
from the arriving gate. The preemptable-kind set also used command
aliases, so /model and /connect never yielded.1 parent 2ba4ab6 commit 3e5c4e5
8 files changed
Lines changed: 866 additions & 69 deletions
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| |||
258 | 260 | | |
259 | 261 | | |
260 | 262 | | |
| 263 | + | |
261 | 264 | | |
262 | 265 | | |
263 | 266 | | |
| |||
295 | 298 | | |
296 | 299 | | |
297 | 300 | | |
298 | | - | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
299 | 310 | | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
300 | 337 | | |
301 | 338 | | |
302 | | - | |
| 339 | + | |
303 | 340 | | |
304 | 341 | | |
305 | 342 | | |
| |||
351 | 388 | | |
352 | 389 | | |
353 | 390 | | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
354 | 394 | | |
355 | 395 | | |
356 | 396 | | |
| |||
496 | 536 | | |
497 | 537 | | |
498 | 538 | | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
| 539 | + | |
504 | 540 | | |
505 | 541 | | |
506 | 542 | | |
| |||
510 | 546 | | |
511 | 547 | | |
512 | 548 | | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
| 549 | + | |
518 | 550 | | |
519 | 551 | | |
520 | 552 | | |
| |||
523 | 555 | | |
524 | 556 | | |
525 | 557 | | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
| 558 | + | |
531 | 559 | | |
532 | 560 | | |
533 | 561 | | |
| |||
544 | 572 | | |
545 | 573 | | |
546 | 574 | | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
547 | 578 | | |
548 | 579 | | |
549 | 580 | | |
| |||
568 | 599 | | |
569 | 600 | | |
570 | 601 | | |
| 602 | + | |
571 | 603 | | |
572 | 604 | | |
573 | 605 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
435 | 435 | | |
436 | 436 | | |
437 | 437 | | |
438 | | - | |
| 438 | + | |
439 | 439 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
1185 | 1186 | | |
1186 | 1187 | | |
1187 | 1188 | | |
1188 | | - | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
1189 | 1194 | | |
1190 | 1195 | | |
1191 | 1196 | | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
1192 | 1201 | | |
1193 | 1202 | | |
1194 | 1203 | | |
| |||
1201 | 1210 | | |
1202 | 1211 | | |
1203 | 1212 | | |
| 1213 | + | |
1204 | 1214 | | |
1205 | 1215 | | |
1206 | 1216 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
523 | 523 | | |
524 | 524 | | |
525 | 525 | | |
| 526 | + | |
526 | 527 | | |
527 | 528 | | |
528 | 529 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
684 | 684 | | |
685 | 685 | | |
686 | 686 | | |
687 | | - | |
| 687 | + | |
688 | 688 | | |
689 | 689 | | |
690 | 690 | | |
| |||
711 | 711 | | |
712 | 712 | | |
713 | 713 | | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
714 | 721 | | |
715 | 722 | | |
716 | 723 | | |
| |||
0 commit comments