Skip to content

feat: Add ability to have multiple direct-manipulation active in parallel (backport #20668) #20691

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jun 5, 2025

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jun 4, 2025

closes #20594

Feature

Add ability to have multiple direct-manipulation active in parallel

What is the current behavior?

Only one direct-manipulation was possible at a time (preventing users to interact with a second ScrollViewer while a first one was inertia scrolling)

What is the new behavior?

We can now have multiple direct-manipulation running in //

PR Checklist


This is an automatic backport of pull request #20668 done by [Mergify](https://mergify.com).

dr1rrb and others added 10 commits June 4, 2025 01:32
(cherry picked from commit 8405e8d)
(cherry picked from commit 5fcab91)
(cherry picked from commit 6b9cabf)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
(cherry picked from commit a9cd7f4)
@github-actions github-actions bot added the area/skia ✏️ Categorizes an issue or PR as relevant to Skia label Jun 4, 2025
@unodevops
Copy link
Contributor

🤖 Your WebAssembly Native Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-20691/wasm-native-net9/index.html

@unodevops
Copy link
Contributor

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-20691/docs/index.html

@unodevops
Copy link
Contributor

⚠️⚠️ The build 167628 has failed on Uno.UI - CI.

@agneszitte agneszitte enabled auto-merge June 5, 2025 15:32
@nventive-devops
Copy link
Contributor

The build 167628 found UI Test snapshots differences: android-28-net8: 32, android-28-net8-Snap: 47, ios: 4, ios-Snap: 49, skia-linux-screenshots: 80, skia-windows-screenshots: 282, wasm: 86, wasm-automated-net9.0-WinUI-Benchmarks-automated: 0, wasm-automated-net9.0-WinUI-Default-automated: 12, wasm-automated-net9.0-WinUI-RuntimeTests-0: 0, wasm-automated-net9.0-WinUI-RuntimeTests-1: 1, wasm-automated-net9.0-WinUI-RuntimeTests-2: 0

Details
  • android-28-net8: 32 changed over 824

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • Button_NestedButtons_Validation_nVentive_Umbrella_Views_UI_Samples_Content_UITests_ButtonTestsControl_Nested_Buttons
    • CommandBar_LongTitle_Validation_CommandBar_-_LongTitle_-_3_-_Orientation_Portrait
    • CommandBar_LongTitle_Validation_CommandBar_-_LongTitle_-_1_-_Initial_State
    • DecimalFormatterTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPage
    • CommandBar_LongTitle_Validation_CommandBar_-_LongTitle_-_2_-_Orientation_Landscape
    • Detereminate_ProgressRing_Validation50_[#FF0000_#008000_#008000_#FF0000]_Progress-Ring-Value-50
    • SequentialAnimations_SamplesApp_Windows_UI_Xaml_Media_Animation_SequentialAnimationsPage
    • ProgressRing_IsEnabled_Running_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220
    • ProgressRing_Visibility_Collapsed_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220
    • UpDownEnabledTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPage
    • UpDownTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPage
    • WebView_NavigateToAnchor_Initial
    • When_MultipleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • When_ExtendedSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • When_Parent_PointerMoved_After_drag_on_non-scrolling_ScrollViewer
    • Detereminate_ProgressRing_Validation25_[#FF0000_#008000_#FF0000_#FF0000]_Progress-Ring-Value-25
    • CommandBar_LongTitle_Validation_CommandBar_-_LongTitle_-_4_-_Orientation_Landscape
    • ToggleCollapsedStateToVerifyClipping_UITests_Shared_Microsoft_UI_Xaml_Controls_ExpanderTests_ExpanderColorValidationPage
    • CommandBar_LongTitle_Validation_Uno_UI_Samples_Content_UITests_CommandBar_CommandBar_LongTitle
    • Detereminate_ProgressRing_Validation75_[#FF0000_#008000_#008000_#008000]_Progress-Ring-Value-75
  • android-28-net8-Snap: 47 changed over 1068

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • Border_BorderBottomwithmargins_Uno_UI_Samples_UITests_BorderTestsControl_BorderBottomwithmargins
    • Border_Uniform_Thickness_and_Large_Radius_Uno_UI_Samples_UITests_BorderTestsControl_Uniform_Thickness_and_Large_Radius
    • ListView_ListViewSelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems
    • TabView_UITests_Microsoft_UI_Xaml_Controls_TabViewTests_TabViewPage_UITests_Microsoft_UI_Xaml_Controls_TabViewTests_TabViewPage
    • TeachingTip_UITests_Microsoft_UI_Xaml_Controls_TeachingTipTests_TeachingTipPage_UITests_Microsoft_UI_Xaml_Controls_TeachingTipTests_TeachingTipPage
    • Border_Border_Simple_with_Uniform_Thickness_Uno_UI_Samples_UITests_BorderTestsControl_Border_Simple_with_Uniform_Thickness
    • Icons_UITests_Windows_UI_Xaml_Controls_SymbolIconTests_SymbolIcon_Generic_UITests_Windows_UI_Xaml_Controls_SymbolIconTests_SymbolIcon_Generic
    • Scrolling_MUXControlsTestApp_ScrollViewDynamicPage_MUXControlsTestApp_ScrollViewDynamicPage
    • Border_Simple_with_Radius_Uno_UI_Samples_UITests_BorderTestsControl_Simple_with_Radius
    • Border_Uniform_Thickness_and_Small_Radius_Uno_UI_Samples_UITests_BorderTestsControl_Uniform_Thickness_and_Small_Radius
    • RatingControl_UITests_Microsoft_UI_Xaml_Controls_RatingControlTests_RatingControlPage_UITests_Microsoft_UI_Xaml_Controls_RatingControlTests_RatingControlPage
    • Border_Border_CornerRadius_with_Opacity_Uno_UI_Samples_UITests_BorderTestsControl_Border_CornerRadius_with_Opacity
    • Border_Border_Simple_with_Opacity_Uno_UI_Samples_UITests_BorderTestsControl_Border_Simple_with_Opacity
    • Brushes_Uno_UI_Samples_UITests_ImageBrushTestControl_Ellipse_Uno_UI_Samples_UITests_ImageBrushTestControl_Ellipse
    • Image_UITests_Windows_UI_Xaml_Controls_ImageTests_SvgImageSource_Icons_UITests_Windows_UI_Xaml_Controls_ImageTests_SvgImageSource_Icons
    • Image_UITests_Windows_UI_Xaml_Controls_ImageTests_SvgImageSource_NoSize_UITests_Windows_UI_Xaml_Controls_ImageTests_SvgImageSource_NoSize
    • NavigationView_MUXControlsTestApp_NavigationViewTopNavOnlyPage_MUXControlsTestApp_NavigationViewTopNavOnlyPage
    • NavigationView_MUXControlsTestApp_NavigationViewCustomThemeResourcesPage_MUXControlsTestApp_NavigationViewCustomThemeResourcesPage
    • NavigationView_MUXControlsTestApp_NavigationViewTopNavPage_MUXControlsTestApp_NavigationViewTopNavPage
    • Transform_Basics_UITests_Shared_Windows_UI_Xaml_Media_Transform_Basics
  • ios: 4 changed over 255

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • ProgressRing_IsEnabled_Running_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220
    • Check_ListView_Swallows_Measure_UITests_Shared_Windows_UI_Xaml_Controls_ListView_ListView_With_ListViews_Count_Measure
    • ListView_SelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems
    • ProgressRing_Visibility_Collapsed_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220
  • ios-Snap: 49 changed over 985

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • Default_Uno_UI_Samples_Content_UITests_WebView_WebView_AnchorNavigation_Uno_UI_Samples_Content_UITests_WebView_WebView_AnchorNavigation
    • Image_LargeImageList_Uno_UI_Samples_UITests_LargeImageList
    • Image_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Horizontal_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Horizontal
    • NavigationView_MUXControlsTestApp_NavigationViewCustomThemeResourcesPage_MUXControlsTestApp_NavigationViewCustomThemeResourcesPage
    • Brushes_ImageBrushStretch_Uno_UI_Samples_UITests_ImageBrushTestControl_ImageBrushStretch
    • Image_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Smaller_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Smaller
    • Image_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Taller_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Taller
    • Image_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Wider_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Wider
    • Image_Uno_UI_Samples_UITests_Image_Image_Stretch_Full_Wider_Uno_UI_Samples_UITests_Image_Image_Stretch_Full_Wider
    • Brushes_PanelImageBrush_Uno_UI_Samples_UITests_ImageBrushTestControl_PanelImageBrush
    • Brushes_PathImageBrushfill_Uno_UI_Samples_UITests_ImageBrushTestControl_PathImageBrushfill
    • Image_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Vertical_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Vertical
    • Image_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Alignment_SizeOnControl_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Alignment_SizeOnControl
    • NavigationView_MUXControlsTestApp_NavigationViewMenuItemStretchPage_MUXControlsTestApp_NavigationViewMenuItemStretchPage
    • Pickers_UITests_Windows_UI_Xaml_Controls_CalendarView_CalendarView_Theming_UITests_Windows_UI_Xaml_Controls_CalendarView_CalendarView_Theming
    • SwipeControl_MUXControlsTestApp_SwipeControlPage2_MUXControlsTestApp_SwipeControlPage2
    • TextBlock_TextBlock_FixedWidth_With_DataBound_Run_Uno_UI_Samples_Content_UITests_TextBlockControl_TextBlock_FixedWidth_With_DataBound_Run
    • MediaPlayerElement_Using_3gp_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_3gp_Extension
    • MenuBar_SimpleMenuBar_UITests_Shared_Windows_UI_Xaml_Controls_MenuBarTests_SimpleMenuBar
    • WebView_UITests_Windows_UI_Xaml_Controls_WebView_WebView_Title_UITests_Windows_UI_Xaml_Controls_WebView_WebView_Title
  • skia-linux-screenshots: 80 changed over 2252

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • AutoSuggestBox_Icons.png
    • ClipboardTests.png-dark
    • ClipboardTests.png
    • Focus_FocusVisual_Properties.png-dark
    • Focus_FocusVisual_Properties.png
    • ImageBrushInList.png-dark
    • ImageBrushInList.png
    • DoubleImageBrushInList.png-dark
    • DoubleImageBrushInList.png
    • ExpanderColorValidationPage.png-dark
    • ExpanderColorValidationPage.png
    • ButtonClippingTestsControl.png-dark
    • CalendarView_Theming.png-dark
    • CalendarView_Theming.png
    • DropDownButtonPage.png-dark
    • DropDownButtonPage.png
    • ImageIconPage.png-dark
    • ImageIconPage.png
    • Buttons.png-dark
    • Buttons.png
  • skia-windows-screenshots: 282 changed over 2252

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • BitmapIcon_Sizing.png
    • ButtonClippingTestsControl.png
    • Buttons.png-dark
    • ElevationView_Clipping.png-dark
    • ElevationView_Clipping.png
    • HitTest_Image.png-dark
    • HitTest_Image.png
    • HitTest_LightDismiss.png-dark
    • HitTest_LightDismiss.png
    • HitTest_Shapes.png-dark
    • HitTest_Shapes.png
    • AuthenticationBroker_Demo.png-dark
    • AutomationProperties_Name.png-dark
    • AutomationProperties_Name.png
    • BitmapIcon_Monochromatic.png-dark
    • BitmapIcon_Monochromatic.png
    • BorderVersusPanelClipping.png-dark
    • Contacts_Pick.png-dark
    • Contacts_Pick.png
    • EasClientDeviceInformation.png-dark
  • wasm: 86 changed over 1052

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • UITests.Shared.Windows_UI_Xaml_Controls.Buttons_Native
    • Uno.UI.Samples.Content.UITests.ButtonTestsControl.CheckBox_Button
    • GenericApp.Views.Samples.Shared.Content.UITests.GridViewMultipleSelectionMode
    • SamplesApp.Microsoft_UI_Xaml_Controls.WebView2Tests.WebView2ControlJavaScriptAlertConfirmPrompt
    • SamplesApp.Microsoft_UI_Xaml_Controls.WebView2Tests.WebView2_AnchorNavigation
    • SamplesApp.Windows_UI_Xaml_Controls.ListView.ListView_ItemContainerStyleSelector
    • UITests.Microsoft_UI_Xaml_Controls.RadioButtonsTests.RadioButtonsBasicPage
    • UITests.Shared.Microsoft_UI_Xaml_Controls.WebView2Tests.WebView2_Animated_Opacity
    • UITests.Shared.Windows_UI_Xaml_Controls.Button.Button_Events
    • MUXControlsTestApp.SwipeControlPage2
    • UITests.Uno_Web.Http.CookieManagerTests
    • UITests.Windows_UI_Xaml_Controls.ImageTests.SvgImageSource_MultiLoad
    • UITests.Microsoft_UI_Xaml_Controls.InfoBadgeTests.InfoBadgePage
    • UITests.Shared.Windows_UI_Input.GestureRecognizerTests.Button_Inside_Border
    • UITests.Shared.Windows_UI_Xaml_Controls.ListView.ListView_Weird_Measure
    • UITests.Shared.Windows_UI_Xaml_Controls.WebView.WebView_Animated_Opacity
    • UITests.Windows_UI_Xaml_Controls.BorderTests.PanelWithNullBrushAndNonZeroThickness
    • UITests.Windows_UI_Xaml_Controls.SwipeControlTests.SwipeControl_ListView_ItemClick
    • UITests.Windows_UI_Xaml_Controls.ListView.ListViewItem_IsEnabled
    • UITests.Windows_UI_Xaml_Controls.ListView.ListView_DisplayMemberPath
  • wasm-automated-net9.0-WinUI-Benchmarks-automated: 0 changed over 1

  • wasm-automated-net9.0-WinUI-Default-automated: 12 changed over 875

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • Default_StrokeThickness_MyPolygon
    • ListView_SelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems
    • When_ExtendedSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • Default_StrokeThickness_MyRect
    • When_SingleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • Default_StrokeThickness_MyPolyline
    • Default_StrokeThickness_MyLine
    • When_NoSelection_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • When_Theme_Changed_No_Crash_UITests_Windows_UI_Xaml_Controls_CalendarView_CalendarView_Theming
    • Default_StrokeThickness_MyPath
    • Default_StrokeThickness_MyEllipse
    • TestProgressRing_InitialState_UITests_Microsoft_UI_Xaml_Controls_ProgressRing_WinUIProgressRing_Features
  • wasm-automated-net9.0-WinUI-RuntimeTests-0: 0 changed over 1

  • wasm-automated-net9.0-WinUI-RuntimeTests-1: 1 changed over 1

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • RunRuntimeTests_SamplesApp_Samples_UnitTests_UnitTestsPage
  • wasm-automated-net9.0-WinUI-RuntimeTests-2: 0 changed over 1

@agneszitte agneszitte merged commit 724df8c into release/stable/6.0 Jun 5, 2025
90 of 91 checks passed
@agneszitte agneszitte deleted the mergify/bp/release/stable/6.0/pr-20668 branch June 5, 2025 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/skia ✏️ Categorizes an issue or PR as relevant to Skia
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants