Skip to content

[automated] Merge branch 'net11.0' => 'release/11.0.1xx-preview7' - #37042

Merged
PureWeen merged 6 commits into
release/11.0.1xx-preview7from
merge/net11.0-to-release/11.0.1xx-preview7
Aug 3, 2026
Merged

[automated] Merge branch 'net11.0' => 'release/11.0.1xx-preview7'#37042
PureWeen merged 6 commits into
release/11.0.1xx-preview7from
merge/net11.0-to-release/11.0.1xx-preview7

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

I detected changes in the net11.0 branch which have not been merged yet to release/11.0.1xx-preview7. I'm a robot and am configured to help you automatically keep release/11.0.1xx-preview7 up to date, so I've opened this PR.

This PR merges commits made on net11.0 by the following committers:

  • SubhikshaSf4851
  • NafeelaNazhir
  • HarishwaranVijayakumar

Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete this PR by creating a merge commit, not a squash or rebase commit.

merge button instructions

If this repo does not allow creating merge commits from the GitHub UI, use command line instructions.

Instructions for merging via command line

Run these commands to merge this pull request from the command line.

git fetch
git checkout net11.0
git pull --ff-only
git checkout release/11.0.1xx-preview7
git pull --ff-only
git merge --no-ff net11.0

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/maui HEAD:merge/net11.0-to-release/11.0.1xx-preview7
or if you are using SSH
git push git@github.com:dotnet/maui HEAD:merge/net11.0-to-release/11.0.1xx-preview7

After PR checks are complete push the branch

git push

Instructions for resolving conflicts

⚠️ If there are merge conflicts, you will need to resolve them manually before merging. You can do this using GitHub or using the command line.

Instructions for updating this pull request

Contributors to this repo have permission update this pull request by pushing to the branch 'merge/net11.0-to-release/11.0.1xx-preview7'. This can be done to resolve conflicts or make other changes to this pull request before it is merged.
The provided examples assume that the remote is named 'origin'. If you have a different remote name, please replace 'origin' with the name of your remote.

git fetch
git checkout -b merge/net11.0-to-release/11.0.1xx-preview7 origin/release/11.0.1xx-preview7
git pull https://github.com/dotnet/maui merge/net11.0-to-release/11.0.1xx-preview7
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/maui HEAD:merge/net11.0-to-release/11.0.1xx-preview7
or if you are using SSH
git fetch
git checkout -b merge/net11.0-to-release/11.0.1xx-preview7 origin/release/11.0.1xx-preview7
git pull git@github.com:dotnet/maui merge/net11.0-to-release/11.0.1xx-preview7
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/maui HEAD:merge/net11.0-to-release/11.0.1xx-preview7

Contact .NET Core Engineering (dotnet/dnceng) if you have questions or issues.
Also, if this PR was generated incorrectly, help us fix it. See https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.

