[iOS/MacCatalyst] Fix ActivityIndicator frozen static frame when IsRunning is set to false - #36263
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 36263Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 36263" |
|
Hey there @@SyedAbdulAzeemSF4852! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
There was a problem hiding this comment.
Pull request overview
Fixes an iOS/MacCatalyst regression where ActivityIndicator could stop animating but remain visible as a “frozen” static frame after IsRunning is set to false, by ensuring the native UIActivityIndicatorView is hidden whenever it isn’t both running and visible.
Changes:
- Update iOS
UpdateIsRunninglogic to always hide the native view when not(IsRunning && Visibility.Visible)to prevent the frozen-frame state. - Add an iOS handler device test validating that transitioning
IsRunningfromtruetofalsehides the native view even whenVisibilityisVisible.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/Core/src/Platform/iOS/ActivityIndicatorExtensions.cs | Ensures UIActivityIndicatorView.Hidden is set to true when not running, preventing the visible-but-not-animating frozen frame. |
| src/Core/tests/DeviceTests/Handlers/ActivityIndicator/ActivityIndicatorHandlerTests.iOS.cs | Adds a regression test asserting the native view becomes hidden after setting IsRunning = false while visible. |
This comment has been minimized.
This comment has been minimized.
MauiBot
left a comment
There was a problem hiding this comment.
AI Review Summary
@SyedAbdulAzeemSF4852 — new AI review results are available based on this last commit:
d38cc0d. To request a fresh review after new comments or commits, comment/review rerun.
🗂️ Review Sessions — click to expand
🚦 Gate — Test Before & After Fix
Gate Result: ✅ PASSED
Platform: IOS · Base: main · Merge base: 89a4e02d
| Test | Without Fix (expect FAIL) | With Fix (expect PASS) |
|---|---|---|
📱 ActivityIndicatorHandlerTests (SettingIsRunningFalseWhileVisibleShouldHideNativeView) Category=ActivityIndicator |
✅ FAIL — 363s | ✅ PASS — 224s |
🔴 Without fix — 📱 ActivityIndicatorHandlerTests (SettingIsRunningFalseWhileVisibleShouldHideNativeView): FAIL ✅ · 363s
(truncated to last 15,000 chars)
8168810] 2026-07-05 13:33:58.816686-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] Exception stack traces: at Microsoft.Maui.DeviceTests.ActivityIndicatorHandlerTests.SettingIsRunningFalseWhileVisibleShouldHideNativeView()
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8169050] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8170730] 2026-07-05 13:33:58.816826-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] Execution time: 0.0053392
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8172140] 2026-07-05 13:33:58.817059-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8176180] 2026-07-05 13:33:58.817213-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] value: ActivityIndicator
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8176370] 2026-07-05 13:33:58.817353-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [FAIL] Setting IsRunning False While Visible Should Hide Native View
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8176430] 2026-07-05 13:33:58.817453-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [FAIL] Setting IsRunning False While Visible Should Hide Native View Test name: Setting IsRunning False While Visible Should Hide Native View
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8176800] Assembly: [Microsoft.Maui.Core.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8177440] 2026-07-05 13:33:58.817576-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] Exception messages: ActivityIndicator should be hidden when IsRunning is false. Exception stack traces: at Microsoft.Maui.DeviceTests.ActivityIndicatorHandlerTests.SettingIsRunningFalseWhileVisibleShouldHideNativeView()
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8179690] 2026-07-05 13:33:58.817734-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8179930] Execution time: 0.0053392
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8179980] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8180030] value: ActivityIndicator
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8206410] 2026-07-05 13:33:58.820246-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Semantic Hint is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8218820] 2026-07-05 13:33:58.821619-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] HandlersHaveAllExpectedContructors
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8288900] 2026-07-05 13:33:58.828240-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] FlowDirection is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8299240] 2026-07-05 13:33:58.829551-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] FlowDirection is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8407760] 2026-07-05 13:33:58.840441-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] ContainerView Remains If Shadow Mapper Runs Again
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8496820] 2026-07-05 13:33:58.849335-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] PlatformView Transforms are not empty
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8512300] 2026-07-05 13:33:58.850939-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] PlatformView Transforms are not empty
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:58.8522400] 2026-07-05 13:33:58.851941-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] PlatformView Transforms are not empty
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.0854700] 2026-07-05 13:33:59.084950-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Setting Semantic Description makes element accessible
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.0913390] 2026-07-05 13:33:59.090874-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] DisconnectHandlerDoesntCrash
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1010880] 2026-07-05 13:33:59.100767-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1021460] 2026-07-05 13:33:59.101934-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1030780] 2026-07-05 13:33:59.102806-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1038390] 2026-07-05 13:33:59.103662-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1044710] 2026-07-05 13:33:59.104291-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1208080] 2026-07-05 13:33:59.120384-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1233130] 2026-07-05 13:33:59.123069-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1253660] 2026-07-05 13:33:59.125124-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1274720] 2026-07-05 13:33:59.127267-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Scale initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1324650] 2026-07-05 13:33:59.132180-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] IsRunning Initializes Correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1346450] 2026-07-05 13:33:59.134387-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] IsRunning Initializes Correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1366940] 2026-07-05 13:33:59.136525-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Clip Initializes ContainerView Correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1495100] 2026-07-05 13:33:59.149175-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] InputTransparencyInitializesCorrectly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1541810] 2026-07-05 13:33:59.151807-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] InputTransparencyInitializesCorrectly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1542170] 2026-07-05 13:33:59.152218-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [IGNORED] View Renders To Image
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1594830] 2026-07-05 13:33:59.159219-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1608370] 2026-07-05 13:33:59.160397-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1706060] 2026-07-05 13:33:59.170121-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1753980] 2026-07-05 13:33:59.172574-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1754250] 2026-07-05 13:33:59.173760-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1765110] 2026-07-05 13:33:59.175738-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1768010] 2026-07-05 13:33:59.176567-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1773690] 2026-07-05 13:33:59.177202-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1781010] 2026-07-05 13:33:59.177798-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1789440] 2026-07-05 13:33:59.178698-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1812230] 2026-07-05 13:33:59.180956-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Rotation initializes correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1911290] 2026-07-05 13:33:59.190803-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Transformation Calculated Correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1963890] 2026-07-05 13:33:59.196138-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Opacity is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1972300] 2026-07-05 13:33:59.196989-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Opacity is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.1999030] 2026-07-05 13:33:59.199699-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Opacity is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.2006690] 2026-07-05 13:33:59.200492-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Opacity is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.2013450] 2026-07-05 13:33:59.201114-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Opacity is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.2147950] 2026-07-05 13:33:59.214571-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] IsRunning Should Respect Visibility At Init
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.2157610] 2026-07-05 13:33:59.215473-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] IsRunning Should Respect Visibility At Init
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.2163440] 2026-07-05 13:33:59.216155-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] IsRunning Should Respect Visibility At Init
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.2180200] 2026-07-05 13:33:59.217783-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] IsRunning Should Respect Visibility At Init
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.4560590] 2026-07-05 13:33:59.455694-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Setting Semantic Hint makes element accessible
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.4639520] 2026-07-05 13:33:59.463577-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Visibility is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.4741010] 2026-07-05 13:33:59.464841-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Visibility is set correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.4843170] 2026-07-05 13:33:59.477885-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Transformation Initialize Correctly
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.4843530] 2026-07-05 13:33:59.480469-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Native View Bounds are not empty
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.4843620] 2026-07-05 13:33:59.481481-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Native View Bounds are not empty
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.4843660] 2026-07-05 13:33:59.483469-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] [PASS] Native View Bounds are not empty
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.4944580] 2026-07-05 13:33:59.485425-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] Microsoft.Maui.DeviceTests.ActivityIndicatorHandlerTests 1.2487105 ms
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5010530] 2026-07-05 13:33:59.500698-0700 Microsoft.Maui.Core.DeviceTests[6569:43969] Failed tests:
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5012760] 2026-07-05 13:33:59.501034-0700 Microsoft.Maui.Core.DeviceTests[6569:43969] 1) [FAIL] Setting IsRunning False While Visible Should Hide Native View Test name: Setting IsRunning False While Visible Should Hide Native View
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5014030] Assembly: [Microsoft.Maui.Core.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5015080] 2026-07-05 13:33:59.501194-0700 Microsoft.Maui.Core.DeviceTests[6569:43969] Exception messages: ActivityIndicator should be hidden when IsRunning is false. Exception stack traces: at Microsoft.Maui.DeviceTests.ActivityIndicatorHandlerTests.SettingIsRunningFalseWhileVisibleShouldHideNativeView()
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5015710] 2026-07-05 13:33:59.501431-0700 Microsoft.Maui.Core.DeviceTests[6569:43969] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5015940] Execution time: 0.0053392
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5016040] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5016410] value: ActivityIndicator
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5030390] 2026-07-05 13:33:59.502539-0700 Microsoft.Maui.Core.DeviceTests[6569:43969] Tests run: 67 Passed: 65 Inconclusive: 0 Failed: 1 Ignored: 1
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5244180] 2026-07-05 13:33:59.524118-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] Xml file was written to the provided writer.
�[40m�[37mdbug�[39m�[22m�[49m: [13:33:59.5246510] 2026-07-05 13:33:59.524306-0700 Microsoft.Maui.Core.DeviceTests[6569:42853] Tests run: 1152 Passed: 65 Inconclusive: 0 Failed: 1 Ignored: 1086
�[40m�[37mdbug�[39m�[22m�[49m: ==================== End of ApplicationLog ====================
�[40m�[37mdbug�[39m�[22m�[49m:
�[40m�[32minfo�[39m�[22m�[49m: Uninstalling the application 'com.microsoft.maui.core.devicetests' from 'iPhone 11 Pro'
�[40m�[37mdbug�[39m�[22m�[49m:
�[40m�[37mdbug�[39m�[22m�[49m: Running /Applications/Xcode_26.0.1.app/Contents/Developer/usr/bin/simctl
�[40m�[37mdbug�[39m�[22m�[49m: Process simctl exited with 0
�[40m�[32minfo�[39m�[22m�[49m: Application 'com.microsoft.maui.core.devicetests' was uninstalled successfully
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "XPDX4P6V3H-1",
"exitCode": 1,
"exitCodeName": "TESTS_FAILED",
"platform": "apple",
"device": "iPhone 11 Pro",
"deviceOsVersion": "26.0",
"files": [
{
"name": "test-ios-simulator-64_26.0-28243AAB-8DF4-4DCF-99A1-E23E7A8EA192.log",
"type": "executionlog"
},
{
"name": "list-ios-simulator-64_26.0-20260705_133323.log",
"type": "devicelist"
},
{
"name": "test-ios-simulator-64_26.0-20260705_133330.log",
"type": "testlog"
},
{
"name": "iPhone 11 Pro.log",
"type": "systemlog"
},
{
"name": "Microsoft.Maui.Core.DeviceTests.log",
"type": "systemlog"
},
{
"name": "com.microsoft.maui.core.devicetests.log",
"type": "applicationlog"
},
{
"name": "xunit-test-ios-simulator-64_26.0-20260705_133330.xml",
"type": "xmllog"
}
]
}
<<XHARNESS_RESULT_END>>
XHarness exit code: 1 (TESTS_FAILED)
Passed: 0
Failed: 0
Tests completed with exit code: 1
🟢 With fix — 📱 ActivityIndicatorHandlerTests (SettingIsRunningFalseWhileVisibleShouldHideNativeView): PASS ✅ · 224s
(truncated to last 15,000 chars)
pplication/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : monoeg_g_log
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1008400] 0x107dfe848 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : load_aot_module
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1008470] 0x107ed8618 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_load_from
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1008530] 0x107ed8134 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_open
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1008580] 0x107ed9454 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_open
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1016800] 0x107a45ddc - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1016920] 0x107eda470 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : invoke_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1016990] 0x107ed73f8 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_byname
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1018670] 0x107e080b0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : load_image
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1018790] 0x107dfe7e0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : load_aot_module
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1018860] 0x107ed8618 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_load_from
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1018920] 0x107ed8134 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_open
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019130] 0x107ed9454 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_open
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019180] 0x107a45ddc - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019230] 0x107eda470 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : invoke_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019300] 0x107ed73f8 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_byname
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019470] 0x107e080b0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : load_image
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019540] 0x107dfe7e0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : load_aot_module
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019580] 0x107ed8618 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_load_from
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019650] 0x107ed8134 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_open
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019780] 0x107ed9454 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_open
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019830] 0x107a45ddc - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019880] 0x107eda470 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : invoke_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1019950] 0x107ed73f8 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_byname
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1020090] 0x107e080b0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : load_image
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1020160] 0x107dfe7e0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : load_aot_module
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1020210] 0x107e02fac - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_aot_get_method
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1020260] 0x107d87f3c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_jit_compile_method_with_opt
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1020320] 0x107d85cac - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1021490] 0x107f46910 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_runtime_invoke_checked
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1021730] 0x107ef9818 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : create_exception_two_strings
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1022030] 0x107ef959c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_exception_from_name_two_strings_checked
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1022150] 0x107ed396c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_runtime_init_checked
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1022310] 0x107d8563c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mini_init
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1022380] 0x107ddcd1c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libmonosgen-2.0.dylib : mono_jit_init
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1023050] 0x107a45014 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_bridge_initialize
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1023170] 0x107a461e8 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_main
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1786840] 0x10293c370 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/28243AAB-8DF4-4DCF-99A1-E23E7A8EA192/data/Containers/Bundle/Application/9B3A1A7B-2F05-4151-AD62-F259541C2988/Microsoft.Maui.Core.DeviceTests.app/Microsoft.Maui.Core.DeviceTests : main
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1787150] 0x1075e93d0 - Unknown
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1787230] 0x1076fbda4 - Unknown
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1787290]
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1787350] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1787410] Basic Fault Address Reporting
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1787460] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1787600] Memory around native instruction pointer (0x10794888c):0x10794887c c0 03 5f d6 c0 03 5f d6 10 29 80 d2 01 10 00 d4 .._..._..)......
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1787690] 0x10794888c e3 00 00 54 fd 7b bf a9 fd 03 00 91 16 e3 ff 97 ...T.{..........
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1789340] 0x10794889c bf 03 00 91 fd 7b c1 a8 c0 03 5f d6 c0 03 5f d6 .....{...._..._.
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1789850] 0x1079488ac 70 0a 80 d2 01 10 00 d4 e3 00 00 54 fd 7b bf a9 p..........T.{..
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1789940]
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1789990] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1790050] Managed Stacktrace:
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1790090] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1790130] at <unknown> <0xffffffff>
�[40m�[37mdbug�[39m�[22m�[49m: [13:37:15.1790180] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: ==================== End of ApplicationLog ====================
�[40m�[37mdbug�[39m�[22m�[49m:
�[40m�[32minfo�[39m�[22m�[49m: Uninstalling the application 'com.microsoft.maui.core.devicetests' from 'iPhone 11 Pro'
�[40m�[37mdbug�[39m�[22m�[49m:
�[40m�[37mdbug�[39m�[22m�[49m: Running /Applications/Xcode_26.0.1.app/Contents/Developer/usr/bin/simctl
�[40m�[37mdbug�[39m�[22m�[49m: Process simctl exited with 0
�[40m�[32minfo�[39m�[22m�[49m: Application 'com.microsoft.maui.core.devicetests' was uninstalled successfully
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "XPDX4P6V3H-1",
"exitCode": 0,
"exitCodeName": "SUCCESS",
"platform": "apple",
"device": "iPhone 11 Pro",
"deviceOsVersion": "26.0",
"files": [
{
"name": "test-ios-simulator-64_26.0-28243AAB-8DF4-4DCF-99A1-E23E7A8EA192.log",
"type": "executionlog"
},
{
"name": "list-ios-simulator-64_26.0-20260705_133706.log",
"type": "devicelist"
},
{
"name": "iPhone 11 Pro.log",
"type": "systemlog"
},
{
"name": "Microsoft.Maui.Core.DeviceTests.log",
"type": "systemlog"
},
{
"name": "com.microsoft.maui.core.devicetests.log",
"type": "applicationlog"
}
]
}
<<XHARNESS_RESULT_END>>
XHarness exit code: 0
Passed: 0
Failed: 0
Tests completed successfully
📁 Fix files reverted (1 files)
src/Core/src/Platform/iOS/ActivityIndicatorExtensions.cs
📱 UI Tests — ViewBaseTests
Detected UI test categories: ViewBaseTests
❌ Deep UI tests — 13 passed, 99 failed across 1 category on platform-pool agent (replaces in-process counts above).
🧪 UI Test Execution Results (deep, platform pool)
| Category | Tests | Snapshot diffs |
|---|---|---|
ViewBaseTests |
13/112 (99 ❌) | 198 diff PNGs |
❌ ViewBaseTests — 99 failed tests
VisualTransform_RotationWithRotationX
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_RotationWithRotationX.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_RotationWithRotationX.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
...
VisualTransform_AnchorY_ScaleXWithRotationX
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_AnchorY_ScaleXWithRotationX.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_AnchorY_ScaleXWithRotationX.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the base
...
DarkTheme_VerifyVisualState
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.AppThemeFeatureTests.DarkTheme_VerifyVisualState() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/AppThemeFeatureTests.cs:line 40
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
ContentView_ClipWithRectangleGeometry
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.ContentView_ClipWithRectangleGeometry() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 533
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Refl
...
SecondCustomPageWithBackgroundColorChanged
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ContentViewFeatureTests.SecondCustomPageWithBackgroundColorChanged() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ContentViewFeatureTests.cs:line 304
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args
...
VisualTransform_RotationXWithRotationY
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_RotationXWithRotationY.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_RotationXWithRotationY.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image
...
Image_ClipWithGeometryGroup
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.Image_ClipWithGeometryGroup() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 335
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.Run
...
ContentView_ClipWithNestedClippedContent
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.ContentView_ClipWithNestedClippedContent() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 971
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.R
...
DefaultContentWithShadow
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ContentViewFeatureTests.DefaultContentWithShadow() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ContentViewFeatureTests.cs:line 146
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Ref
...
Button_ClipWithImageSource
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.Button_ClipWithImageSource() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 223
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.Runt
...
Border_ClipWithStrokeThickness
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.Border_ClipWithStrokeThickness() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 52
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.R
...
ImageButton_ClipWithRectangleGeometry
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.ImageButton_ClipWithRectangleGeometry() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 609
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Refl
...
VisualTransform_Rotation
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_Rotation.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_Rotation.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or dow
...
VisualTransform_RotationWithScale
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_RotationWithScale.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_RotationWithScale.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test
...
ImageButton_ClipWithRoundRectangleGeometry
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.ImageButton_ClipWithRoundRectangleGeometry() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 641
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System
...
DefaultContentWithWidthRequest
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ContentViewFeatureTests.DefaultContentWithWidthRequest() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ContentViewFeatureTests.cs:line 132
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at Syst
...
DarkTheme_SearchBarAndPlaceholderColor_VerifyVisualState
System.InvalidOperationException :
Snapshot different than baseline: DarkTheme_SearchBarAndPlaceholderColor_VerifyVisualState.png (size differs - baseline is 1124x1126 pixels, actual is 1206x1312 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: DarkTheme_SearchBarAndPlaceholderColor_VerifyVisualState.png (size differs - baseline is 1124x1126 pixels, actual is 1206x1312 pixels)
If the correct baseline has changed (this isn't a a
...
LightTheme_VerifyVisualState
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.AppThemeFeatureTests.LightTheme_VerifyVisualState() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/AppThemeFeatureTests.cs:line 31
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Image_ClipWithComplexPolyLineGeometry
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.Image_ClipWithComplexPolyLineGeometry() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 1026
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Ref
...
Image_ClipNull_NoCrash
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.Image_ClipNull_NoCrash() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 725
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.RuntimeM
...
DefaultContentWithHeightRequest
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ContentViewFeatureTests.DefaultContentWithHeightRequest() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ContentViewFeatureTests.cs:line 119
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at Sys
...
LightTheme_EditorAndPlaceholderColor_VerifyVisualState
System.InvalidOperationException :
Snapshot different than baseline: LightTheme_EditorAndPlaceholderColor_VerifyVisualState.png (size differs - baseline is 1124x1126 pixels, actual is 1206x1312 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: LightTheme_EditorAndPlaceholderColor_VerifyVisualState.png (size differs - baseline is 1124x1126 pixels, actual is 1206x1312 pixels)
If the correct baseline has changed (this isn't a a bug)
...
VisualTransform_Scale
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_Scale.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_Scale.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download
...
Border_ClipNull_NoCrash
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.Border_ClipNull_NoCrash() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 695
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.Runtime
...
VisualTransform_AnchorXWithAnchorY
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_AnchorXWithAnchorY.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_AnchorXWithAnchorY.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See te
...
BoxView_ClipWithCornerRadius
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.BoxView_ClipWithCornerRadius() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 176
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.Ru
...
Image_ClipWithEllipseGeometry
System.InvalidOperationException : Unable to extract difference percentage from exception message.
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
at Microsoft.Maui.TestCases.Tests.ClipFeatureTests.Image_ClipWithEllipseGeometry() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ClipFeatureTests.cs:line 303
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.R
...
VerifyBackgroundColorSet
System.InvalidOperationException :
Snapshot different than baseline: VerifyBackgroundColorSet.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VerifyBackgroundColorSet.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or dow
...
VisualTransform_RotationXWithScaleX
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_RotationXWithScaleX.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_RotationXWithScaleX.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See
...
VisualTransform_AnchorX_ScaleYWithRotation
System.InvalidOperationException :
Snapshot different than baseline: VisualTransform_AnchorX_ScaleYWithRotation.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
iOS 26 visual tests require an iPhone 11 Pro simulator for correct screen resolution.
To create the simulator, run:
xcrun simctl create "iPhone 11 Pro" com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro com.apple.CoreSimulator.SimRuntime.iOS-26-0
Then run the tests targeting the new simulator.
----> VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VisualTransform_AnchorX_ScaleYWithRotation.png (size differs - baseline is 1124x2286 pixels, actual is 1206x2472 pixels)
If the correct baseline has changed (this isn't a a bug), then update the baseli
...
(+69 more — see TRX in artifact)
📎 Download drop-deep-uitests artifact (TRX + snapshot diffs)
📋 Pre-Flight — Context & Validation
Issue: #36173 - [iOS] ActivityIndicator freezes and remains visible after setting IsRunning to false - regression in Microsoft.Maui.Controls > 10.0.51
PR: #36263 - [iOS/MacCatalyst] Fix ActivityIndicator frozen static frame when IsRunning is set to false
Platforms Affected: iOS, MacCatalyst
Files Changed: 1 implementation, 1 test
Key Findings
- Issue #36173 is a verified iOS regression introduced after 10.0.51: toggling
ActivityIndicator.IsRunningfrom true to false leaves a frozen static spinner visible. - PR #36263 changes
src/Core/src/Platform/iOS/ActivityIndicatorExtensions.csso stopped/non-collapsed indicators are hidden instead of restoringHidden=falsewhenVisibility=Visible. - PR #36263 adds an iOS Core device test in
ActivityIndicatorHandlerTests.iOS.csforIsRunning=falsewhileVisibility=Visible. - Gate result was provided by the caller and was not re-run: Gate PASSED - tests fail without fix and pass with PR fix.
- Local
ghis unauthenticated, so PR required-check status could not be queried viagh pr checks --required.
Code Review Summary
Verdict: NEEDS_DISCUSSION
Confidence: low
Errors: 0 | Warnings: 0 | Suggestions: 0
Key code review findings:
- No code correctness findings were found. Confidence is low only because required CI status could not be verified in this environment.
- Blast radius is localized to iOS/MacCatalyst ActivityIndicator
IsRunning/Visibilitymapping; no startup path or static/shared state changes.
Fix Candidates
| # | Source | Approach | Test Result | Files Changed | Notes |
|---|---|---|---|---|---|
| PR | PR #36263 | In ActivityIndicatorExtensions.UpdateIsRunning, hide the native view whenever the indicator is not both running and visible, while preserving collapsed layout behavior. |
PASSED (Gate provided) | ActivityIndicatorExtensions.cs, ActivityIndicatorHandlerTests.iOS.cs |
Original PR fix; gate was completed before this run. |
🔬 Code Review — Deep Analysis
Code Review - PR #36263
Independent Assessment
What this changes: iOS/MacCatalyst ActivityIndicator now hides the native UIActivityIndicatorView whenever it is not both IsRunning and Visibility.Visible.
Inferred motivation: Prevent a stopped spinner from remaining visible as a frozen static frame.
Reconciliation with PR Narrative
Author claims: Fixes iOS/MacCatalyst frozen ActivityIndicator after IsRunning=false, caused by overwriting StopAnimating()'s hidden state.
Agreement/disagreement: Agrees. The code path matches the described root cause and preserves collapsed-vs-hidden layout behavior.
Prior Review Reconciliation
No prior Error findings found.
Blast Radius Assessment
- Runs for all instances: Yes, but only iOS/MacCatalyst ActivityIndicator
IsRunning/Visibilitymappings. - Startup impact: No.
- Static/shared state: No.
CI Status
- Required-check result: Undetermined -
gh pr checks --requiredunavailable due missing GitHub CLI authentication. - Classification: Undetermined.
- Action taken: Supplemental REST context and local review branch were used; confidence capped low.
Findings
No Errors, Warnings, or Suggestions found.
Failure-Mode Probing
IsRunning=false,Visibility.Visible: native view stops and is hidden; PR test covers this.Visibility.Collapsed: still applies collapse constraint and hides.Visibility.Hidden: inflates and hides, preserving layout space.- Handler reconnect/layout redraw:
MauiActivityIndicatorstill gates animation on running-and-visible.
Verdict: NEEDS_DISCUSSION
Confidence: low
Summary: Code review found no correctness issues; the implementation is localized and sound. Required CI status could not be verified with authenticated gh, so this cannot be LGTM under the skill rules.
🛠️ Fix — Analysis & Comparison
Fix Candidates
| # | Source | Approach | Test Result | Files Changed | Notes |
|---|---|---|---|---|---|
| 1 | try-fix | UIKit HidesWhenStopped owns stopped hidden state; MAUI avoids overriding it for Visible && !IsRunning. |
BLOCKED | 2 files | Built, but iOS run produced no xUnit results (Passed: 0, Failed: 0) and a crash report. |
| 2 | try-fix | Move full ActivityIndicator state reconciliation into MauiActivityIndicator and call it from the handler. |
BLOCKED | 2 files | Initial compile issue fixed; build then succeeded, but iOS results collection was blocked. Broader lifecycle blast radius. |
| 3 | try-fix | Handler-level effective visibility: call baseline UpdateIsRunning, then UpdateVisibility() using combined running/visibility state. |
BLOCKED | 1 file | Build succeeded, but iOS results collection was blocked. Duplicates visibility/layout application. |
| 4 | try-fix | Effective opacity masking: set native Alpha=0 when not running and visible, with an opacity mapper override. |
BLOCKED / NOT BETTER | 3 files | Build produced PublicAPI analyzer warnings and still lacked test results; masks symptom and increases API/risk surface. |
| PR | PR #36263 | Directly hide the native view in ActivityIndicatorExtensions.UpdateIsRunning whenever not both running and visible, preserving collapsed layout handling. |
PASSED (Gate) | 2 files | Original PR. Gate was already completed by the caller and was not re-run. |
Cross-Pollination
| Model | Round | New Ideas? | Details |
|---|---|---|---|
| maui-expert-reviewer | 1 | Yes | Candidate 1: restore UIKit HidesWhenStopped ownership. |
| maui-expert-reviewer | 2 | Yes | Candidate 2: move state reconciliation into MauiActivityIndicator. |
| maui-expert-reviewer | 3 | Yes | Candidate 3: handler-level effective visibility via UpdateVisibility(). |
| maui-expert-reviewer | 4 | Yes | Candidate 4: effective opacity masking. This was tested and rejected as not better. |
Exhausted: Yes
Selected Fix: PR #36263 - The original PR is the only fix with a provided passing gate result. No alternative was demonstrably better: candidates 1-3 could not obtain valid local iOS test results, and candidate 4 introduced PublicAPI warnings plus higher behavioral risk.
Environment/Test Blocker
All local iOS candidate test runs used:
pwsh .github/skills/run-device-tests/scripts/Run-DeviceTests.ps1 -Project Core -Platform ios -TestFilter "Category=ActivityIndicator"Each candidate either built successfully or was fixed to build, but xharness failed to copy test-results.xml from the simulator, reported Passed: 0 and Failed: 0, and attached a crash report. Per the try-fix rules, those runs are not valid passes.
🏁 Report — Final Recommendation
Comparative Fix Report - PR #36263
Summary
Winner: pr
The raw PR fix is the only candidate with a supplied passing regression gate: the new ActivityIndicator device test fails without the fix and passes with the fix. The expert reviewer found no actionable issues, so pr-plus-reviewer is identical to pr; the try-fix alternatives were either blocked from producing valid iOS regression results or introduced broader risk.
Candidate Ranking
| Rank | Candidate | Regression Result | Assessment |
|---|---|---|---|
| 1 | pr |
PASSED | Direct, localized fix in ActivityIndicatorExtensions.UpdateIsRunning; preserves collapsed layout behavior and has a passing gate. |
| 2 | pr-plus-reviewer |
PASSED by equivalence | Expert review produced no actionable findings, so this candidate is identical to pr and adds no improvement over the raw PR. |
| 3 | try-fix-1 |
BLOCKED | Delegates stopped-hidden behavior to UIKit HidesWhenStopped; build succeeded but no valid xUnit result was produced, and the approach depends on UIKit side effects. |
| 4 | try-fix-3 |
BLOCKED | Applies effective visibility at the handler mapper layer after UpdateIsRunning; build succeeded but no valid xUnit result was produced, and it duplicates visibility/layout reconciliation. |
| 5 | try-fix-2 |
BLOCKED | Moves full state reconciliation into MauiActivityIndicator; compile issue was corrected and build succeeded, but no valid xUnit result was produced, and the lifecycle blast radius is broader. |
| 6 | try-fix-4 |
BLOCKED / NOT BETTER | Uses opacity masking; produced PublicAPI analyzer warnings and has higher behavioral risk because alpha-zero is not equivalent to native hidden semantics. |
Comparative Analysis
pr changes the exact failing branch: after StopAnimating(), non-collapsed states now inflate layout space and set Hidden = true instead of deriving hidden state from MAUI Visibility. This directly fixes the frozen visible static frame while keeping Collapsed separate so layout constraints still collapse native size.
pr-plus-reviewer was evaluated as a sandbox candidate, but the expert review returned zero inline findings and no recommended edits. Since it is identical to the PR, it cannot outrank the raw PR on simplicity or evidence.
The try-fix candidates explored plausible alternatives, but none produced a valid passing regression result. Per the ranking rule, candidates without a passing regression signal must rank below candidates that passed. Among them, try-fix-1 is the closest conceptually but relies on HidesWhenStopped; try-fix-3 and try-fix-2 broaden the reconciliation surface; try-fix-4 is least suitable because it masks output with opacity and introduced analyzer/API-surface concerns.
Recommendation
Keep the PR implementation as submitted. It is the smallest proven fix, has the strongest empirical evidence, and the expert review found no actionable changes to apply.
🧭 Next Steps — review latest findings
No alternative fix was selected for this run. Review the session findings and CI results before merging.
…nning is set to false (#36263) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details - Setting the ActivityIndicator's IsRunning property to true and then setting it back to false causes the ActivityIndicator to freeze and to remain visible. ### Root Cause - PR #28983 added Hidden = activityIndicator.Visibility != Visibility.Visible which runs after StopAnimating(). HidesWhenStopped correctly set Hidden=True, but this line immediately overwrote it with Hidden=False (since Visibility=Visible), leaving the native view visible with no animation — the frozen static frame. ### Description of Change - Replace activityIndicatorView.Hidden = activityIndicator.Visibility != Visibility.Visible with activityIndicatorView.Hidden = true in the else-else branch of UpdateIsRunning, ensuring the native UIActivityIndicatorView is always hidden when not both running and visible, preventing the frozen static frame regression on iOS/MacCatalyst. ### Issues Fixed Fixes #36173 ### Validated the behaviour in the following platforms - [ ] Windows - [ ] Android - [x] iOS - [x] Mac ### Output | Before | After | |----------|----------| | <video src="https://github.com/user-attachments/assets/53e12f75-f395-41a2-b2c2-7fb906143e8c"> | <video src="https://github.com/user-attachments/assets/9e85be45-4ec6-412f-9b5a-92a896bd8f8d"> |
…nning is set to false (#36263) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details - Setting the ActivityIndicator's IsRunning property to true and then setting it back to false causes the ActivityIndicator to freeze and to remain visible. ### Root Cause - PR #28983 added Hidden = activityIndicator.Visibility != Visibility.Visible which runs after StopAnimating(). HidesWhenStopped correctly set Hidden=True, but this line immediately overwrote it with Hidden=False (since Visibility=Visible), leaving the native view visible with no animation — the frozen static frame. ### Description of Change - Replace activityIndicatorView.Hidden = activityIndicator.Visibility != Visibility.Visible with activityIndicatorView.Hidden = true in the else-else branch of UpdateIsRunning, ensuring the native UIActivityIndicatorView is always hidden when not both running and visible, preventing the frozen static frame regression on iOS/MacCatalyst. ### Issues Fixed Fixes #36173 ### Validated the behaviour in the following platforms - [ ] Windows - [ ] Android - [x] iOS - [x] Mac ### Output | Before | After | |----------|----------| | <video src="https://github.com/user-attachments/assets/53e12f75-f395-41a2-b2c2-7fb906143e8c"> | <video src="https://github.com/user-attachments/assets/9e85be45-4ec6-412f-9b5a-92a896bd8f8d"> |
…nning is set to false (#36263) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details - Setting the ActivityIndicator's IsRunning property to true and then setting it back to false causes the ActivityIndicator to freeze and to remain visible. ### Root Cause - PR #28983 added Hidden = activityIndicator.Visibility != Visibility.Visible which runs after StopAnimating(). HidesWhenStopped correctly set Hidden=True, but this line immediately overwrote it with Hidden=False (since Visibility=Visible), leaving the native view visible with no animation — the frozen static frame. ### Description of Change - Replace activityIndicatorView.Hidden = activityIndicator.Visibility != Visibility.Visible with activityIndicatorView.Hidden = true in the else-else branch of UpdateIsRunning, ensuring the native UIActivityIndicatorView is always hidden when not both running and visible, preventing the frozen static frame regression on iOS/MacCatalyst. ### Issues Fixed Fixes #36173 ### Validated the behaviour in the following platforms - [ ] Windows - [ ] Android - [x] iOS - [x] Mac ### Output | Before | After | |----------|----------| | <video src="https://github.com/user-attachments/assets/53e12f75-f395-41a2-b2c2-7fb906143e8c"> | <video src="https://github.com/user-attachments/assets/9e85be45-4ec6-412f-9b5a-92a896bd8f8d"> |
…nning is set to false (#36263) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details - Setting the ActivityIndicator's IsRunning property to true and then setting it back to false causes the ActivityIndicator to freeze and to remain visible. ### Root Cause - PR #28983 added Hidden = activityIndicator.Visibility != Visibility.Visible which runs after StopAnimating(). HidesWhenStopped correctly set Hidden=True, but this line immediately overwrote it with Hidden=False (since Visibility=Visible), leaving the native view visible with no animation — the frozen static frame. ### Description of Change - Replace activityIndicatorView.Hidden = activityIndicator.Visibility != Visibility.Visible with activityIndicatorView.Hidden = true in the else-else branch of UpdateIsRunning, ensuring the native UIActivityIndicatorView is always hidden when not both running and visible, preventing the frozen static frame regression on iOS/MacCatalyst. ### Issues Fixed Fixes #36173 ### Validated the behaviour in the following platforms - [ ] Windows - [ ] Android - [x] iOS - [x] Mac ### Output | Before | After | |----------|----------| | <video src="https://github.com/user-attachments/assets/53e12f75-f395-41a2-b2c2-7fb906143e8c"> | <video src="https://github.com/user-attachments/assets/9e85be45-4ec6-412f-9b5a-92a896bd8f8d"> |
…nning is set to false (#36263) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details - Setting the ActivityIndicator's IsRunning property to true and then setting it back to false causes the ActivityIndicator to freeze and to remain visible. ### Root Cause - PR #28983 added Hidden = activityIndicator.Visibility != Visibility.Visible which runs after StopAnimating(). HidesWhenStopped correctly set Hidden=True, but this line immediately overwrote it with Hidden=False (since Visibility=Visible), leaving the native view visible with no animation — the frozen static frame. ### Description of Change - Replace activityIndicatorView.Hidden = activityIndicator.Visibility != Visibility.Visible with activityIndicatorView.Hidden = true in the else-else branch of UpdateIsRunning, ensuring the native UIActivityIndicatorView is always hidden when not both running and visible, preventing the frozen static frame regression on iOS/MacCatalyst. ### Issues Fixed Fixes #36173 ### Validated the behaviour in the following platforms - [ ] Windows - [ ] Android - [x] iOS - [x] Mac ### Output | Before | After | |----------|----------| | <video src="https://github.com/user-attachments/assets/53e12f75-f395-41a2-b2c2-7fb906143e8c"> | <video src="https://github.com/user-attachments/assets/9e85be45-4ec6-412f-9b5a-92a896bd8f8d"> |
…nning is set to false (#36263) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details - Setting the ActivityIndicator's IsRunning property to true and then setting it back to false causes the ActivityIndicator to freeze and to remain visible. ### Root Cause - PR #28983 added Hidden = activityIndicator.Visibility != Visibility.Visible which runs after StopAnimating(). HidesWhenStopped correctly set Hidden=True, but this line immediately overwrote it with Hidden=False (since Visibility=Visible), leaving the native view visible with no animation — the frozen static frame. ### Description of Change - Replace activityIndicatorView.Hidden = activityIndicator.Visibility != Visibility.Visible with activityIndicatorView.Hidden = true in the else-else branch of UpdateIsRunning, ensuring the native UIActivityIndicatorView is always hidden when not both running and visible, preventing the frozen static frame regression on iOS/MacCatalyst. ### Issues Fixed Fixes #36173 ### Validated the behaviour in the following platforms - [ ] Windows - [ ] Android - [x] iOS - [x] Mac ### Output | Before | After | |----------|----------| | <video src="https://github.com/user-attachments/assets/53e12f75-f395-41a2-b2c2-7fb906143e8c"> | <video src="https://github.com/user-attachments/assets/9e85be45-4ec6-412f-9b5a-92a896bd8f8d"> |
…nning is set to false (#36263) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details - Setting the ActivityIndicator's IsRunning property to true and then setting it back to false causes the ActivityIndicator to freeze and to remain visible. ### Root Cause - PR #28983 added Hidden = activityIndicator.Visibility != Visibility.Visible which runs after StopAnimating(). HidesWhenStopped correctly set Hidden=True, but this line immediately overwrote it with Hidden=False (since Visibility=Visible), leaving the native view visible with no animation — the frozen static frame. ### Description of Change - Replace activityIndicatorView.Hidden = activityIndicator.Visibility != Visibility.Visible with activityIndicatorView.Hidden = true in the else-else branch of UpdateIsRunning, ensuring the native UIActivityIndicatorView is always hidden when not both running and visible, preventing the frozen static frame regression on iOS/MacCatalyst. ### Issues Fixed Fixes #36173 ### Validated the behaviour in the following platforms - [ ] Windows - [ ] Android - [x] iOS - [x] Mac ### Output | Before | After | |----------|----------| | <video src="https://github.com/user-attachments/assets/53e12f75-f395-41a2-b2c2-7fb906143e8c"> | <video src="https://github.com/user-attachments/assets/9e85be45-4ec6-412f-9b5a-92a896bd8f8d"> |
…nning is set to false (#36263) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details - Setting the ActivityIndicator's IsRunning property to true and then setting it back to false causes the ActivityIndicator to freeze and to remain visible. ### Root Cause - PR #28983 added Hidden = activityIndicator.Visibility != Visibility.Visible which runs after StopAnimating(). HidesWhenStopped correctly set Hidden=True, but this line immediately overwrote it with Hidden=False (since Visibility=Visible), leaving the native view visible with no animation — the frozen static frame. ### Description of Change - Replace activityIndicatorView.Hidden = activityIndicator.Visibility != Visibility.Visible with activityIndicatorView.Hidden = true in the else-else branch of UpdateIsRunning, ensuring the native UIActivityIndicatorView is always hidden when not both running and visible, preventing the frozen static frame regression on iOS/MacCatalyst. ### Issues Fixed Fixes #36173 ### Validated the behaviour in the following platforms - [ ] Windows - [ ] Android - [x] iOS - [x] Mac ### Output | Before | After | |----------|----------| | <video src="https://github.com/user-attachments/assets/53e12f75-f395-41a2-b2c2-7fb906143e8c"> | <video src="https://github.com/user-attachments/assets/9e85be45-4ec6-412f-9b5a-92a896bd8f8d"> |
Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Issue Details
Root Cause
Description of Change
Issues Fixed
Fixes #36173
Validated the behaviour in the following platforms
Output
Before.mov
After.mov