[.NET10] Obsolete Page.IsBusy API#29935
Conversation
|
/azp run MAUI-UITests-public |
|
Azure Pipelines successfully started running 1 pipeline(s). |
7ffa50b to
85a65de
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR fixes missing busy indicators on iOS and Windows when Page.IsBusy is toggled, aligns behavior with Android, and adds support in the UI test suite.
- Adds
PageBusyIndicatorIsVisible/PageBusyIndicatorIsNotVisiblehelpers in Appium test extensions. - Introduces a new UI test and host app sample for Issue 29925.
- Replaces the deprecated network activity indicator on iOS and implements
ProgressRingon Windows inAlertManager.
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/TestUtils/src/UITest.Appium/HelperExtensions.cs | Added methods to wait for the busy indicator in cross-platform tests. |
| src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue29925.cs | New UITest verifying busy indicator visibility toggles. |
| src/Controls/tests/TestCases.HostApp/Issues/Issue29925.cs | Sample page with a button to toggle IsBusy and automation IDs. |
| src/Controls/src/Core/Platform/AlertManager/AlertManager.iOS.cs | Removed the deprecated NetworkActivityIndicatorVisible, added an overlay with UIActivityIndicatorView. |
| src/Controls/src/Core/Platform/AlertManager/AlertManager.Windows.cs | Implemented a ProgressRing overlay for busy indication on Windows. |
Comments suppressed due to low confidence (1)
src/TestUtils/src/UITest.Appium/HelperExtensions.cs:2524
- [nitpick] It may be helpful to add an else clause that throws or logs when running on an unsupported platform, to avoid silent failures if no element is awaited.
public static void PageBusyIndicatorIsVisible(this IApp app, TimeSpan? timeout = null)
src/Controls/src/Core/Platform/AlertManager/AlertManager.Windows.cs
Outdated
Show resolved
Hide resolved
PureWeen
left a comment
There was a problem hiding this comment.
@Tamilarasan-Paranthaman I think we're going to go the direction of obsoleting this API
Can you obsolete the Page.IsBusy API in NET10 and just indicate that we are going to remove it in NET11
6132ae2 to
aa8f191
Compare
@PureWeen, I have marked the |
jsuarezruiz
left a comment
There was a problem hiding this comment.
Need to update the PageTests. With the changes we have a build error:
C:\a\_work\1\s\src\Controls\tests\DeviceTests\Elements\Page\PageTests.cs(90,4): error CS0618: 'Page.IsBusy' is obsolete: 'Page.IsBusy has been deprecated and will be removed in .NET 11' [C:\a\_work\1\s\src\Controls\tests\DeviceTests\Controls.DeviceTests.csproj::TargetFramework=net10.0-windows10.0.19041.0]
C:\a\_work\1\s\src\Controls\tests\DeviceTests\Elements\Page\PageTests.cs(90,4): error CS0618: 'Page.IsBusy' is obsolete: 'Page.IsBusy has been deprecated and will be removed in .NET 11' [C:\a\_work\1\s\src\Controls\tests\DeviceTests\Controls.DeviceTests.csproj::TargetFramework=net10.0-android]
C:\a\_work\1\s\src\Controls\tests\DeviceTests\Elements\Page\PageTests.cs(90,4): error CS0618: 'Page.IsBusy' is obsolete: 'Page.IsBusy has been deprecated and will be removed in .NET 11' [C:\a\_work\1\s\src\Controls\tests\DeviceTests\Controls.DeviceTests.csproj::TargetFramework=net10.0-windows10.0.20348.0]
3 Error(s)
@jsuarezruiz, the build error has been resolved. |
|
🚨 API change(s) detected @davidbritch FYI |
|
🚨 API change(s) detected @davidortinau FYI |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/rebase |
043e961 to
9be40fb
Compare
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
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!
Description of Change
Issues Fixed
Fixes #30155