Commit 486fd23
fix(chat): unqueue mid-turn messages when claude picks them up
Mid-turn interjections kept their dashed "queued" bubble until the
whole turn ended, even though claude ingests them at the next
agent-loop step — often minutes earlier, and visibly so when the reply
already referenced the queued message.
Claude drains its pending-input queue immediately before building the
next API request and emits {system, subtype: status, status:
requesting} at that moment. Verified against a session transcript:
the `queue-operation: remove` record lands ~1ms before that event. So
unqueue there instead of waiting for `result`, which stays as the
backstop for messages that land after the final request.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent c9f2639 commit 486fd23
3 files changed
Lines changed: 127 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 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 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
307 | 394 | | |
308 | 395 | | |
309 | 396 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
839 | 839 | | |
840 | 840 | | |
841 | 841 | | |
842 | | - | |
843 | | - | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
844 | 847 | | |
845 | 848 | | |
846 | 849 | | |
| |||
959 | 962 | | |
960 | 963 | | |
961 | 964 | | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
962 | 979 | | |
963 | 980 | | |
964 | 981 | | |
| |||
1006 | 1023 | | |
1007 | 1024 | | |
1008 | 1025 | | |
1009 | | - | |
1010 | | - | |
1011 | | - | |
1012 | | - | |
| 1026 | + | |
1013 | 1027 | | |
1014 | 1028 | | |
1015 | 1029 | | |
| |||
1555 | 1569 | | |
1556 | 1570 | | |
1557 | 1571 | | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
1558 | 1586 | | |
1559 | 1587 | | |
1560 | 1588 | | |
| |||
1665 | 1693 | | |
1666 | 1694 | | |
1667 | 1695 | | |
1668 | | - | |
1669 | | - | |
1670 | | - | |
1671 | | - | |
| 1696 | + | |
1672 | 1697 | | |
1673 | 1698 | | |
1674 | 1699 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
212 | | - | |
213 | | - | |
| 212 | + | |
214 | 213 | | |
215 | | - | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
216 | 218 | | |
217 | 219 | | |
218 | 220 | | |
| |||
0 commit comments