No Way to detect cancelled DragGesture in SwiftUI

There’s no way to know when a DragGesture() has been canceled. Perhaps this was left out of SwiftUI on purpose because the onEnded event should suffice?

Well I think that's wrong because when there’s a DragGesture on a view inside a ScrollView, the DragGesture’s onChanged event get’s triggered when you start scrolling the content inside the ScrollView however the DragGesture’s onEnded event is never fired apparently because it was CANCELED by the act of scrolling the ScrollView.

BUT there’s no way for me to know that it was cancelled because there's no canceled event handler like we had for such things in UIKit. So my code is left in an incorrect state where it thinks it’s in the middle of a DragGesture. But it isn't.
No Way to detect cancelled DragGesture in SwiftUI
 
 
Q