Skip to content

fix(webview): restore conversation virtualization - #380

Merged
AprilNEA merged 1 commit into
masterfrom
xuan/code-259
Aug 1, 2026
Merged

fix(webview): restore conversation virtualization#380
AprilNEA merged 1 commit into
masterfrom
xuan/code-259

Conversation

@AprilNEA

@AprilNEA AprilNEA commented Aug 1, 2026

Copy link
Copy Markdown
Member

Summary

  • constrain the Web workbench grid child so the conversation keeps a real scroll viewport
  • give virtua a 300px initial turn-size hint to avoid an expensive first measurement
  • add a bundled browser regression check for a scrollable, bottom-pinned, virtualized long thread

Root cause

The direct grid child in WebWorkbenchShell lacked min-h-0. Its automatic minimum size expanded to the transcript's min-content height, so virtua saw the entire 48-turn thread as visible and mounted every row during a thread switch. The earlier scroll-to-bottom change was not the cause.

With the constrained height chain restored, the 48-turn mock mounts 4 rows instead of 48. The initial virtualizer layout callback dropped from roughly 150–170ms to 37ms; five short/long round trips painted in 11–16ms with no long tasks.

Validation

  • pnpm -F @linkcode/webview e2e:browser
  • pnpm check:ci
  • pnpm test — 302 files and 2435 tests passed

Linear: CODE-259

@linear-code

linear-code Bot commented Aug 1, 2026

Copy link
Copy Markdown

CODE-259

@AprilNEA
AprilNEA marked this pull request as ready for review August 1, 2026 18:03
@AprilNEA
AprilNEA merged commit 4833c3d into master Aug 1, 2026
9 checks passed
@AprilNEA
AprilNEA deleted the xuan/code-259 branch August 1, 2026 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants