Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
0998efa
[create-pull-request] automated change (#30150)
github-actions[bot] Jun 24, 2025
79de13b
[Testing] Feature Matrix UITest Cases for ProgressBar Control (#29980)
TamilarasanSF4853 Jun 24, 2025
d2aa066
[Testing] Feature matrix UITest Cases for ImageButton Control (#29968)
NafeelaNazhir Jun 24, 2025
20f3d00
[Testing] Fix for flaky device test BlazorWebViewUsesStartPath on Win…
Jun 24, 2025
4471b4e
[Android, iOS] Fix for the Resize method does not dispose the origina…
SyedAbdulAzeemSF4852 Jun 24, 2025
8d533fb
[Testing] Feature matrix UITest Cases for Image Control (#29832)
NafeelaNazhir Jun 24, 2025
d27c94e
[iOS] SwipeView Closes when Content Changes - fix (#29088)
kubaflo Jun 24, 2025
158ed8b
[Android] Removing outdated menu items as Android can delete them aft…
VitalyKnyazev Jun 24, 2025
3ddd054
[Testing] Migration of Compatibility.Core platform-specific unit test…
nivetha-nagalingam Jun 24, 2025
f42ad36
Fix for Handler not disconnected when removing a non-visible page fro…
praveenkumarkarunanithi Jun 24, 2025
7db70b5
[create-pull-request] automated change (#30184)
github-actions[bot] Jun 25, 2025
4e76fae
[Android] Controls Disappear When WebView is Used with Hardware Accel…
praveenkumarkarunanithi Jun 25, 2025
d81425a
[create-pull-request] automated change (#30232)
github-actions[bot] Jun 25, 2025
7fe69a3
[Testing] Feature matrix UITest Cases for Entry Control (#30033)
LogishaSelvarajSF4525 Jun 26, 2025
7f2d2e0
[Testing] Feature Matrix UITest Cases for Switch Control (#29950)
TamilarasanSF4853 Jun 26, 2025
6023e3e
Update Permissions.ios.tvos.watchos.cs (#29180)
kubaflo Jun 26, 2025
ab24f10
Skip useless handler mappings calls while connecting (#27259)
albyrock87 Jun 27, 2025
44c47ef
[Android] Fix OnIdiom threading issue by removing using statements in…
Copilot Jun 27, 2025
9068a17
[iOS] Fix for CarouselView ItemSpacing property in ItemsLayout not wo…
Ahamed-Ali Jun 28, 2025
427d7e6
[iOS] Assign PresentationController.Delegate to handle swipe-to-dismi…
bhavanesh2001 Jun 29, 2025
a11e5bf
Fixed Test case failure in PR 30306 - [6/30/2025] Candidate (#30315)
LogishaSelvarajSF4525 Jul 1, 2025
ef395b4
Fixed Test case(Issue28798) failure in PR 30306 - [6/30/2025] Candida…
LogishaSelvarajSF4525 Jul 4, 2025
cd4e60c
6/30/2025 Inflight Candidate (#30306)
PureWeen Jul 10, 2025
ae4d860
Update Visual Studio issue link in config.yml (#30530)
morning4coffe-dev Jul 10, 2025
171c04c
Update Versions.props 9.0.100 SR10 (#30520)
PureWeen Jul 10, 2025
311c748
Update bug-report.yml 9.0.82 (#30548)
PureWeen Jul 10, 2025
a7cb612
[ci] Fix issue with duplicate License on msi (#30567)
rmarinho Jul 11, 2025
7d232dc
[main] Fix formatting for dotnet format (#30587)
mattleibow Jul 11, 2025
d372e2e
[housekeeping] Moved Issue28212 to a proper folder (#30599)
kubaflo Jul 14, 2025
2385478
[create-pull-request] automated change (#30592)
github-actions[bot] Jul 14, 2025
8e9559e
Merge branch 'main' into merge-main-net10
rmarinho Jul 14, 2025
fafe73f
Fix merge
rmarinho Jul 14, 2025
ed31263
Update ControlsHandlerTestBase.Android.cs
rmarinho Jul 14, 2025
f82ad50
Update bug-report.yml 9.0.90 SR9 (#30621)
PureWeen Jul 15, 2025
f51591c
[create-pull-request] automated change (#30619)
github-actions[bot] Jul 15, 2025
792e5b3
Update bug-report.yml with preview6 (#30639)
PureWeen Jul 15, 2025
75a4b74
[net10.0, Testing] Fixed test failures on merge main net10.0 PR 30606…
HarishKumarSF4517 Jul 16, 2025
c256626
Local and Copilot dev can generate public apis (#30500)
mattleibow Jul 16, 2025
c4fc507
[ci] Add inflight/current to the schedule triggers for daily builds (…
rmarinho Jul 16, 2025
b6cf625
Disabled the failing testcases in CI (#30650)
HarishKumarSF4517 Jul 17, 2025
6137fa1
[testing] Use latest simulator main (#30664)
rmarinho Jul 17, 2025
929b2ac
Merge branch 'main' into merge-main-net10
rmarinho Jul 17, 2025
7c94b12
Merge branch 'net10.0' into merge-main-net10
rmarinho Jul 17, 2025
38c57eb
Fix merge
rmarinho Jul 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,14 @@ body:
label: Version with bug
description: In what version do you see this issue? Run `dotnet workload list` to find your version.
options:
- 10.0.0-preview.6
- 10.0.0-preview.5
- 10.0.0-preview.4
- 10.0.0-preview.3
- 10.0.0-preview.2
- 10.0.0-preview.1
- 9.0.90 SR9
- 9.0.82 SR8.2
- 9.0.81 SR8.1
- 9.0.80 SR8
- 9.0.70 SR7
Expand Down Expand Up @@ -122,11 +125,14 @@ body:
- 9.0.70 SR7
- 9.0.80 SR8
- 9.0.81 SR8.1
- 9.0.82 SR8.2
- 9.0.90 SR9
- 10.0.0-preview.1
- 10.0.0-preview.2
- 10.0.0-preview.3
- 10.0.0-preview.4
- 10.0.0-preview.5
- 10.0.0-preview.6
validations:
required: true
- type: dropdown
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ contact_links:
- name: .NET MAUI Community Support
url: https://learn.microsoft.com/answers/topics/dotnet-maui.html
about: Please ask and answer questions here.
- name: Bug report or feature request for Visual Studio for Windows and Mac
url: https://learn.microsoft.com/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2022
- name: Bug report or feature request for Visual Studio
url: https://learn.microsoft.com/visualstudio/ide/how-to-report-a-problem-with-visual-studio
about: Use Visual Studio's Report a Problem feature for issues and suggestions with Visual Studio tooling
- name: Bug report or feature request for Visual Studio Code (including C# Dev Kit)
url: https://github.com/microsoft/vscode-dotnettools/issues
Expand Down
4 changes: 2 additions & 2 deletions eng/devices/ios.cake
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#addin nuget:?package=Cake.AppleSimulator&version=0.2.0
#load "./uitests-shared.cake"

const string DefaultVersion = "18.0";
const string DefaultTestDevice = $"ios-simulator-64_{DefaultVersion}";
const string DefaultVersion = "18.4";
const string DefaultTestDevice = $"ios-simulator-64";

// Required arguments
string DEFAULT_IOS_PROJECT = "../../src/Controls/tests/TestCases.iOS.Tests/Controls.TestCases.iOS.Tests.csproj";
Expand Down
58 changes: 29 additions & 29 deletions eng/pipelines/azure-pipelines-internal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,28 +27,29 @@ schedules:
include:
- main
- net10.0

- inflight/current

variables:
- template: /eng/common/templates/variables/pool-providers.yml@self
- template: /eng/pipelines/common/variables.yml@self
- template: /eng/pipelines/arcade/variables.yml@self
- group: DotNetBuilds storage account read tokens
- group: AzureDevOps-Artifact-Feeds-Pats
- template: /eng/common/templates/variables/pool-providers.yml@self
- template: /eng/pipelines/common/variables.yml@self
- template: /eng/pipelines/arcade/variables.yml@self
- group: DotNetBuilds storage account read tokens
- group: AzureDevOps-Artifact-Feeds-Pats

parameters:
- name: VM_IMAGE_HOST
type: object
default:
name: NetCore1ESPool-Internal
image: 1es-windows-2022
os: windows
- name: VM_IMAGE_HOST
type: object
default:
name: NetCore1ESPool-Internal
image: 1es-windows-2022
os: windows

resources:
repositories:
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release

extends:
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
Expand All @@ -73,7 +74,7 @@ extends:
suppression:
suppressionFile: $(Build.SourcesDirectory)\eng\automation\guardian\source.gdnsuppress
stages:

- template: /eng/pipelines/arcade/stage-pack.yml@self
parameters:
pool: ${{ parameters.VM_IMAGE_HOST }}
Expand All @@ -83,18 +84,17 @@ extends:
sourceIndexBuildCommand: build.cmd -restore -build -ci /bl:$(Build.Arcade.LogsPath)sourceIndexBuild.binlog /p:OfficialBuildId=$(_BuildOfficalId) /p:_SkipUpdateBuildNumber=true
binlogPath: $(Build.Arcade.LogsPath)sourceIndexBuild.binlog
prepareSteps:
- template: /eng/pipelines/common/provision.yml@self
parameters:
checkoutDirectory: '$(System.DefaultWorkingDirectory)'
skipJdk: false
skipAndroidCommonSdks: false
skipAndroidPlatformApis: false
onlyAndroidPlatformDefaultApis: true
skipAndroidEmulatorImages: true
skipAndroidCreateAvds: true
skipProvisioning: true
skipXcode: true

- template: /eng/pipelines/common/provision.yml@self
parameters:
checkoutDirectory: '$(System.DefaultWorkingDirectory)'
skipJdk: false
skipAndroidCommonSdks: false
skipAndroidPlatformApis: false
onlyAndroidPlatformDefaultApis: true
skipAndroidEmulatorImages: true
skipAndroidCreateAvds: true
skipProvisioning: true
skipXcode: true
# Publish and validation steps. Only run in official builds
- template: /eng/common/templates-official/post-build/post-build.yml@self
parameters:
Expand Down
9 changes: 6 additions & 3 deletions eng/pipelines/common/device-tests-jobs.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
parameters:
platform: ''
pool: { }
versions: [ ]
pool: {}
versions: []
provisionatorChannel: 'latest'
skipProvisioning: true
agentPoolAccessToken: ''
Expand All @@ -18,7 +18,7 @@ parameters:
name: name
desc: Human Description
path: /optional/path/to/project.csproj
versionsExclude: [ ]
versionsExclude: []
packageid: ''
configuration: ''

Expand Down Expand Up @@ -76,6 +76,9 @@ jobs:
${{ if contains(version, 'device') }}:
device: ios-device
apiVersion: ${{ replace(version, 'device-', '') }}
${{ if contains(version, 'latest') }}:
device: ios-simulator-64
apiVersion: 18.5
${{ else }}:
device: ios-simulator-64_${{ replace(version, 'simulator-', '') }}
apiVersion: ${{ replace(version, 'simulator-', '') }}
Expand Down
10 changes: 5 additions & 5 deletions eng/pipelines/common/ui-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ stages:
parameters:
platform: ios
${{ if eq(version, 'latest') }}:
version: 18.0
version: 18.5
${{ if ne(version, 'latest') }}:
version: ${{ version }}
path: ${{ project.ios }}
Expand Down Expand Up @@ -194,7 +194,7 @@ stages:
parameters:
platform: ios
${{ if eq(version, 'latest') }}:
version: 18.0
version: 18.5
${{ if ne(version, 'latest') }}:
version: ${{ version }}
path: ${{ project.ios }}
Expand Down Expand Up @@ -232,7 +232,7 @@ stages:
parameters:
platform: ios
${{ if eq(version, 'latest') }}:
version: 16.4
version: 18.5
${{ if ne(version, 'latest') }}:
version: ${{ version }}
path: ${{ project.ios }}
Expand Down Expand Up @@ -276,7 +276,7 @@ stages:
parameters:
platform: ios
${{ if eq(version, 'latest') }}:
version: 18.0
version: 18.5
${{ if ne(version, 'latest') }}:
version: ${{ version }}
path: ${{ project.ios }}
Expand Down Expand Up @@ -347,7 +347,7 @@ stages:
- template: ui-tests-steps.yml
parameters:
platform: catalyst
version: "13.1"
version: "15.3"
device: mac
path: ${{ project.mac }}
app: ${{ project.app }}
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/device-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,14 @@ stages:
targetFrameworkVersion: ${{ targetFrameworkVersion }}
${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}:
androidApiLevels: [ 33, 30, 29, 28, 27, 26, 25, 24, 23 ]
iosVersions: [ 'simulator-18.0']
iosVersions: [ 'latest']
catalystVersions: [ 'latest' ]
windowsVersions: ['packaged', 'unpackaged']
provisionatorChannel: ${{ parameters.provisionatorChannel }}
skipProvisioning: ${{ or(not(parameters.UseProvisionator), false) }}
${{ else }}:
androidApiLevels: [ 33, 23 ]
iosVersions: [ 'simulator-18.0' ]
iosVersions: [ 'latest' ]
catalystVersions: [ 'latest' ]
windowsVersions: ['packaged', 'unpackaged']
provisionatorChannel: ${{ parameters.provisionatorChannel }}
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/ui-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,11 @@ stages:
agentPoolAccessToken: $(AgentPoolAccessToken)
${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}:
androidApiLevels: [ 30 ]
iosVersions: [ '18.0' ]
iosVersions: [ 'latest' ]
provisionatorChannel: ${{ parameters.provisionatorChannel }}
${{ else }}:
androidApiLevels: [ 30 ]
iosVersions: [ '18.0' ]
iosVersions: [ 'latest' ]
provisionatorChannel: ${{ parameters.provisionatorChannel }}
${{ if parameters.CompatibilityTests }}:
runCompatibilityTests: true
Expand Down
24 changes: 15 additions & 9 deletions src/BlazorWebView/tests/MauiDeviceTests/WebViewHelpers.Windows.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,22 @@ public static async Task WaitForWebViewReady(WebView2 wv2)
{
CoreWebView2 coreWebView2 = null;

await Retry(
() =>
{
coreWebView2 = wv2.CoreWebView2;
return Task.FromResult(coreWebView2 != null);
},
timeoutInMS =>
// Ensure that the WebView2 runtime is installed and initialized and has a CoreWebView2 instance.
if (wv2?.CoreWebView2 == null)
{
string version = CoreWebView2Environment.GetAvailableBrowserVersionString(null);
if (string.IsNullOrEmpty(version))
{
return Task.FromResult(new Exception($"Waited {timeoutInMS}ms but couldn't get CoreWebView2 to be available."));
});
throw new InvalidOperationException("WebView2 runtime is not installed.");
}
await wv2.EnsureCoreWebView2Async();
}

await Retry(() =>
{
coreWebView2 = wv2.CoreWebView2;
return Task.FromResult(coreWebView2 != null);
}, createExceptionWithTimeoutMS: (int timeoutInMS) => Task.FromResult(new Exception($"Waited {timeoutInMS}ms but couldn't get CoreWebView2 to be available.")));

var domLoaded = false;
var sem = new SemaphoreSlim(1);
Expand Down
3 changes: 1 addition & 2 deletions src/Compatibility/Core/src/Android/Cells/ViewCellRenderer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,7 @@ public void Update(ViewCell cell)
c.DisableLayout = false;

var viewAsLayout = cell.View as Layout;
if (viewAsLayout != null)
viewAsLayout.ForceLayout();
viewAsLayout?.ForceLayout();

Invalidate();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,10 +190,7 @@ protected override void UpdateItemSpacing()

var adapter = GetAdapter();

if (adapter != null)
{
adapter.NotifyItemChanged(_oldPosition);
}
adapter?.NotifyItemChanged(_oldPosition);

base.UpdateItemSpacing();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -504,8 +504,7 @@ void UpdateOrientation()
if (_container.Parent != this)
{
_container.RemoveFromParent();
if (_hScrollView != null)
_hScrollView.RemoveFromParent();
_hScrollView?.RemoveFromParent();
AddView(_container);
}
}
Expand Down
11 changes: 4 additions & 7 deletions src/Compatibility/Core/src/Tizen/Forms.cs
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,11 @@ internal static TizenTitleBarVisibility TitleBarVisibility
internal static void SendViewInitialized(this VisualElement self, NView nativeView)
{
EventHandler<ViewInitializedEventArgs> viewInitialized = Forms.ViewInitialized;
if (viewInitialized != null)
viewInitialized?.Invoke(self, new ViewInitializedEventArgs
{
viewInitialized.Invoke(self, new ViewInitializedEventArgs
{
View = self,
NativeView = nativeView
});
}
View = self,
NativeView = nativeView
});
}

public static bool IsInitializedRenderers { get; private set; }
Expand Down
15 changes: 3 additions & 12 deletions src/Compatibility/Core/src/Tizen/FormsApplication.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,28 +53,19 @@ protected override void OnPreCreate()
protected override void OnTerminate()
{
base.OnTerminate();
if (_platform != null)
{
_platform.Dispose();
}
_platform?.Dispose();
}

protected override void OnPause()
{
base.OnPause();
if (_application != null)
{
_application.SendSleep();
}
_application?.SendSleep();
}

protected override void OnResume()
{
base.OnResume();
if (_application != null)
{
_application.SendResume();
}
_application?.SendResume();
}

[EditorBrowsable(EditorBrowsableState.Never)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -599,21 +599,15 @@ protected virtual void UpdateOpacity(bool initialize)
/// </summary>
protected virtual void OnFocused(object sender, EventArgs e)
{
if (null != Element)
{
Element.SetValue(VisualElement.IsFocusedPropertyKey, true);
}
Element?.SetValue(VisualElement.IsFocusedPropertyKey, true);
}

/// <summary>
/// Handles unfocus events.
/// </summary>
protected virtual void OnUnfocused(object sender, EventArgs e)
{
if (null != Element)
{
Element.SetValue(VisualElement.IsFocusedPropertyKey, false);
}
Element?.SetValue(VisualElement.IsFocusedPropertyKey, false);
}

/// <summary>
Expand Down
5 changes: 1 addition & 4 deletions src/Compatibility/Core/src/Windows/CellControl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,7 @@ protected FrameworkElement CellContent
// Children still need measure called on them
global::Windows.Foundation.Size result = base.MeasureOverride(availableSize);

if (lv != null)
{
lv.SetValue(MeasuredEstimateProperty, result.Height);
}
lv?.SetValue(MeasuredEstimateProperty, result.Height);

SetDefaultSwitchColor();

Expand Down
Loading
Loading