mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-15 18:37:00 +01:00
Chat telemetry reported a large volume of "ResizeObserver loop completed with undelivered notifications" warnings attributed to ChatInputPart.containerHeight. That attribution is misleading: the loop error is dispatched by Chromium after the observation phase, so the DisposableResizeObserver name recorded is simply whichever observer fired last, not the one that caused the loop. The actual cause is in ChatListItemRenderer. Row templates observed their rowContainer for the entire template lifetime, but the chat list is virtualized and recycles rows. When an observation phase disconnects an observed target, its notification can never be delivered, and the browser raises the loop error. Bind the row observation to mount state using the existing connection-observer element: observe on connect, clear on disconnect. This is synchronous with mount, so it needs no frame deferral. Also stop ChatViewPane's stacked-sessions input-height autorun from re-entering inputPart.layout(). It now uses a targeted path that updates the height budget and lays out only list-side surfaces. Adds a component-explorer harness with fully mocked model traffic and a Playwright regression covering four host-layout scenarios, plus a unit test locking the targeted layout dispatch order. Refs #316501 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aacd276e-cf84-48bd-a2ab-6f6a4d4c3431
VS Code Tests
Contents
This folder contains the various test runners for VS Code. Please refer to the documentation within for how to run them: