PostHog / posthog-ios

PostHog iOS SDK
https://posthog.com/docs/libraries/ios
MIT License
35 stars 41 forks source link

recording: improvements to screenshot masking #147

Closed marandaneto closed 3 months ago

marandaneto commented 3 months ago

:bulb: Motivation and Context

:green_heart: How did you test it?

:pencil: Checklist

marandaneto commented 3 months ago

Random thought: I don't recall seeing any exit early conditions. I know rrweb will not check child nodes if a parent has been masked which could help some of the extra processing time here

findMaskableWidgets (screenshot masking) returns if any condition is met and doesn't check the children's list, so I mask the whole X-Y no matter what. toWireframe indeed does not do it, but the reason is that a component can be composed of different types, eg a Button contains a Label but I have to cast to both types to read the property of each of them, so it's just easier to let it run thru the whole thing, but it's a place to improve if the wireframe has performance issues as well for sure, good point.