fix: capture Android snapshot timeout evidence#591
Merged
Conversation
|
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.
Summary
Capture Android screenshot evidence when
snapshotfails on the known UIAutomator/accessibility idle timeout path. The timeout error now keeps its existing hint and includesdetails.androidSnapshotTimeoutScreenshotwith the PNG path plus overlay-ref metadata when a previous session snapshot is available.Closes #588
Touched files: 3. Scope stayed within snapshot runtime handling, a focused Android timeout-evidence helper, and its daemon handler regression test. Review follow-ups tightened the evidence payload type, used the concrete overlay-ref type, normalized the timeout error once, verified the captured screenshot path, and made the fallback screenshot context explicit.
Validation
Verified with
pnpm format,pnpm check:fallow --base origin/main,pnpm exec vitest run src/daemon/handlers/__tests__/snapshot-handler.test.ts,pnpm check:quick, andpnpm check:unit. A sandboxedpnpm check:unitrun failed because local port binding is blocked (listen EPERM); rerunning the same command outside the sandbox passed all 213 unit files and smoke tests.