Commit 19a1888
> [!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!
Workflow artifact: ci-fix
Artifact kind: deflake
Refs: #37557
Target branch: main
Attempt: 1/10
## Attempt 1 of 10
Synchronize `SafeAreaPerEdgeValidation` with actual keyboard visibility
before validating keyboard-dependent safe-area layouts.
### Previous attempts (prior commits on this PR)
None.
This attempt differs by: this is the first attempt.
## Root cause
The latest `main` build 1563072 failed
`Issue28986.SafeAreaPerEdgeValidation` on run 0 because `ContentGrid`
remained at height 2789 after tapping the entry, then passed on built-in
retry run 1. The test immediately queried layout after the tap without
proving that Android had shown the keyboard.
Flake class: test-quality
## Why this was flaky
`Issue28986.SafeAreaPerEdgeValidation` retried its layout assertion but
had no synchronization point confirming that Android had completed the
keyboard transition. Depending on keyboard animation timing, the
assertion could poll the unchanged pre-keyboard layout; build 1563072
demonstrates the intermittent fail-then-pass behavior.
## De-flake
The test now asserts `WaitForKeyboardToShow()` before measuring the
keyboard-visible layout and `WaitForKeyboardToHide()` before validating
the restored layout. Every existing layout assertion remains unchanged.
No timeout was increased, no retry attribute was added, and no assertion
was weakened.
## Fix
Add the existing Appium keyboard-state waits at the two transition
boundaries so the test evaluates the same behavior in deterministic UI
states.
## What is unverified / where I need help
- The Android UI test could not be run because this runner has no device
rig.
- Please confirm the API 36 SafeAreaEdges leg consistently observes both
transitions.
## Validation
- Command: `not run because no Android device rig is available`
- Result: not run
## Evidence
- Original failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1554582
- Latest verified-failing build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1563072
---
Filed by
[`ci-status-fix`](https://github.com/dotnet/maui/blob/main/.github/workflows/ci-status-fix.md).
This is the single PR for #37557: the workflow watches its
own CI and pushes up to **10 attempts on this same PR** (it never opens
a second PR). It advances only when the fix's own build settles red and
that red is caused by the fix. Comments, reviews, and commits do not
transfer ownership; the loop remains autonomous until this PR is closed.
Eligible `CHANGES_REQUESTED` reviews are handled through Track C. After
10 attempts it stops and defers to humans. In round 1 a maintainer still
needs to comment `/azp run maui-pr` (plus the gated uitests/devicetests
legs when relevant) to exercise each new commit.
> [!WARNING]
> <details>
> <summary>Firewall blocked 1 domain</summary>
>
> The following domain was blocked by the firewall during workflow
execution:
>
> - `dc.services.visualstudio.com`
>
> To allow these domains, add them to the `network.allowed` list in your
workflow frontmatter:
>
> ```yaml
> network:
> allowed:
> - defaults
> - "dc.services.visualstudio.com"
> ```
>
> See [Network
Configuration](https://github.github.com/gh-aw/reference/network/) for
more information.
>
> </details>
> Generated by [CI Failure Fixer
(main)](https://github.com/dotnet/maui/actions/runs/32573008235) · gpt56
· 446.8 AIC · ⌖ 82.9 AIC · ⊞ 31.1K ·
[◷](https://github.com/search?q=repo%3Adotnet%2Fmaui+%22gh-aw-workflow-id%3A+ci-status-fix%22&type=pullrequests)
<!-- gh-aw-agentic-workflow: CI Failure Fixer (main), engine: copilot,
model: gpt-5.6-sol, id: 32573008235, workflow_id: ci-status-fix, run:
https://github.com/dotnet/maui/actions/runs/32573008235 -->
<!-- gh-aw-workflow-id: ci-status-fix -->
<!-- gh-aw-workflow-call-id: dotnet/maui/ci-status-fix -->
Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com>
1 parent e7d00b0 commit 19a1888
1 file changed
Lines changed: 2 additions & 0 deletions
File tree
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| 180 | + | |
180 | 181 | | |
181 | 182 | | |
182 | 183 | | |
| |||
187 | 188 | | |
188 | 189 | | |
189 | 190 | | |
| 191 | + | |
190 | 192 | | |
191 | 193 | | |
192 | 194 | | |
| |||
0 commit comments