Closed hazeycode closed 3 years ago
Thanks for working on this.
You have a lot of trailing whitespace. Make sure swiftlint
passes without any warnings.
Cancelling a conversion no longer correctly works:
Make sure you thoroughly test all possible states and scenarios.
Sorry about that @sindresorhus, I have fixed the cancellation state bug that I introduced and tested the conversion state cancelations and completions more thoroughly.
If you drag and drop a video, then drag and drop another video onto the editor, and then press "Cancel", you end up with this:
This may or may not be the same issue as the above: If you drag and drop a video, convert it, and on the success screen, drag and drop another video, and then press Cancel, you end up with:
Have you tested this change on macOS 10.15 or 10.14?
I only have macOS version 11.2.3 for testing at this time
Can you push commits instead of squashing and force pushing? Force-pushing makes it hard to follow what changed and I cannot comment on individual commits.
If I drag in a video, then drag another one into the editor, the editor animates slightly in size. This is new behavior. It should only fade between the view. Try out the App Store version to see the behavior difference.
You have some swiftlint warnings.
Can you use the Xcode memory graph to ensure there are no retain cycles?
I'm a little bit paranoid that this change introduces subtle retain cycles. I spent years fixing retain cycles in Gifski.
I think moving the transition code out of the NSViewController extension in Utilities into a RootViewController would resolve the issues here. RootViewController would take responsibilty for the lifetimes and transitions between view controllers and would be the only window contentViewController.
I think moving the transition code out of the NSViewController extension in Utilities into a RootViewController would resolve the issues here.
Why would it have to be moved out the extension? We could still have a root view controller that manages everything, while having the reusable transition logic in the extension.
I'm closing this. This is taking forever and the current code works fine. This was just meant to clean up the code, but it's really not worth the risk of breaking things more. We'll eventually move the whole app to SwiftUI at some point anyway.
While this still changes the contentViewController, presenting view controllers behave exactly like a stack. Works flawlessly (in my testing) with dismiss:
Fixes #108
IssueHunt Summary
### Referenced issues This pull request has been submitted to: - [#108: Use `NSViewController.present()` with custom animator](https://issuehunt.io/repos/119822304/issues/108) ---