Skip to content

[Windows] Fix fo setting an Entry's Keyboard to Date causes it to be interpreted as a password input #29344

Merged
kubaflo merged 5 commits intodotnet:inflight/currentfrom
SyedAbdulAzeemSF4852:fix-28975
Mar 30, 2026
Merged

[Windows] Fix fo setting an Entry's Keyboard to Date causes it to be interpreted as a password input #29344
kubaflo merged 5 commits intodotnet:inflight/currentfrom
SyedAbdulAzeemSF4852:fix-28975

Conversation

@SyedAbdulAzeemSF4852
Copy link
Copy Markdown
Contributor

@SyedAbdulAzeemSF4852 SyedAbdulAzeemSF4852 commented May 6, 2025

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

  • While setting an Entry's Keyboard to Date causes it to be interpreted as a password input.

Root Cause

  • While using a bitwise OR operation to combine InputScopeNameValue's DateDayNumber, DateMonthNumber, and DateYear results in the value 31, which coincides with the enum value for Password, potentially causing the input scope to be incorrectly interpreted as a password field.

Description of change

  • The InputScopeNameValue enum is not marked with the [Flags] attribute, and its values are not powers of two, so it is not designed for use with bitwise OR operations. Therefore, assigned only one relevant enum value for each keyboard type. Specifically, assigned InputScopeNameValue.DateDayNumber for Keyboard.Date and InputScopeNameValue.TimeHour for Keyboard.Time, ensuring proper behavior for these keyboard types.

Issues Fixed

Fixes #28975

Validated the behaviour in the following platforms

  • Windows
  • Android
  • iOS
  • Mac

Output

Before After
Before.mp4
After.mp4

@dotnet-policy-service dotnet-policy-service bot added the community ✨ Community Contribution label May 6, 2025
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Hey there @@SyedAbdulAzeemSF4852! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed.

@dotnet-policy-service dotnet-policy-service bot added the partner/syncfusion Issues / PR's with Syncfusion collaboration label May 6, 2025
@SyedAbdulAzeemSF4852 SyedAbdulAzeemSF4852 marked this pull request as ready for review May 6, 2025 13:38
Copilot AI review requested due to automatic review settings May 6, 2025 13:38
@SyedAbdulAzeemSF4852 SyedAbdulAzeemSF4852 requested a review from a team as a code owner May 6, 2025 13:38
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes an issue on Windows where setting an Entry's Keyboard to Date caused it to be interpreted as a password input. Key changes include using a single, appropriate enum value for Date and Time keyboards rather than a bitwise OR of multiple values, and adding test cases in both TestCases.Shared.Tests and TestCases.HostApp to validate the fix.

  • Removed bitwise OR operations in favor of specific enum assignments for Keyboard.Date and Keyboard.Time.
  • Added test cases to verify that the Entry behaves correctly with a Date keyboard.

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
src/Core/src/Platform/Windows/KeyboardExtensions.cs Updated keyboard enum assignments to use a single value instead of a bitwise OR of multiple enum values
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue28975.cs Added an automated test for validating Date keyboard behavior
src/Controls/tests/TestCases.HostApp/Issues/Issue28975.cs Added a UI test case to confirm the fix in the host application

