Repository navigation
Fix VirtualizedSectionList._setUpdateHighlightFor deleting from wrong target (memory leak) - #59455
bl4987637-code wants to merge 1 commit into
Conversation
…om method instead of map The else branch of _setUpdateHighlightFor was calling: delete this._updateHighlightFor[cellKey] which targeted the arrow-function method itself rather than the _updateHighlightMap backing store. This meant item highlight callbacks were never cleaned up on unmount, causing a memory leak and stale callbacks. Fix: replace with delete this._updateHighlightMap[cellKey] to match the symmetric _setUpdatePropsFor implementation. The // \[prop-missing] suppression comment is also removed since the correct target no longer triggers a Flow error.
|
Hi @bl4987637-code! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks! |
|
Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks! |
Summary
Fix a typo in _setUpdateHighlightFor where the else branch (called on cell unmount to clean up) was calling:
delete this._updateHighlightFor[cellKey];
This targeted this._updateHighlightFor ## Summary
Fix a typo in _setUpdateHighlightFor where the else branch (called on cell unmount to clean up) was calling:
delete this._updateHighlightFor[cellKey];
This targeted this._updateHighlightFor - the arrow function method itself - rather than this._updateHighlightMap, the backing store object. The FlowFixMe suppression comment was silencing the resulting Flow type error.
Fix:
delete this._updateHighlightMap[cellKey];
Impact
Test Plan
Changelog
[General] [Fixed] - Fix VirtualizedSectionList._setUpdateHighlightFor deleting from wrong target (memory leak)