Conversation
b1254da to
32cbfe1
Compare
|
Thanks for tracking this down, and for the dispatcher-level coverage. I reviewed the PR against 0.3.1 and confirmed the state desync in code: One point on reachability: on Chrome 153 (macOS, headless and headful), enabling focus emulation flips Requested change
Smaller items
If you can check it, a manual run on Windows 11 at DPR 1.5 (the environment in #242) would help most. Start a Happy to re-review once updated. Thanks again! |
d24d66c to
009ea5f
Compare
009ea5f to
8e85b3e
Compare
Problem
This is follow-up hardening for #242, not a claim that the original 0.2.1 bug remains unfixed.
withInputReadycan temporarily toggle focus emulation for an unowned hidden page. A dispatcher-controlled page may already have a persistent background-execution lease. If temporary cleanup disables that lease’s override without updatingBackgroundExecution’s applied-state cache, later synchronization may skip reapplying it.Change
withInputReadythrough a read-onlyownsBackgroundExecutionpredicate.visible, dispatch input without a temporary focus toggle or readiness screenshot. If it ishidden, returncdp_failedwithreason: input_not_readyandeffect_state: nonebefore sending input. Do not toggle focus emulation locally.This takes the fail-closed option from the review. Automatically restoring delivery when an owned lease is out of sync is separate work tracked in #355.
Validation
--no-focussession, minimized the Agent Window, and disabled focus emulation from the extension Service Worker. The page reportedhidden;bsk clickreturnedinput_not_readywitheffect_state: none, and the click count remained zero. The temporary test and browser download were removed afterward.git diff --checkpassed as reported in the earlier PR description.