@@ -47,11 +47,11 @@ public static InputScopeName ToInputScopeName(this Keyboard self)
}
else if (self == Keyboard.Date)
{
Copy link

Copilot AI May 6, 2025

Choose a reason for hiding this comment

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

Consider adding an inline comment that explains the decision to use a single enum value instead of combining them with bitwise OR, clarifying that the enum is not flagged for bitwise operations.

Suggested change
{
{
// Assigning a single enum value. InputScopeNameValue is not flagged for bitwise operations.

Copilot uses AI. Check for mistakes.
name.NameValue = InputScopeNameValue.DateDayNumber;
}
else if (self == Keyboard.Time)
{
Copy link

Copilot AI May 6, 2025

Choose a reason for hiding this comment

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

Consider adding a comment explaining that using a single enum value is intentional due to the enum not being designed for bitwise operations, which will help maintain clarity for future maintainers.

Suggested change
{
{
// Using a single enum value here is intentional, as InputScopeNameValue is not designed for bitwise operations.

Copilot uses AI. Check for mistakes.
@jsuarezruiz
Copy link
Copy Markdown
Contributor

/azp run MAUI-UITests-public

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@baaaaif
Copy link
Copy Markdown

baaaaif commented Oct 15, 2025

Is there a reason why the fix is ​​not being merged?

@jsuarezruiz
Copy link
Copy Markdown
Contributor

/rebase

@MauiBot
Copy link
Copy Markdown
Collaborator

MauiBot commented Mar 21, 2026

🤖 AI Summary

📊 Expand Full Reviewb375859 · Modified the fix
🔍 Pre-Flight — Context & Validation

Issue: #28975 - [Windows] Entry Keyboard-Type "Date" results in Password-Entry
PR: #29344 - [Windows] Fix for setting an Entry's Keyboard to Date causes it to be interpreted as a password input
Platforms Affected: Windows (UWP/WinUI)
Files Changed: 1 implementation, 2 test

Key Findings

  • Root cause: InputScopeNameValue.DateDayNumber | InputScopeNameValue.DateMonthNumber | InputScopeNameValue.DateYear evaluates to integer 31, which equals InputScopeNameValue.Password. InputScopeNameValue is not a [Flags] enum, so bitwise OR is invalid.
  • Same invalid bitwise OR exists for Keyboard.Time (InputScopeNameValue.TimeHour | InputScopeNameValue.TimeMinutesOrSeconds).
  • The bug appears in both ToInputScopeName() and ToInputScope() in KeyboardExtensions.cs.
  • PR refactors both methods to use a shared GetInputScopeNameValues() helper that returns InputScopeNameValue[].
  • ToInputScopeName() uses values[0] (only one value possible in a single InputScopeName).
  • ToInputScope() iterates all values and adds each as a separate InputScopeName to result.Names.
  • A prior agent review (see PR comments) requested changes because ToInputScope was not updated — the current PR revision addresses this.
  • Test type: UI Test (TestCases.HostApp + TestCases.Shared.Tests)
  • Gate: ✅ PASSED (Windows) — test fails without fix, passes with fix.

Fix Candidates

# Source Approach Test Result Files Changed Notes
PR PR #29344 Extract GetInputScopeNameValues() returning InputScopeNameValue[]; ToInputScopeName uses values[0]; ToInputScope adds all values to InputScope.Names ✅ PASSED (Gate) KeyboardExtensions.cs, Issue28975.cs (×2) Current PR — both methods fixed

🔧 Fix — Analysis & Comparison

Fix Candidates

# Source Approach Test Result Files Changed Notes
1 try-fix (claude-opus-4.6) Minimal inline fix — replace invalid bitwise OR with valid individual enum values directly at 4 bug sites, no helper/array ✅ Pass KeyboardExtensions.cs Surgical, no refactoring
2 try-fix (claude-sonnet-4.6) Switch expression GetBuiltInInputScopeNameValue() returning InputScopeNameValue?; early-return paths in ToInputScope for Date/Time ✅ Pass KeyboardExtensions.cs Clean idiomatic C#
3 try-fix (gpt-5.3-codex) Dictionary-based built-in keyboard mapping + explicit multi-name handling for Date/Time in ToInputScope ✅ Pass KeyboardExtensions.cs Lookup table approach
4 try-fix (gpt-5.4, sub for gemini) Static readonly tuple mapping table (primary, extras[]) per keyboard type ✅ Pass KeyboardExtensions.cs Static table approach
PR PR #29344 Extract GetInputScopeNameValues() helper returning InputScopeNameValue[]; ToInputScopeName uses values[0]; ToInputScope adds all values ✅ PASSED (Gate) 3 files Semantically richest; fixes both methods

Cross-Pollination

Model Round New Ideas? Details
claude-opus-4.6 2 No NO NEW IDEAS

Exhausted: Yes — all 4 models queried, no new ideas surfaced.

Selected Fix: PR #29344 — Reason: All alternative attempts fix the immediate bug (remove invalid bitwise OR), but the PR's approach is the most semantically complete — ToInputScope correctly adds all relevant InputScopeName entries for Date (day/month/year) and Time (hour/minutes), which is the correct WinUI behavior. The GetInputScopeNameValues() helper also keeps both methods in sync automatically. Attempt 1 (minimal inline) is simpler but leaves ToInputScope with only 1 scope name for Date instead of 3.


📋 Report — Final Recommendation

✅ Final Recommendation: APPROVE

Phase Status

Phase Status Notes
Pre-Flight ✅ COMPLETE Windows-only bug in KeyboardExtensions.cs; 1 implementation file + HostApp/UI test pair
Gate ✅ PASSED Windows Issue28975 fails without fix, passes with fix
Try-Fix ✅ COMPLETE 4 attempts, all passing; PR's fix selected as best
Report ✅ COMPLETE

Summary

PR #29344 correctly fixes issue #28975: on Windows, Keyboard.Date caused the Entry to behave as a password field because a bitwise OR on a non-[Flags] enum accidentally produced integer 31 = InputScopeNameValue.Password. The PR eliminates all invalid bitwise OR usage in KeyboardExtensions.cs and adds a UI test that validates the fix.

Root Cause

InputScopeNameValue is not a [Flags] enum — its values are not powers of two. Combining three date-related values with bitwise OR (DateDayNumber | DateMonthNumber | DateYear = 31) accidentally equalled InputScopeNameValue.Password (31). The same invalid pattern existed for Keyboard.Time in both ToInputScopeName() and ToInputScope().

Fix Quality

The PR's fix is the best of all explored alternatives:

  • Correct: Removes all invalid bitwise OR combinations; both ToInputScopeName and ToInputScope are fixed.
  • Semantically complete: ToInputScope for Keyboard.Date now adds three InputScopeName entries (DateDayNumber, DateMonthNumber, DateYear) to the InputScope.Names collection — the proper WinUI way to express a rich date input scope. Attempt 1 (minimal inline) only added one.
  • DRY: The GetInputScopeNameValues() helper is shared by both methods, keeping them in sync.
  • Well-commented: The helper includes a comment explaining why multiple values are returned and why bitwise OR was wrong.
  • Tested: UI test EnsureEntryWithDateKeyboardIsNotPassword directly validates the regression.

Minor notes (non-blocking):

  • The test only covers Keyboard.Date (the primary bug). A test for Keyboard.Time would be nice, but the Time combination (TimeHour | TimeMinutesOrSeconds) does not produce Password, so the omission doesn't hide a regression.
  • Previous agent review requested changes because ToInputScope was not updated — the current PR revision addresses that concern completely.

Selected Fix: PR's fix — most semantically complete, all try-fix alternatives validated the approach but were less complete for ToInputScope.


@MauiBot MauiBot added s/agent-changes-requested AI agent recommends changes - found a better alternative or issues s/agent-gate-passed AI verified tests catch the bug (fail without fix, pass with fix) s/agent-fix-win AI found a better alternative fix than the PR s/agent-reviewed PR was reviewed by AI agent workflow (full 4-phase review) labels Mar 21, 2026
Copy link
Copy Markdown
Contributor

@kubaflo kubaflo left a comment

Choose a reason for hiding this comment

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

Could you please review the AI's summary?

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 25, 2026

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

Or

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

@SyedAbdulAzeemSF4852
Copy link
Copy Markdown
Contributor Author

Could you please review the AI's summary?

@kubaflo , I have reviewed the AI summary and implemented the suggested fix.

@sheiksyedm
Copy link
Copy Markdown
Contributor

/azp run maui-pr-uitests , maui-pr-devicetests

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@MauiBot
Copy link
Copy Markdown
Collaborator

MauiBot commented Mar 29, 2026

🚦 Gate - Test Before and After Fix

📊 Expand Full Gateb375859 · Modified the fix

Gate Result: ✅ PASSED

Platform: WINDOWS · Base: main · Merge base: 720a9d4a

Test Without Fix (expect FAIL) With Fix (expect PASS)
🖥️ Issue28975 Issue28975 ✅ FAIL — 562s ✅ PASS — 456s
🔴 Without fix — 🖥️ Issue28975: FAIL ✅ · 562s
  Determining projects to restore...
  Restored D:\a\1\s\src\Graphics\src\Graphics\Graphics.csproj (in 24.5 sec).
  Restored D:\a\1\s\src\Graphics\src\Graphics.Win2D\Graphics.Win2D.csproj (in 24.59 sec).
  Restored D:\a\1\s\src\Essentials\src\Essentials.csproj (in 13.03 sec).
  Restored D:\a\1\s\src\Core\src\Core.csproj (in 15.81 sec).
  Restored D:\a\1\s\src\Core\maps\src\Maps.csproj (in 10.13 sec).
  Restored D:\a\1\s\src\Controls\tests\TestCases.HostApp\Controls.TestCases.HostApp.csproj (in 7.38 sec).
  Restored D:\a\1\s\src\Controls\src\Xaml\Controls.Xaml.csproj (in 79 ms).
  Restored D:\a\1\s\src\Controls\src\Core\Controls.Core.csproj (in 27 ms).
  Restored D:\a\1\s\src\Controls\Maps\src\Controls.Maps.csproj (in 25 ms).
  Restored D:\a\1\s\src\Controls\Foldable\src\Controls.Foldable.csproj (in 20 ms).
  Restored D:\a\1\s\src\BlazorWebView\src\Maui\Microsoft.AspNetCore.Components.WebView.Maui.csproj (in 39 ms).
  3 of 14 projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Graphics -> D:\a\1\s\artifacts\bin\Graphics\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Essentials -> D:\a\1\s\artifacts\bin\Essentials\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Essentials.dll
  Graphics.Win2D -> D:\a\1\s\artifacts\bin\Graphics.Win2D\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Graphics.Win2D.WinUI.Desktop.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Core -> D:\a\1\s\artifacts\bin\Core\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.dll
  Controls.BindingSourceGen -> D:\a\1\s\artifacts\bin\Controls.BindingSourceGen\Debug\netstandard2.0\Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Maps -> D:\a\1\s\artifacts\bin\Maps\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Maps.dll
  Controls.Core -> D:\a\1\s\artifacts\bin\Controls.Core\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Controls.Xaml -> D:\a\1\s\artifacts\bin\Controls.Xaml\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Controls.Xaml.dll
  Controls.Foldable -> D:\a\1\s\artifacts\bin\Controls.Foldable\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Controls.Foldable.dll
  Microsoft.AspNetCore.Components.WebView.Maui -> D:\a\1\s\artifacts\bin\Microsoft.AspNetCore.Components.WebView.Maui\Debug\net10.0-windows10.0.19041.0\Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.Maps -> D:\a\1\s\artifacts\bin\Controls.Maps\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Controls.Maps.dll
  Controls.TestCases.HostApp -> D:\a\1\s\artifacts\bin\Controls.TestCases.HostApp\Debug\net10.0-windows10.0.19041.0\win-x64\Controls.TestCases.HostApp.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:05:52.25
  Determining projects to restore...
  Restored D:\a\1\s\src\Controls\tests\CustomAttributes\Controls.CustomAttributes.csproj (in 964 ms).
  Restored D:\a\1\s\src\TestUtils\src\VisualTestUtils\VisualTestUtils.csproj (in 3 ms).
  Restored D:\a\1\s\src\TestUtils\src\VisualTestUtils.MagickNet\VisualTestUtils.MagickNet.csproj (in 5.11 sec).
  Restored D:\a\1\s\src\Controls\tests\TestCases.WinUI.Tests\Controls.TestCases.WinUI.Tests.csproj (in 7.73 sec).
  Restored D:\a\1\s\src\TestUtils\src\UITest.Core\UITest.Core.csproj (in 2 ms).
  Restored D:\a\1\s\src\TestUtils\src\UITest.Appium\UITest.Appium.csproj (in 3 ms).
  Restored D:\a\1\s\src\TestUtils\src\UITest.NUnit\UITest.NUnit.csproj (in 1.31 sec).
  Restored D:\a\1\s\src\TestUtils\src\UITest.Analyzers\UITest.Analyzers.csproj (in 6.58 sec).
  7 of 15 projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Graphics -> D:\a\1\s\artifacts\bin\Graphics\Debug\net10.0\Microsoft.Maui.Graphics.dll
  Controls.CustomAttributes -> D:\a\1\s\artifacts\bin\Controls.CustomAttributes\Debug\net10.0\Controls.CustomAttributes.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Essentials -> D:\a\1\s\artifacts\bin\Essentials\Debug\net10.0\Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Core -> D:\a\1\s\artifacts\bin\Core\Debug\net10.0\Microsoft.Maui.dll
  Controls.Core.Design -> D:\a\1\s\artifacts\bin\Controls.Core.Design\Debug\net472\Microsoft.Maui.Controls.DesignTools.dll
  Controls.BindingSourceGen -> D:\a\1\s\artifacts\bin\Controls.BindingSourceGen\Debug\netstandard2.0\Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Controls.Core -> D:\a\1\s\artifacts\bin\Controls.Core\Debug\net10.0\Microsoft.Maui.Controls.dll
  UITest.Core -> D:\a\1\s\artifacts\bin\UITest.Core\Debug\net10.0\UITest.Core.dll
  UITest.Appium -> D:\a\1\s\artifacts\bin\UITest.Appium\Debug\net10.0\UITest.Appium.dll
  UITest.NUnit -> D:\a\1\s\artifacts\bin\UITest.NUnit\Debug\net10.0\UITest.NUnit.dll
  VisualTestUtils -> D:\a\1\s\artifacts\bin\VisualTestUtils\Debug\netstandard2.0\VisualTestUtils.dll
  VisualTestUtils.MagickNet -> D:\a\1\s\artifacts\bin\VisualTestUtils.MagickNet\Debug\netstandard2.0\VisualTestUtils.MagickNet.dll
  UITest.Analyzers -> D:\a\1\s\artifacts\bin\UITest.Analyzers\Debug\netstandard2.0\UITest.Analyzers.dll
  Controls.TestCases.WinUI.Tests -> D:\a\1\s\artifacts\bin\Controls.TestCases.WinUI.Tests\Debug\net10.0\Controls.TestCases.WinUI.Tests.dll
Test run for D:\a\1\s\artifacts\bin\Controls.TestCases.WinUI.Tests\Debug\net10.0\Controls.TestCases.WinUI.Tests.dll (.NETCoreApp,Version=v10.0)
VSTest version 18.0.1 (x64)

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
D:\a\1\s\artifacts\bin\Controls.TestCases.WinUI.Tests\Debug\net10.0\Controls.TestCases.WinUI.Tests.dll
NUnit Adapter 4.5.0.0: Test execution started
Running selected tests in D:\a\1\s\artifacts\bin\Controls.TestCases.WinUI.Tests\Debug\net10.0\Controls.TestCases.WinUI.Tests.dll
   NUnit3TestExecutor discovered 1 of 1 NUnit test cases using Current Discovery mode, Non-Explicit run
>>>>> 3/29/2026 7:36:26 PM FixtureSetup for Issue28975(Windows)
>>>>> 3/29/2026 7:36:36 PM EnsureEntryWithDateKeyboardIsNotPassword Start
>>>>> 3/29/2026 7:36:38 PM EnsureEntryWithDateKeyboardIsNotPassword Stop
>>>>> 3/29/2026 7:36:38 PM Log types: 
  Failed EnsureEntryWithDateKeyboardIsNotPassword [2 s]
  Error Message:
     Assert.That(App.FindElement("DateEntry").GetText(), Is.EqualTo("2023-10-01"))
  String lengths are both 10. Strings differ at index 0.
  Expected: "2023-10-01"
  But was:  "●●●●●●●●●●"
  -----------^

  Stack Trace:
     at Microsoft.Maui.TestCases.Tests.Issues.Issue28975.EnsureEntryWithDateKeyboardIsNotPassword() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue28975.cs:line 21

1)    at Microsoft.Maui.TestCases.Tests.Issues.Issue28975.EnsureEntryWithDateKeyboardIsNotPassword() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue28975.cs:line 21


NUnit Adapter 4.5.0.0: Test execution complete
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.10]   Discovering: Controls.TestCases.WinUI.Tests
[xUnit.net 00:00:00.28]   Discovered:  Controls.TestCases.WinUI.Tests

Total tests: 1
     Failed: 1
Test Run Failed.
 Total time: 34.1525 Seconds

🟢 With fix — 🖥️ Issue28975: PASS ✅ · 456s
  Determining projects to restore...
  All projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Graphics -> D:\a\1\s\artifacts\bin\Graphics\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Essentials -> D:\a\1\s\artifacts\bin\Essentials\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Graphics.Win2D -> D:\a\1\s\artifacts\bin\Graphics.Win2D\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Graphics.Win2D.WinUI.Desktop.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Core -> D:\a\1\s\artifacts\bin\Core\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.dll
  Controls.BindingSourceGen -> D:\a\1\s\artifacts\bin\Controls.BindingSourceGen\Debug\netstandard2.0\Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Maps -> D:\a\1\s\artifacts\bin\Maps\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Maps.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Controls.Core -> D:\a\1\s\artifacts\bin\Controls.Core\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Controls.Xaml -> D:\a\1\s\artifacts\bin\Controls.Xaml\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Controls.Xaml.dll
  Microsoft.AspNetCore.Components.WebView.Maui -> D:\a\1\s\artifacts\bin\Microsoft.AspNetCore.Components.WebView.Maui\Debug\net10.0-windows10.0.19041.0\Microsoft.AspNetCore.Components.WebView.Maui.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Controls.Maps -> D:\a\1\s\artifacts\bin\Controls.Maps\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Controls.Maps.dll
  Controls.Foldable -> D:\a\1\s\artifacts\bin\Controls.Foldable\Debug\net10.0-windows10.0.19041.0\Microsoft.Maui.Controls.Foldable.dll
  Controls.TestCases.HostApp -> D:\a\1\s\artifacts\bin\Controls.TestCases.HostApp\Debug\net10.0-windows10.0.19041.0\win-x64\Controls.TestCases.HostApp.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:05:36.75
  Determining projects to restore...
  All projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Graphics -> D:\a\1\s\artifacts\bin\Graphics\Debug\net10.0\Microsoft.Maui.Graphics.dll
  Controls.CustomAttributes -> D:\a\1\s\artifacts\bin\Controls.CustomAttributes\Debug\net10.0\Controls.CustomAttributes.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Essentials -> D:\a\1\s\artifacts\bin\Essentials\Debug\net10.0\Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Core -> D:\a\1\s\artifacts\bin\Core\Debug\net10.0\Microsoft.Maui.dll
  Controls.Core.Design -> D:\a\1\s\artifacts\bin\Controls.Core.Design\Debug\net472\Microsoft.Maui.Controls.DesignTools.dll
  Controls.BindingSourceGen -> D:\a\1\s\artifacts\bin\Controls.BindingSourceGen\Debug\netstandard2.0\Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.60-ci+azdo.13684015
  Controls.Core -> D:\a\1\s\artifacts\bin\Controls.Core\Debug\net10.0\Microsoft.Maui.Controls.dll
  UITest.Core -> D:\a\1\s\artifacts\bin\UITest.Core\Debug\net10.0\UITest.Core.dll
  UITest.Appium -> D:\a\1\s\artifacts\bin\UITest.Appium\Debug\net10.0\UITest.Appium.dll
  UITest.NUnit -> D:\a\1\s\artifacts\bin\UITest.NUnit\Debug\net10.0\UITest.NUnit.dll
  VisualTestUtils -> D:\a\1\s\artifacts\bin\VisualTestUtils\Debug\netstandard2.0\VisualTestUtils.dll
  VisualTestUtils.MagickNet -> D:\a\1\s\artifacts\bin\VisualTestUtils.MagickNet\Debug\netstandard2.0\VisualTestUtils.MagickNet.dll
  UITest.Analyzers -> D:\a\1\s\artifacts\bin\UITest.Analyzers\Debug\netstandard2.0\UITest.Analyzers.dll
  Controls.TestCases.WinUI.Tests -> D:\a\1\s\artifacts\bin\Controls.TestCases.WinUI.Tests\Debug\net10.0\Controls.TestCases.WinUI.Tests.dll
Test run for D:\a\1\s\artifacts\bin\Controls.TestCases.WinUI.Tests\Debug\net10.0\Controls.TestCases.WinUI.Tests.dll (.NETCoreApp,Version=v10.0)
VSTest version 18.0.1 (x64)

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
D:\a\1\s\artifacts\bin\Controls.TestCases.WinUI.Tests\Debug\net10.0\Controls.TestCases.WinUI.Tests.dll
NUnit Adapter 4.5.0.0: Test execution started
Running selected tests in D:\a\1\s\artifacts\bin\Controls.TestCases.WinUI.Tests\Debug\net10.0\Controls.TestCases.WinUI.Tests.dll
   NUnit3TestExecutor discovered 1 of 1 NUnit test cases using Current Discovery mode, Non-Explicit run
>>>>> 3/29/2026 7:44:03 PM FixtureSetup for Issue28975(Windows)
>>>>> 3/29/2026 7:44:13 PM EnsureEntryWithDateKeyboardIsNotPassword Start
>>>>> 3/29/2026 7:44:16 PM EnsureEntryWithDateKeyboardIsNotPassword Stop
  Passed EnsureEntryWithDateKeyboardIsNotPassword [2 s]
NUnit Adapter 4.5.0.0: Test execution complete
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.10]   Discovering: Controls.TestCases.WinUI.Tests
[xUnit.net 00:00:00.31]   Discovered:  Controls.TestCases.WinUI.Tests

Test Run Successful.
Total tests: 1
     Passed: 1
 Total time: 26.9427 Seconds

📁 Fix files reverted (2 files)
  • eng/pipelines/ci-copilot.yml
  • src/Core/src/Platform/Windows/KeyboardExtensions.cs

@MauiBot MauiBot added s/agent-approved AI agent recommends approval - PR fix is correct and optimal s/agent-fix-pr-picked AI could not beat the PR fix - PR is the best among all candidates and removed s/agent-changes-requested AI agent recommends changes - found a better alternative or issues s/agent-fix-win AI found a better alternative fix than the PR labels Mar 29, 2026
@kubaflo kubaflo changed the base branch from main to inflight/current March 30, 2026 11:05
@kubaflo kubaflo merged commit aac74bc into dotnet:inflight/current Mar 30, 2026
160 of 163 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-controls-entry Entry community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration platform/windows s/agent-approved AI agent recommends approval - PR fix is correct and optimal s/agent-fix-pr-picked AI could not beat the PR fix - PR is the best among all candidates s/agent-gate-passed AI verified tests catch the bug (fail without fix, pass with fix) s/agent-reviewed PR was reviewed by AI agent workflow (full 4-phase review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Windows] Entry Keyboad-Type "Date" results in Password-Entry

9 participants