52inc/Pulley

iOS 13 feedback loop with latest release 2.8.3

glorysaber opened this issue · 10 comments

With the latest update to 2.8.3 I am also running into a feedback loop now. Its happening on non-homebutton devices (Because thats the only devices we use it for in our app) on devices like the iPhone pro max but only in iOS 13. Its the same feedback loop stack every-time. I included the stack trace for the feedback loop as its highly reproducible. When the drawer is open and you go to the home-screen and then back.

StackTracePulleyFeedBackLoop.txt

Is not reproducible on 2.8.2, sending a build of my app to my beta testers using 2.8.2 now to see if it is fixed.

@glorysaber Thanks! I have been looking into these issues via #390

@glorysaber Can you replicate this issue on the Demo App for me? I am unable to replicate this feedback loop on my devices and the difference between 2.8.2 and 2.8.3 was very minor so I would love to track this loop down.

I just tried and was unable to reproduce in the default demo app. Ill take a look how we use it and see if there is a significant difference.

Ok so what makes it reproducible is this in the DrawerContentViewController.

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
		super.traitCollectionDidChange(previousTraitCollection)
		guard let drawerVC = self.parent as? PulleyViewController else {
			return
		}
		drawerVC.setNeedsSupportedDrawerPositionsUpdate()
	}

This is what causes it to get in a loop with 2.8.3 but not 2.8.2

I will play around with that function I posted above to see if I can fix it.

@glorysaber I have pushed a theoretical fix to the xcode12 branch, if you could pull that down and see if that fixes your issue that would be much appreciated!

Yes thank you @ulmentflam! That seems to have done the trick!

@glorysaber Awesome, this update is going out now, thanks for your report!

This issue has been fixed in release 2.8.4