Skip to content

Stabilize CollectionView header and Shell flyout UI tests - #39056

Merged
kubaflo merged 1 commit into
mainfrom
kubaflo-monitor-branch-ci
Oct 1, 2026
Merged

kubaflo merged 1 commit into
mainfrom
kubaflo-monitor-branch-ci

Conversation

@kubaflo

@kubaflo kubaflo commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

[!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

Remove two source-identified causes of intermittent UI-test failures without weakening regression coverage:

  • Issue10947.CollectionViewHeaderShouldNotScroll reacquires native header/footer geometry after focus changes using the existing stale-element-aware helper. Its fixture explicitly respects container safe areas: local Android execution demonstrated that the header could otherwise be completely hidden underneath the status bar and absent from the accessibility tree. Both exact rectangle comparisons are unchanged.
  • ShellFlyoutContent.FlyoutContentTests waits for restored default flyout items after custom content/template reset, and for destination page controls after selection, instead of tapping during native flyout reconstruction.

There are no test skips, new blanket retries, arbitrary sleeps, snapshot changes, or relaxed assertions. This complements #38822 rather than duplicating its null-content ScrollView and Android photo-picker fixes.

Issues Fixed

CI-observed stale-element/lookup failures in the CollectionView header/footer regression and the Shell flyout-content restoration test. This is test/fixture-only; it does not claim to fix persistent CollectionView scrolling, lifecycle crashes, XAML constructor failures, or build errors found during the cross-branch investigation.

Validation

All runs used .github/scripts/BuildAndRunHostApp.ps1 with method-name filters and explicit checks that the intended tests actually executed.

Platform Header/footer Flyout-content
Android API 34 Four independent first-attempt passes Three independent first-attempt passes
iOS, iPhone 17 Pro One first-attempt pass One first-attempt pass
Windows / MacCatalyst Not run locally Not run locally

Nine genuine passing executions in total. Failed-test retry recoveries and zero-test runner success are explicitly excluded from the validation count. Formatting and patch whitespace checks passed.

maui-pr was queued for commit 4f4bcaabaa. Cross-platform UI CI was requested with /azp run maui-pr-uitests; its results are pending. Finite runs do not establish absolute reliability.

Reacquire header and footer geometry after focus changes and keep the CollectionView fixture outside system bars. Wait for restored Shell flyout items and destination controls before interacting with them.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 1, 2026 12:57
@kubaflo
kubaflo temporarily deployed to copilot-pat-pool October 1, 2026 12:57 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

🚀 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 -- 39056

Or

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

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

@kubaflo

kubaflo commented Oct 1, 2026

Copy link
Copy Markdown
Contributor Author

/azp run maui-pr-uitests

@azure-pipelines

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Cross-platform validation and required CI status are unavailable, with iOS, Windows, and MacCatalyst coverage still pending.

Review effort: Balanced
Findings: None

What changed in this PR

Stabilizes existing CollectionView and Shell UI tests without relaxing assertions.

Changes:

  • Reacquires element geometry after focus changes.
  • Waits for Shell flyout reconstruction and navigation.
  • Keeps the CollectionView fixture within container safe areas.
File Description
ShellFlyoutContent.cs Adds synchronization waits around flyout transitions.
Issue10947.cs Uses stale-element-aware geometry queries.
Issue10947.xaml Applies container safe-area handling.

@kubaflo

kubaflo commented Oct 1, 2026

Copy link
Copy Markdown
Contributor Author

@dalexsoto stamp

@PureWeen PureWeen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adversarial review

No actionable code issues found at 4f4bcaabaaab6e6000c82436df4110472e4a9ed7. Each independent reviewer found that the updated geometry lookups and Shell readiness waits preserve the existing assertions while targeting the next interaction's rebuilt element.

Methodology: 3 independent reviewers with adversarial consensus.

Test coverage: The PR updates existing CollectionView and Shell UI-test scenarios without weakening assertions or adding delays.

Prior review status: One existing comment-only review at this head reported no findings; no duplicate concerns identified.

Scope: code review only. CI/check status and merge readiness were not evaluated; use the repository's CI-analysis workflow for that assessment.

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stamping as requested by @kubaflo; no code review performed.

@kubaflo
kubaflo merged commit b78a78f into main Oct 1, 2026
188 of 197 checks passed
@kubaflo
kubaflo deleted the kubaflo-monitor-branch-ci branch October 1, 2026 21:59
@github-actions github-actions Bot added this to the .NET 10 SR12 milestone Oct 1, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 1, 2026

This branch was previously deployed

1 inactive deployment
copilot-pat-pool — 4f4bcaab Deployed Oct 1, 2026 by kubaflo via conclusion #2173
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants