From d0526ef2f3de73d667453f7f2f271d73f39ce0c8 Mon Sep 17 00:00:00 2001 From: James Maes Date: Mon, 12 Oct 2026 00:15:14 -0500 Subject: [PATCH] test(settings): activate the owned window before native picker actions Retain original picker assertions and deadlines; include invocation evidence on failure. Hosted causation/acceptance remains required. Co-Authored-By: Codex Signed-off-by: James Maes --- docs/SESSION-STATE.md | 34 ++++++++++++++++++- docs/TODO.md | 3 ++ .../AppTests.Settings.cs | 4 +++ .../AppTests.Windows.cs | 2 +- 4 files changed, 41 insertions(+), 2 deletions(-) diff --git a/docs/SESSION-STATE.md b/docs/SESSION-STATE.md index e9fb259..c096893 100644 --- a/docs/SESSION-STATE.md +++ b/docs/SESSION-STATE.md @@ -1,6 +1,38 @@ # Session State -Updated: 2026-10-11 +Updated: 2026-10-12 + +## Assurance push accepted natively; published picker failure investigated - 2026-10-12 + +Signed/DCOe6fd281 is pushed. Hosted fuzz38204215912 passes core9/9 and activation2/2, +zero skips; actual TRXs/log retained under current-fuzz-evidence-38204215912 and +current-fuzz-e6fd281.log. ExactCI38204216325 passes677 core/100%, focused28/28, +full native111/111 and format/scripts/security/CodeQL; retain current-native- +e6fd281.log and reader-regressions-38204216325. Native duration10m11; do not infer +published or installed acceptance from that result. + +Distributed job114664001461 fails: published process reaches its unchanged600- +second bound with no final TRX. Actual ThemeTransfer_NativePickerCancels fails +waiting10 seconds for exact native filename1148; owned-window evidence shows +only Settings/main and blank SettingsStatus, with both app windows inactive in +the retained screenshot. No installed phase/lifecycle is reached. Preserve +current-installed-evidence-38204216325/process-15.log and installed job log. +No signing/publication/required-check addition is inferred from partial success. + +A candidate activates the exact owned Settings window and focuses its actual +native action before UIA invocation; prior helper did neither. Preserve original +selector/assertions/cases/deadlines, add LastInvocation/LastMouseInput to timeout +evidence. Full isolated Release0 warnings/errors and format pass; actual hosted +validation still required. Inactive-owner causation remains a hypothesis until +that evidence, not an established app defect. No production source changes. + +Current ruleset24859282 still requires the genuine review check and every prior +context. Prepared ruleset-add-fuzz.json adds only Actions-bound fuzzing; do not +apply until all required automated bootstrap gates pass. Shared31 signing approval, +Azure resource/identity/profile verification and final signatures, actual Best +Practices enrollment/shared inventory, final-head acknowledgement and owner +layout/chooser acceptance remain required. No local GUI input, Azure login retry, +shared merge, release tag or publication. ## Current standards delta prepared; preceding checkpoint fully accepted - 2026-10-11 diff --git a/docs/TODO.md b/docs/TODO.md index baafe58..666cdbf 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -2,6 +2,9 @@ ## Current release checklist +- [x] Pushe6fd281 and verify hosted fuzz9/9 core+2/2 activation,677 core/100% lines, focused28 and full native111, zero skips; retain actual evidence. +- [ ] Verify the owned Settings activation candidate through exact hosted native/published/installed acceptance after the observed picker failure and600-second published timeout. Preserve all cases/assertions/deadlines; current required-check addition remains unapplied. + - [x] Exact82256f3 CI38201379210 passes668 core/100% lines, focused28, native/published109 and installed108 per channel, zero skips; actual lifecycle artifacts/logs retained. - [x] Prepare current-standard assurance record, five seeded parser/property targets and honest unenrolled Best Practices assessment (#30/#31). - [x] Run local long campaigns:80000 core inputs plus minimized oracle regression,20000 activation envelopes,677 core tests/100% measured lines, zero-warning Release/format and23 setup tests. diff --git a/tests/MarkdownViewr.Windows.UiTests/AppTests.Settings.cs b/tests/MarkdownViewr.Windows.UiTests/AppTests.Settings.cs index aa38b92..7be2aec 100644 --- a/tests/MarkdownViewr.Windows.UiTests/AppTests.Settings.cs +++ b/tests/MarkdownViewr.Windows.UiTests/AppTests.Settings.cs @@ -423,6 +423,10 @@ public partial class AppTests { session.InvokeMenuItem("File", "SettingsMenuItem"); session.WaitForElement(tab).Patterns.SelectionItem.Pattern.Select(); + Window settings = session.TopLevelWindows().Single(window => string.Equals(window.Name, session.DisplayName + " — Settings", StringComparison.Ordinal)).AsWindow(); + settings.SetForeground(); + session.WaitForElement(identity).Focus(); + Wait.UntilInputIsProcessed(); session.ClickElement(identity); } diff --git a/tests/MarkdownViewr.Windows.UiTests/AppTests.Windows.cs b/tests/MarkdownViewr.Windows.UiTests/AppTests.Windows.cs index 420fbc3..84a8c88 100644 --- a/tests/MarkdownViewr.Windows.UiTests/AppTests.Windows.cs +++ b/tests/MarkdownViewr.Windows.UiTests/AppTests.Windows.cs @@ -330,7 +330,7 @@ public partial class AppTests string windows = string.Join(Environment.NewLine, session.TopLevelWindows().Select(window => "Window=" + window.Name + "; " + string.Join(Environment.NewLine, window.FindAllDescendants().Take(180).Select(element => "Id=" + element.Properties.AutomationId.ValueOrDefault + "; Name=" + element.Properties.Name.ValueOrDefault + "; Type=" + element.Properties.ControlType.ValueOrDefault)))); - throw new TimeoutException(exception.Message + " Logs: " + session.ReadLogs() + "; Owned native windows: " + windows + "; Main tree: " + session.DescribeDocumentStatus(), exception); + throw new TimeoutException(exception.Message + "; Last invocation: " + session.LastInvocation + "; Last mouse input: " + session.LastMouseInput + " Logs: " + session.ReadLogs() + "; Owned native windows: " + windows + "; Main tree: " + session.DescribeDocumentStatus(), exception); } }