Repository navigation
fix: qualify Windows observation and bounded polling - #13
Merged
Merged
Conversation
…speed + +The cache-retention test expected >24 polls within3seconds; hosted CI +completed15 under load. Accumulate actual polls across bounded waits and +also verify more than24 backend observations before targeting the old state. +The timeout test requires the guaranteed initial observation, not runner speed. + +Validation: npm test438passed/0failed/18skipped; focused suite11/0. +An isolated250ms-per-observation fixture passes; deliberately caching the +polls fails with unknown_state, preserving the regression assertion. +No production timeout, cache or consent behavior changed. + Signed-off-by: Hunter B <hmbown@gmail.com>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The revised tests preserve coverage while removing assumptions about polling throughput.
Review effort: Balanced
Findings: None
What changed in this PR
Makes cache-retention polling tests independent of CI runner speed.
Changes:
- Accepts the guaranteed initial timeout observation.
- Accumulates completed polls across bounded waits before validating cache retention.
| File | Description |
|---|---|
tests/wait-for.test.mjs |
Makes polling and cache-retention assertions timing-resilient. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Move-Item -Force briefly removes the old status file; the real desktop check hit ENOENT after its initial readiness wait in job112658049540. Use File.Replace for existing receipts and File.Move for the initial one. The fixture keeps the prior complete snapshot readable until replacement. Source-only fixture repair; Windows hosted desktop acceptance is required. Preceding canonical suite438/0/18skipped and3OS source suites passed; those passes do not qualify this new Windows fixture. No runtime change. Signed-off-by: Hunter B <hmbown@gmail.com>
Empty UIA rectangles carry infinity and previously crashed integer conversion for an entire observation. Preserve those semantic elements with null geometry; only finite, positive, int32-bounded rectangles become coordinates. Add real PowerShell coverage for Empty, NaN, infinity, overflow, zero and negative-origin rectangles through the actual production serialization block. Correct the fixture File.Replace null string argument and surface timer errors on stderr instead of opening an unattended WinForms exception dialog. Validation: portable Windows-focused29passed/0failed/16skipped; full source 438passed/0failed/19skipped. Windows-native fixture/desktop proof requires hosted CI; local skips are explicit. No consent, input delivery or identity checks relaxed. Signed-off-by: Hunter B <hmbown@gmail.com>
6 tasks
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.
Computer Use observations now retain the semantic identity of Windows controls whose UIA bounding rectangles are empty or invalid. Previously an infinity-to-integer conversion could abort the whole observation; unusable bounds now produce null geometry, while valid negative screen coordinates remain supported. Consent and stale-identity checks are unchanged.
Release CI also exposed two fixture races. The polling test counts actual backend observations beyond cache capacity instead of assuming a runner speed. The Windows fixture replaces status receipts atomically and reports callback errors on stderr.
Validation: 438 source tests passed, 0 failed, 19 Windows/platform tests skipped locally; focused portable Windows checks:29passed/16skipped. A slowed polling backend passes, and deliberately cached observations still fail with unknown_state. New real PowerShell cases cover empty, nonfinite, overflow, zero-size and negative-origin rectangles. Hosted Windows acceptance must pass before merge.
No-Issue: bounded CI and Windows observation repairs discovered during Codewhale0.10.1 qualification.