HarishwaranVijayakumar and others added 6 commits August 2, 2026 23:59
…essibility setting (#35846)

<!-- 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!
<!--
!!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING
MAIN. !!!!!!!
-->



### Issue Details

- `PlatformTicker` on iOS and Windows does not respect the OS animation
accessibility settings.
- On iOS, enabling **Reduce Motion** (Settings → Accessibility → Motion
→ Reduce Motion) has no effect — MAUI animations continue to play
normally.
- On Windows, disabling **Animation effects** (Settings → Accessibility
→ Visual effects → Animation effects) has no effect — MAUI animations
continue to play normally.
- Android already honors these settings via
`ValueAnimator.AreAnimatorsEnabled()` and the energy-saver /
duration-scale listeners.

### Root Cause of the issue
**iOS**
- The PlatformTicker.iOS.cs never sets SystemEnabled on the base Ticker
class. The SystemEnabled property defaults to true, meaning
AnimationManager always allows animations to run.
- AnimationManager.Add() checks Ticker.SystemEnabled — if false, it
rejects the animation.
- AnimationManager.OnFire() checks Ticker.SystemEnabled — if false, it
force-finishes all running animations.

**Windows**
- PlatformTicker.Windows.cs never checked the system animation
accessibility setting. Ticker.SystemEnabled defaults to true, so MAUI
animations always played regardless of the "Show animations in Windows"
setting (Settings → Accessibility → Visual effects → Animation effects).

**Android wires this up correctly:**
- Checks ValueAnimator.AreAnimatorsEnabled() at construction
- Listens for energy-saver and duration-scale changes to update
SystemEnabled at runtime
- iOS does none of this — SystemEnabled stays true forever regardless of
accessibility settings.


### Description of Change

**Accessibility and Animation Behavior:**

* `PlatformTicker` now observes system accessibility settings—on
Windows, it listens to the "Show animations in Windows" setting, and on
iOS/MacCatalyst, it respects the "Reduce Motion" setting. The ticker
automatically enables or disables animations based on these settings.

**Resource Management and Disposal:**

* Both platform-specific `PlatformTicker` classes now implement
`IDisposable` and provide `Dispose()` and `Dispose(bool disposing)`
methods to clean up event handlers and observers, preventing potential
memory leaks.
* The public API surface is updated to include the new `Dispose` methods
for `PlatformTicker` on all relevant platforms.

**Robustness Improvements:**

* Added checks to prevent starting or responding to events if the ticker
has already been disposed, enhancing the safety and reliability of the
animation system.

### Issues Fixed

<!-- Please make sure that there is a bug logged for the issue being
fixed. The bug should describe the problem and how to reproduce it. -->

Fixes #35845


### Tested the behaviour in the following platforms

- [ ] - Windows 
- [ ] - Android
- [x] - iOS
- [x] - Mac

| Platform | Before | After |
|----------|----------|----------|
| iOS | <video
src="https://github.com/user-attachments/assets/8f4e0d0f-4fdb-4b8b-9d61-9391a6d3f510">
| <video
src="https://github.com/user-attachments/assets/c3d76d1b-0ef0-4c7a-9a40-a01213ebb31e">
|
| Mac | <video
src="https://github.com/user-attachments/assets/558b4b2d-5298-4da8-9db0-03f9104309f3">
| <video
src="https://github.com/user-attachments/assets/064a8241-88e7-4148-9ff1-2356cf21756c">
|
| Windows | <video
src="https://github.com/user-attachments/assets/e99dca29-97ed-4cad-a5d7-6a4484e5e309">
| <video
src="https://github.com/user-attachments/assets/a0398403-18f5-4a8b-bb29-e2c37f854614">
|




<!--
Are you targeting main? All PRs should target the main branch unless
otherwise noted.
-->

---------

Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com>
…er override (#37030)

## Description

This pull request fixes a `CS0115` build error on Android caused by a
signature mismatch between PR #36328 and PR #36109.

The `SetupBuilder` method in `ModalTests` is now `protected virtual` and
accepts an optional `includeNavigationViewHandler` parameter, which
allows subclasses like `ModalHandlerTests` to override it with the same
signature.

### Changes

- **ModalTests.cs**: Changed `SetupBuilder` to `protected virtual void
SetupBuilder(bool includeNavigationViewHandler = true)` for better
extensibility.
- **ShellHandlerSubclasses.Android.cs**: Updated the override in
`ModalHandlerTests` to match the new method signature, ensuring
consistency between base and derived test classes.

Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com>
<!-- 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!

### Description

This PR resolves a build error on `net11.0` caused by duplicate public
API entries.

Build Link:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1536553&view=logs&j=a4801b0c-147f-5c8c-962a-741d86502051&t=a2489dc5-c5a7-5201-88b6-5de312b29600

**Fix:** Removed the 14 duplicate lines from:
- `src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt`
- `src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt`

No functional or API changes — just removes the duplicates so the build
passes again.

#35846 - This PR introduced the
unwanted changes
…ailure (#37027)

<!-- Please keep the note below for people who 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 whether this change resolves your
issue. Thank you!

**Failure Test on windows collectionview** :
_**HorizontalGridFooterExpandsToContentWidth**_


This pull request refines the layout logic for horizontal
`MauiItemsView` on Windows, ensuring that the items area stretches
appropriately when headers or footers are present. The main improvement
is more accurate sizing of the items area by subtracting header and
footer widths, which fixes stretching issues in layouts with few items.

**Layout logic improvements:**

* Added `ApplyItemsRepeaterMinWidth()` to compute the items area width
by subtracting header and footer widths from the available viewport,
ensuring correct stretching for layouts like `UniformGridLayout` with
`ItemsStretch=Fill` and few items. This method only updates the width if
it changes.
* Updated `ApplyLayoutOrientation()` to use the new sizing method and to
re-measure the layout only if the items width or empty view size
changed, reducing unnecessary layout passes.
[[1]](diffhunk://#diff-2dd8ad3a609ad111709aca5f67a8af9abd6aa793328409811f72d3c97a653931R337-R342)
[[2]](diffhunk://#diff-2dd8ad3a609ad111709aca5f67a8af9abd6aa793328409811f72d3c97a653931L363-R367)

**Code quality:**

* Added missing `using System;` directive to support new code.
<!-- Enter description of the fix in this section -->
### Why no tests added : 

- No new automated test was added in this PR because the existing UI
test `HorizontalGridFooterExpandsToContentWidth`  already covers this
behavior — it was the test that started failing in net11 CI, which is
what prompted this fix. Rather than adding a new test, this PR restores
the passing behavior of that existing test

### Tested the behavior in the following platforms

- [x] Windows
- [ ] Android
- [ ] iOS
- [ ] Mac



| Before Issue Fix | After Issue Fix |
|----------|----------|
| <video
src="https://github.com/user-attachments/assets/ca60350b-9eda-4da2-bb48-0215c8fa1ac9">
| <video
src="https://github.com/user-attachments/assets/232cb201-84af-4e27-b508-83dc1df286e6">
|


<!--
Are you targeting main? All PRs should target the main branch unless
otherwise noted.
-->
Reset patterns:
- global.json
- NuGet.config
- eng/Version.Details.xml
- eng/Versions.props
- eng/common/*
Resolve the ModalTests.SetupBuilder conflict by preserving the net11.0 parameterized virtual signature.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 7d88fab8-4419-47a0-b004-097af176c7e9
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 37042

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 37042"

@kubaflo

kubaflo commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/azp run maui-pr-uitests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@PureWeen
PureWeen merged commit 2eb88f0 into release/11.0.1xx-preview7 Aug 3, 2026
111 of 131 checks passed
@PureWeen
PureWeen deleted the merge/net11.0-to-release/11.0.1xx-preview7 branch August 3, 2026 20:50
@kubaflo

kubaflo commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@PureWeen Build 1537961 contains the current head b1eb9f5f9ebf2426c3bad26453ca0e0010faf7e2, and HorizontalGridFooterExpandsToContentWidth passed in the iOS CollectionView run. The intended Preview 7 failure is verified fixed; this is good to merge.

@github-actions github-actions Bot added this to the .NET 11.0-preview7 milestone Aug 3, 2026
PureWeen added a commit that referenced this pull request Aug 4, 2026
<!-- 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!

Replaces #37050 with a clean, one-commit branch from current `main`.

## Motivation

Live generated inter-branch PRs #37007 and #37042 matched the configured
bot sender, `Opened` event, exact title, and exact target branch, but
hosted Policy Service supplied neither an approval nor an auto-merge
request. Local evaluation with the production package successfully
deserializes and matches the current nested rule, while Policy Service
remains active for other MAUI rules.

The nested `or`-of-`and` structure is therefore the remaining
evidence-backed hosted-runtime compatibility hypothesis. This is **not**
a service-log-confirmed root cause: hosted evaluation catches task
exceptions internally, so predicate-level diagnostics are unavailable
from GitHub.

## Change

Replace the single nested matcher with four flat rules, one for each
allowed title/target pair. Every rule preserves the existing security
restrictions:

- sender must be `github-actions[bot]`
- action must be `Opened`
- title must match the exact anchored regular expression
- target branch must match the exact allow-listed branch
- auto-merge uses a merge commit
- Policy Service does not retrigger on its own actions

No `Synchronize` behavior or broader matching is added.

## Validation

- full YAML parse
- production `GitOps.PullRequestIssueManagement` `0.1.182`
deserialization: 24 tasks, 4 flat inter-branch tasks
- exact sender, title regex, target branch, approval, merge-auto-merge,
and `triggerOnOwnActions` assertions for all four rules
- CRLF-aware `git diff --check`

This change is an experiment to remove the remaining unique matcher
shape. Definitive validation requires merging it and observing a fresh
generated inter-branch PR receive the Policy Service approval and
auto-merge request.

Co-authored-by: Vally Fixture <vally-fixture@example.invalid>
Copilot-Session: 1b2b2dd6-bf5f-4179-8a8f-c4c85b9bce26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants