Commit 44911fa
committed
fix(acp): give each replayed turn its own boundary
Reloading a session ran consecutive prompts together:
run asyncio.sleep(60)run asyncio.sleep(60)One more time running...
update_user_message emits a *chunk*, and ACP has no end-of-message
marker — a boundary is implied by a different update type arriving. So
two turns from the same speaker in a row land in one bubble. That happens
whenever a turn produced no reply, which is exactly what a cancelled turn
used to do, so a run of stopped prompts replayed as a single run-on line.
Replay now terminates each turn. Cancelled turns also record "Stopped at
your request." now, so new sessions have an agent turn between prompts as
well, but the boundary belongs in replay regardless: any two same-role
turns in a row would otherwise merge, and existing sessions still hold
runs of unanswered prompts.
Found by testing a real Zed reload.
Signed-off-by: Paul Furgale <pfurgale@nvidia.com>1 parent da64334 commit 44911fa
2 files changed
Lines changed: 67 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
512 | 512 | | |
513 | 513 | | |
514 | 514 | | |
515 | | - | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
516 | 523 | | |
517 | 524 | | |
518 | 525 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1080 | 1080 | | |
1081 | 1081 | | |
1082 | 1082 | | |
1083 | | - | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
1084 | 1086 | | |
1085 | 1087 | | |
1086 | 1088 | | |
1087 | 1089 | | |
1088 | 1090 | | |
1089 | | - | |
| 1091 | + | |
1090 | 1092 | | |
1091 | 1093 | | |
1092 | 1094 | | |
| |||
1314 | 1316 | | |
1315 | 1317 | | |
1316 | 1318 | | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
0 commit comments