[inflight/current] [Windows/Mac] Fix Shell page title leaking into native window/status bar - #36334
Merged
kubaflo merged 10 commits intoJul 9, 2026
Merged
Conversation
devanathan-vaithiyanathan
temporarily deployed
to
gh-aw-agents
July 3, 2026 14:31 — with
GitHub Actions
Inactive
devanathan-vaithiyanathan
temporarily deployed
to
gh-aw-agents
July 3, 2026 14:32 — with
GitHub Actions
Inactive
devanathan-vaithiyanathan
temporarily deployed
to
gh-aw-agents
July 3, 2026 14:33 — with
GitHub Actions
Inactive
devanathan-vaithiyanathan
temporarily deployed
to
gh-aw-agents
July 3, 2026 14:34 — with
GitHub Actions
Inactive
This was referenced Jul 5, 2026
sheiksyedm
marked this pull request as ready for review
July 6, 2026 10:40
3 tasks
devanathan-vaithiyanathan
force-pushed
the
fix-36225
branch
from
July 7, 2026 06:52
dcd78d5 to
fb1ea05
Compare
Contributor
Skill Validation Results
❌ Skill Validation Results —
|
devanathan-vaithiyanathan
force-pushed
the
fix-36225
branch
from
July 7, 2026 06:54
fb1ea05 to
76f0e3c
Compare
PureWeen
force-pushed
the
inflight/current
branch
from
July 7, 2026 09:25
86758bd to
e15cf34
Compare
…net#34527) <!-- 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: Horizontalspacing / Verticalspacing is not not applied to the first column in GridItemLayout using CollectionView on Android platform. ### Root Cause: The grid spacing was not being distributed symmetrically across the active layout implementations, so edge items did not fully participate when spacing changed at runtime. ### Description of Change: - On Android, the fix in MauiRecyclerView.cs changes how RecyclerView padding is handled for GridItemsLayout. Android was already using SpacingItemDecoration, which applies half-spacing on all four sides of each item. Previously, negative RecyclerView padding canceled that spacing at the control edges. The branch keeps that negative-padding behavior for non-grid layouts, but disables it for GridItemsLayout, allowing the grid’s half-spacing to remain visible at the outer perimeter. This makes the first row and first column visually respond when spacing changes, but it also changes the grid behavior from spacing only between items to spacing around the outside edges as well. **Tested the behavior in the following platforms:** - [x] Android - [x] Windows - [ ] iOS - [ ] Mac ### Reference: N/A ### Issues Fixed: Fixes dotnet#34257 ### Screenshots | Before | After | |---------|--------| | <Video src="https://github.com/user-attachments/assets/578dda69-1d60-474c-a6d8-23b3f9d29a50" Width="300" Height="600"> | <Video src="https://github.com/user-attachments/assets/7f3826e6-5922-4b6f-a6b9-de581b7db6c3" Width="300" Height="600"> |
…net#34527) <!-- 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: Horizontalspacing / Verticalspacing is not not applied to the first column in GridItemLayout using CollectionView on Android platform. ### Root Cause: The grid spacing was not being distributed symmetrically across the active layout implementations, so edge items did not fully participate when spacing changed at runtime. ### Description of Change: - On Android, the fix in MauiRecyclerView.cs changes how RecyclerView padding is handled for GridItemsLayout. Android was already using SpacingItemDecoration, which applies half-spacing on all four sides of each item. Previously, negative RecyclerView padding canceled that spacing at the control edges. The branch keeps that negative-padding behavior for non-grid layouts, but disables it for GridItemsLayout, allowing the grid’s half-spacing to remain visible at the outer perimeter. This makes the first row and first column visually respond when spacing changes, but it also changes the grid behavior from spacing only between items to spacing around the outside edges as well. **Tested the behavior in the following platforms:** - [x] Android - [x] Windows - [ ] iOS - [ ] Mac ### Reference: N/A ### Issues Fixed: Fixes dotnet#34257 ### Screenshots | Before | After | |---------|--------| | <Video src="https://github.com/user-attachments/assets/578dda69-1d60-474c-a6d8-23b3f9d29a50" Width="300" Height="600"> | <Video src="https://github.com/user-attachments/assets/7f3826e6-5922-4b6f-a6b9-de581b7db6c3" Width="300" Height="600"> |
<!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! --> <!-- Enter description of the fix in this section --> This is a follow up from dotnet#35303, that implements the `BooleanBoxes` class and use inside the `Control` project [Use the same solution that the WPF team uses](https://github.com/dotnet/wpf/blob/b325a186ebcead7fddfde43c118f6a807397de35/src/Microsoft.DotNet.Wpf/src/WindowsBase/MS/Internal/KnownBoxes.cs#L10), cache the boxed `true` and `false` values, and use it instead of boxing a new boolean on every operation. <!-- 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. --> Relates with dotnet#35302 <!-- Are you targeting main? All PRs should target the main branch unless otherwise noted. --> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus@Pedros-MacBook-Pro.local>
…sh, XAML) (dotnet#34629) Fixes ~97 build warnings that appear on every PR pipeline run (visible in the CI build logs for `Build Microsoft.Maui.sln` steps). - **RS0016/RS0017 (81 warnings)**: `PublicAPI.Unshipped.txt` entries in Essentials.AI were missing the `[MAUIAI0001]` prefix required by the assembly-level `[Experimental("MAUIAI0001")]` attribute. Added prefix to all entries in net-ios, net-maccatalyst, net-macos. - **Duplicate MauiSplashScreen (6 warnings)**: `Essentials.AI.Sample.csproj` had two `MauiSplashScreen` entries (same SVG, different colors). Removed duplicate. - **XA1006/XA4211 (4 warnings)**: `GraphicsTester.Android` `AndroidManifest.xml` had `targetSdkVersion=31` but TFM targets API 36. Updated to 36. - **XAML property element (6 warnings)**: `TwoPaneViewPage.xaml` had `BackgroundColor` attribute on property element `Pane1` (invalid, ignored at runtime). Moved to child `Frame`. - **XC0022/XC0023/XC0045/XC0618/MAUIG2045** (125 warnings) - Intentional in `Controls.Xaml.UnitTests` test project (configured via `WarningsNotAsErrors`) - **MSB3021/3026/3027** - Transient file-locking during parallel CI builds - **XA0141** - Third-party NuGet (`Gee.External.Capstone`) 16KB page alignment warning in benchmarks Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: kubaflo <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! - Updates the sample-content MAUI template to use `CommunityToolkit.Mvvm` 8.4.2. - Converts template page models from field-backed `[ObservableProperty]` members to partial observable properties without enabling preview language features. - Switches the sample-content SQLitePCLRaw dependency from `bundle_green` to `bundle_e_sqlite3` 3.0.3 and updates cgmanifest version mapping so generated projects avoid default NuGet audit warnings. - `dotnet build .\src\Templates\src\Microsoft.Maui.Templates.csproj -p:UpdateCgManifestBeforeBuild=false -p:GenerateCgManifest=false` - Packed templates and generated a `dotnet new maui --sample-content true` app from an isolated template hive. - `dotnet build <generated app> -f net10.0-windows10.0.19041.0 -p:RestoreIgnoreFailedSources=true` completed with 0 warnings and 0 errors, with no generated `LangVersion` or `EnablePreviewFeatures` entries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…net#34527) <!-- 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: Horizontalspacing / Verticalspacing is not not applied to the first column in GridItemLayout using CollectionView on Android platform. ### Root Cause: The grid spacing was not being distributed symmetrically across the active layout implementations, so edge items did not fully participate when spacing changed at runtime. ### Description of Change: - On Android, the fix in MauiRecyclerView.cs changes how RecyclerView padding is handled for GridItemsLayout. Android was already using SpacingItemDecoration, which applies half-spacing on all four sides of each item. Previously, negative RecyclerView padding canceled that spacing at the control edges. The branch keeps that negative-padding behavior for non-grid layouts, but disables it for GridItemsLayout, allowing the grid’s half-spacing to remain visible at the outer perimeter. This makes the first row and first column visually respond when spacing changes, but it also changes the grid behavior from spacing only between items to spacing around the outside edges as well. **Tested the behavior in the following platforms:** - [x] Android - [x] Windows - [ ] iOS - [ ] Mac ### Reference: N/A ### Issues Fixed: Fixes dotnet#34257 ### Screenshots | Before | After | |---------|--------| | <Video src="https://github.com/user-attachments/assets/578dda69-1d60-474c-a6d8-23b3f9d29a50" Width="300" Height="600"> | <Video src="https://github.com/user-attachments/assets/7f3826e6-5922-4b6f-a6b9-de581b7db6c3" Width="300" Height="600"> |
devanathan-vaithiyanathan
force-pushed
the
fix-36225
branch
from
July 8, 2026 05:58
51de14c to
424a461
Compare
Open
3 tasks
This was referenced Jul 8, 2026
kubaflo
pushed a commit
that referenced
this pull request
Jul 10, 2026
…tive window/status bar (#36334) <!-- 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 Due to the changes introduced in PR #35800, when using Shell on Windows and macOS (Mac Catalyst), the current page's title (intended for the in-app navigation/title bar) was also being displayed in the native window title bar and status bar. ### Description of Changes <!-- Enter description of the fix in this section --> The SetValueFromRenderer(Shell.TitleProperty, title) call was moved inside the if (TitleView != null) block, so Shell.Title is only updated by the renderer when a TitleView is present. Without a TitleView, Shell.Title is left untouched, preventing the page title from propagating to the native window/status bar. ### 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 #36225 <!-- Are you targeting main? All PRs should target the main branch unless otherwise noted. --> **Tested the behavior in the following platforms.** - [ ] Android - [x] Windows - [ ] iOS - [ ] Mac | Before | After | |---------|--------| | **Mac**<br> <img src="https://github.com/user-attachments/assets/fa030b4b-6199-429e-a74a-ed346e118e79" width="600" height="300"> | **Mac**<br> <img src="https://github.com/user-attachments/assets/491d4a74-6acf-458a-8d45-fe3dce25f22f" width="600" height="300"> | ---------
kubaflo
pushed a commit
that referenced
this pull request
Jul 15, 2026
…tive window/status bar (#36334) <!-- 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 Due to the changes introduced in PR #35800, when using Shell on Windows and macOS (Mac Catalyst), the current page's title (intended for the in-app navigation/title bar) was also being displayed in the native window title bar and status bar. ### Description of Changes <!-- Enter description of the fix in this section --> The SetValueFromRenderer(Shell.TitleProperty, title) call was moved inside the if (TitleView != null) block, so Shell.Title is only updated by the renderer when a TitleView is present. Without a TitleView, Shell.Title is left untouched, preventing the page title from propagating to the native window/status bar. ### 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 #36225 <!-- Are you targeting main? All PRs should target the main branch unless otherwise noted. --> **Tested the behavior in the following platforms.** - [ ] Android - [x] Windows - [ ] iOS - [ ] Mac | Before | After | |---------|--------| | **Mac**<br> <img src="https://github.com/user-attachments/assets/fa030b4b-6199-429e-a74a-ed346e118e79" width="600" height="300"> | **Mac**<br> <img src="https://github.com/user-attachments/assets/491d4a74-6acf-458a-8d45-fe3dce25f22f" width="600" height="300"> | ---------
kubaflo
pushed a commit
that referenced
this pull request
Jul 22, 2026
…tive window/status bar (#36334) <!-- 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 Due to the changes introduced in PR #35800, when using Shell on Windows and macOS (Mac Catalyst), the current page's title (intended for the in-app navigation/title bar) was also being displayed in the native window title bar and status bar. ### Description of Changes <!-- Enter description of the fix in this section --> The SetValueFromRenderer(Shell.TitleProperty, title) call was moved inside the if (TitleView != null) block, so Shell.Title is only updated by the renderer when a TitleView is present. Without a TitleView, Shell.Title is left untouched, preventing the page title from propagating to the native window/status bar. ### 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 #36225 <!-- Are you targeting main? All PRs should target the main branch unless otherwise noted. --> **Tested the behavior in the following platforms.** - [ ] Android - [x] Windows - [ ] iOS - [ ] Mac | Before | After | |---------|--------| | **Mac**<br> <img src="https://github.com/user-attachments/assets/fa030b4b-6199-429e-a74a-ed346e118e79" width="600" height="300"> | **Mac**<br> <img src="https://github.com/user-attachments/assets/491d4a74-6acf-458a-8d45-fe3dce25f22f" width="600" height="300"> | ---------
kubaflo
pushed a commit
that referenced
this pull request
Jul 28, 2026
…tive window/status bar (#36334) <!-- 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 Due to the changes introduced in PR #35800, when using Shell on Windows and macOS (Mac Catalyst), the current page's title (intended for the in-app navigation/title bar) was also being displayed in the native window title bar and status bar. ### Description of Changes <!-- Enter description of the fix in this section --> The SetValueFromRenderer(Shell.TitleProperty, title) call was moved inside the if (TitleView != null) block, so Shell.Title is only updated by the renderer when a TitleView is present. Without a TitleView, Shell.Title is left untouched, preventing the page title from propagating to the native window/status bar. ### 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 #36225 <!-- Are you targeting main? All PRs should target the main branch unless otherwise noted. --> **Tested the behavior in the following platforms.** - [ ] Android - [x] Windows - [ ] iOS - [ ] Mac | Before | After | |---------|--------| | **Mac**<br> <img src="https://github.com/user-attachments/assets/fa030b4b-6199-429e-a74a-ed346e118e79" width="600" height="300"> | **Mac**<br> <img src="https://github.com/user-attachments/assets/491d4a74-6acf-458a-8d45-fe3dce25f22f" width="600" height="300"> | ---------
kubaflo
pushed a commit
that referenced
this pull request
Jul 29, 2026
…tive window/status bar (#36334) <!-- 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 Due to the changes introduced in PR #35800, when using Shell on Windows and macOS (Mac Catalyst), the current page's title (intended for the in-app navigation/title bar) was also being displayed in the native window title bar and status bar. ### Description of Changes <!-- Enter description of the fix in this section --> The SetValueFromRenderer(Shell.TitleProperty, title) call was moved inside the if (TitleView != null) block, so Shell.Title is only updated by the renderer when a TitleView is present. Without a TitleView, Shell.Title is left untouched, preventing the page title from propagating to the native window/status bar. ### 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 #36225 <!-- Are you targeting main? All PRs should target the main branch unless otherwise noted. --> **Tested the behavior in the following platforms.** - [ ] Android - [x] Windows - [ ] iOS - [ ] Mac | Before | After | |---------|--------| | **Mac**<br> <img src="https://github.com/user-attachments/assets/fa030b4b-6199-429e-a74a-ed346e118e79" width="600" height="300"> | **Mac**<br> <img src="https://github.com/user-attachments/assets/491d4a74-6acf-458a-8d45-fe3dce25f22f" width="600" height="300"> | ---------
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Due to the changes introduced in PR #35800, when using Shell on Windows and macOS (Mac Catalyst), the current page's title (intended for the in-app navigation/title bar) was also being displayed in the native window title bar and status bar.
Description of Changes
The SetValueFromRenderer(Shell.TitleProperty, title) call was moved inside the if (TitleView != null) block, so Shell.Title is only updated by the renderer when a TitleView is present. Without a TitleView, Shell.Title is left untouched, preventing the page title from propagating to the native window/status bar.
Issues Fixed
Fixes #36225
Tested the behavior in the following platforms.