7696f704b2
pillifyLinks leaked Pill components, which if they contained a BaseAvatar would leak a whole DOM tree retained by the BaseAvatar's onClientSync event listener. This tracks the Pill containers so they can be unmounted via unmountPills. BasicMessageComposer set an event listener on selectionchange in onFocus which leaked if onBlur wasn't called. This removes it in unmount. We've also seen Velociraptor retaining full DOM trees from RRs, which this doesn't address as the leak is probably within Velocity, and the plan is to replace it with CSS animations. Should fix https://github.com/vector-im/riot-web/issues/12417