Skip to content

Experimental LayoutAnimations proxy has no surface teardown handling #9919

Description

@bartlomiejbloniarz

The legacy proxy gets a teardown signal per surface (stopSurface via UIManagerAnimationDelegate on main, commit-hook marking after #9901) and uses it to skip exit animations when the surface is being destroyed (surfacesToRemove_shouldAnimate = false in pullTransaction).

LayoutAnimationsProxy_Experimental has no equivalent — no stopSurface, no teardown detection at all. The final empty-root transaction of a dying surface (reload, surface unmount) is processed like any regular mutation batch: exit animations and the shared-transition state machine run against a surface that no longer exists, and light-tree state for that surface is never proactively cleaned.

Candidate fix: reuse the commit-hook approach from #9901 — mark the surface on an empty-root commit, consume the mark on the transaction that removes the root's children, and skip animations/clean up light-tree state for it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Missing infoThe user didn't precise the problem enoughMissing reproThis issue need minimum repro scenario

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions