Context
WorkstationPopOutPaneIdentityNL › component, provider, store and descendant identities survive pop-out AND return has been red in every #17844 census (the 21 at 03219a75b7, the 28 at e66b6f8142, the 22 at a9abb6c1dc) and still is at dev a87a89e293:
and every descendant travelled as the same instance
- Expected - 0
+ Received + 25
"neo-grid-body-2__row-0" … "neo-grid-body-2__row-4" (before and after)
+ "neo-grid-body-2__row-5" … "neo-grid-body-2__row-29" (after only)The Problem
readIdentity collects every component id under the Feed pane, which includes the grid body's pooled row components. The pool is sized by the height the grid paints in. The Feed pane in the opener shows 5 rows; the popup is taller, so the same grid body grows its pool to 30. The diff is additions only: every descendant from before the pop-out is still there, the same instance. The claim the arm states holds, and its assertion, set equality, measures the viewport too.
The Architectural Reality
- Instance identity is the claim (
componentId, providerId, storeId, the subtree). A pooled row's count belongs to the grid's virtualization, not to the pane's identity.
- Relaxing the check to "before ⊆ after" alone would also accept a re-created toolbar or column. So the non-pooled subtree stays exact.
The Fix
Both legs (detached and returned) compare the subtree in two parts:
- the non-pooled descendants, exactly;
- every pre-existing pooled row still present, with extra rows allowed (a pool grown by a taller window).
A pooled row is the grid body's __row-N component. No engine change.
Acceptance Criteria
Out of Scope
- The grid's pool sizing, which is correct.
- The rest of #17844's census.
Related
#17844 (census) · #18395 / #18396 (the arm's last change)
Origin Session ID: 81d1894c-d8fd-4192-8350-42e32eb0101e
Retrieval Hint: "WorkstationPopOutPaneIdentityNL descendant identity grid row pool viewport popup taller"
Context
WorkstationPopOutPaneIdentityNL › component, provider, store and descendant identities survive pop-out AND returnhas been red in every #17844 census (the 21 at03219a75b7, the 28 ate66b6f8142, the 22 ata9abb6c1dc) and still is at deva87a89e293:and every descendant travelled as the same instance - Expected - 0 + Received + 25 "neo-grid-body-2__row-0" … "neo-grid-body-2__row-4" (before and after) + "neo-grid-body-2__row-5" … "neo-grid-body-2__row-29" (after only)The Problem
readIdentitycollects every component id under the Feed pane, which includes the grid body's pooled row components. The pool is sized by the height the grid paints in. The Feed pane in the opener shows 5 rows; the popup is taller, so the same grid body grows its pool to 30. The diff is additions only: every descendant from before the pop-out is still there, the same instance. The claim the arm states holds, and its assertion, set equality, measures the viewport too.The Architectural Reality
componentId,providerId,storeId, the subtree). A pooled row's count belongs to the grid's virtualization, not to the pane's identity.The Fix
Both legs (detached and returned) compare the subtree in two parts:
A pooled row is the grid body's
__row-Ncomponent. No engine change.Acceptance Criteria
--workers=1, runtime root bound), the arm passes its detached identity leg. It then fails later, on the return leg's reintegration. That failure predates this ticket (it reproduces at the arm's own authoring commit) and is #19273's; the returned identity leg runs once #19273 lands.Out of Scope
Related
#17844 (census) · #18395 / #18396 (the arm's last change)
Origin Session ID: 81d1894c-d8fd-4192-8350-42e32eb0101e Retrieval Hint: "WorkstationPopOutPaneIdentityNL descendant identity grid row pool viewport popup taller"