Repository navigation
Commit b6f2ab4
fix(webui): the transcript follows the stream, and only the reader moves it (#129)
Nothing moved the scroll container while a turn streamed. The whole
app had one auto-scroll path and it hung off a button, so a 15-second
turn left scrollTop at 0 while scrollHeight went 688 -> 1196: the text
was rendering the whole time, entirely below the fold. "It only shows
up when the turn finishes" was the same mechanism — the activity group
holds itself open during the turn and collapses to a summary line at the
end, finally making room.
Virtualization was not involved: the turn peaked at 8 units against a
threshold of 200, so the window covered the whole array. isNearBottom
and decideScrollBehavior existed and were never called.
The container's scrollTop has three legitimate writers — follow, the
reader, and restore — and the browser's scroll anchoring was a fourth,
implicit one. Anchoring is off now, and "has the reader scrolled away"
compares against the position we last pinned rather than re-measuring
distance from the bottom, which gets the wrong answer while the
transcript is still growing under a reader who never scrolled.
Co-authored-by: s39-dev <s39-dev@local>1 parent b35cdf8 commit b6f2ab4
8 files changed
Lines changed: 670 additions & 22 deletions
File tree
- docs
- packages/webui/webapp
- app
- components
- test
- release
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1373 | 1373 | | |
1374 | 1374 | | |
1375 | 1375 | | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
1376 | 1405 | | |
1377 | 1406 | | |
1378 | 1407 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
986 | 986 | | |
987 | 987 | | |
988 | 988 | | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
989 | 1015 | | |
990 | 1016 | | |
991 | 1017 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
413 | 444 | | |
414 | 445 | | |
415 | 446 | | |
| |||
0 commit comments