Commit 76096bc
fix(examples/chat): stage pin re-arms, stills look beats up by name, e2e guards the pinned viewport
The transcript pin scheduled one two-frame pair per seek and dropped any
publish that landed while that pair was in flight, so content rendering
after the pending pair's inner frame could stay below the fold. pinTranscript
now keeps one pair in flight at a time and a publish during the pair re-arms
exactly one more pair after it (pinPending). The destroy hook still cancels
whichever frame is pending and clears the flag, so nothing runs after
destroy. The docblock now also states that this deliberately overrides the
chat's unpin-on-user-scroll for a scrubbed display surface.
The pin still reaches into the chat's private .chat-scroll container. The
proper fix is a public scrollToBottom() on ChatComponent (today the
protected onScrollBubbleClick); that touches libs/ and is deferred, recorded
as a TODO at the call site.
The unit spec polls frame by frame instead of hard-coding "two frames deep",
and gains a re-arm case whose scrollHeight grows after the first pair's inner
frame. Mutation-checked: removing the re-arm fails only the new case;
removing the publish() call fails both.
The still recorder looks beats up by name (StageBeat) rather than by index,
collects oversized files and asserts once after both loops so a failure
cannot leave a half-rewritten set, and its header says deviceScaleFactor 2
applies to both sizes. stage.spec.ts asserts the interrupt panel and the
A2UI surface are in the viewport, guarding the pin end to end, and explains
the +1 on the hold boundary. The shared window augmentation moves to
e2e/stage-globals.d.ts.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>1 parent 60eb90c commit 76096bc
6 files changed
Lines changed: 107 additions & 33 deletions
File tree
- apps/website/public/screenshots
- examples/chat/angular
- e2e
- src/app/stage
Loading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
19 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | | - | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | 28 | | |
36 | 29 | | |
37 | 30 | | |
| |||
46 | 39 | | |
47 | 40 | | |
48 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
49 | 47 | | |
50 | | - | |
51 | | - | |
| 48 | + | |
| 49 | + | |
52 | 50 | | |
53 | 51 | | |
54 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
| |||
75 | 76 | | |
76 | 77 | | |
77 | 78 | | |
78 | | - | |
| 79 | + | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| 83 | + | |
82 | 84 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | 3 | | |
5 | 4 | | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | 5 | | |
15 | 6 | | |
16 | 7 | | |
| |||
33 | 24 | | |
34 | 25 | | |
35 | 26 | | |
| 27 | + | |
| 28 | + | |
36 | 29 | | |
37 | 30 | | |
| 31 | + | |
| 32 | + | |
38 | 33 | | |
39 | 34 | | |
40 | 35 | | |
| |||
55 | 50 | | |
56 | 51 | | |
57 | 52 | | |
| 53 | + | |
| 54 | + | |
58 | 55 | | |
59 | 56 | | |
60 | 57 | | |
| |||
Lines changed: 42 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
45 | | - | |
| 46 | + | |
46 | 47 | | |
47 | | - | |
| 48 | + | |
48 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
49 | 66 | | |
50 | 67 | | |
51 | | - | |
52 | | - | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
53 | 90 | | |
54 | 91 | | |
55 | 92 | | |
| |||
Lines changed: 31 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
| 300 | + | |
| 301 | + | |
300 | 302 | | |
301 | 303 | | |
302 | 304 | | |
| |||
307 | 309 | | |
308 | 310 | | |
309 | 311 | | |
| 312 | + | |
310 | 313 | | |
311 | 314 | | |
312 | 315 | | |
| |||
419 | 422 | | |
420 | 423 | | |
421 | 424 | | |
422 | | - | |
423 | | - | |
424 | | - | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
425 | 438 | | |
426 | 439 | | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
427 | 444 | | |
428 | 445 | | |
429 | | - | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
430 | 451 | | |
| 452 | + | |
| 453 | + | |
431 | 454 | | |
432 | 455 | | |
433 | 456 | | |
434 | 457 | | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
435 | 462 | | |
436 | 463 | | |
437 | 464 | | |
| |||
0 commit comments