You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The session-scroll-reading perf scenario at packages/app/e2e/perf/perf-probe.spec.ts:470-509 actually exercises the user-visible "scroll stutter" experience and can serve as the regression gate for the core scrolling path tracked under #615. Today it does not — the seeded content is too small, the scroll distance covers only half the timeline, and the input cadence does not resemble real trackpad usage.
Scope
In scope:
Expand session-scroll-reading to a full-distance round trip (top → bottom → top, covering ≥95% of timeline length).
Add trackpad-cadence emulation: a 60Hz small-step wheel stream, distinct from the current single large-jump wheel.
Seed heterogeneous content (tool rows with open/closed states, code blocks, reasoning blocks, long user messages) instead of uniform text.
Background signal: hand-test feedback on PR #631 surfaced INP ~200ms on trackpad scrolling that the current session-scroll-reading scenario does not trigger.
Goal
The
session-scroll-readingperf scenario atpackages/app/e2e/perf/perf-probe.spec.ts:470-509actually exercises the user-visible "scroll stutter" experience and can serve as the regression gate for the core scrolling path tracked under #615. Today it does not — the seeded content is too small, the scroll distance covers only half the timeline, and the input cadence does not resemble real trackpad usage.Scope
In scope:
session-scroll-readingto a full-distance round trip (top → bottom → top, covering ≥95% of timeline length).Out of scope:
createMemooveruse,ScrollViewthrottling,content-visibility/contain-intrinsic-sizesizing, scroll state-machine depth. Those are tracked in [Bug] Session UI typing lag and scroll stuttering #615.Relevant files or context
Likely files:
packages/app/e2e/perf/perf-probe.spec.ts(scenario implementation)packages/app/e2e/perf/profiles.ts(profile gating / threshold registration)packages/opencode/test/lib/llm-server.ts(heterogeneous fixture support if needed)Related issues / PRs:
concurrent-shimmer-extremefor render pressure on the message-body path. This issue covers the scroll path; the two are complementary, not duplicates.Background signal: hand-test feedback on PR #631 surfaced INP ~200ms on trackpad scrolling that the current
session-scroll-readingscenario does not trigger.Verification
devand reliably reproduce the visible stutter / INP regression before any [Bug] Session UI typing lag and scroll stuttering #615 fix lands.session-scroll-readingbaseline numbers for unrelated probes.bun --cwd packages/app test:e2e:perf -- session-scroll-readingpasses locally on the low-end profile.Execution mode
Agent should investigate and propose a plan first.