Repository navigation
owned_window_over: an owned dialog over part of the region counts - #1735
Merged
Merged
Conversation
agnostic-repair's live run: the Session notice dialog covers the right part of the identity band, not its center, so the center rule answered None and the repair never applied. The topmost owned window that meets the region is now reported. Unchanged: any other process's window, or an app window not owned by the capture, meeting the region anywhere above the captured window answers None; the caller matches the uncovered part of the band and rechecks identity after the dialog is dismissed.
…may paint Review should-fix: a self-drawn frame (Electron, Chromium) paints into the ~7 px border DWM leaves out of the visible frame, so a strip of a foreign window at the band's edge went unseen. Foreign windows are now measured by the union of GetWindowRect and the visible frame; the app's own keep the visible frame.
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.
Follow-up to #1727, from agnostic-repair's live run on the UTM Windows lab. The app's "Session notice" dialog covers the right part of the identity band but not its center, so the center rule returned None and the repair never applied.
What changed
GetWindowRectand the DWM visible frame, because a self-drawn frame (Electron, Chromium) paints into the border DWM leaves out. The app's own windows keep the visible frame.Safety for the repair doesn't depend on the center: the caller matches the uncovered part of the band word for word against the recorded identity, refuses parameterised bands, and re-runs the full identity check after the dialog is dismissed.
Adversarial review (independent; it also traced the caller on
claude/repair-windows-qualify)No blockers.
SetParentinside the captured window isn't enumeratedTesting
tests/test_win_agent_server.pyandtests/test_windows_backend.py: 171 passed. New tests:The real-VM probe from #1727 still applies: it showed an owned dialog reported and a foreign Notepad refused.