Files
vscode/test/componentFixtures
938777f227 Fix chat ResizeObserver loop by observing rows only while mounted (#327753)
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
2026-07-28 12:04:41 -07:00
..
2026-07-03 17:48:37 +02:00
2026-06-17 19:10:01 +02:00