You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prevent one iOS alert action from tapping a replacement. Native activation happens once; subsequent checks only observe. For example, agent-device alert accept must leave a following prompt untouched.
Scope
Nine files: native confirmation, UIKit fixture, selected XCTest cases, help and docs. Independent of #2323's transport retry repair. No driver-version or permission-setup changes.
Verification
Production Swift policy: five failures before repair, seven checks passing afterward. At 9a1da31e1, frozen install, build and pnpm check:affected --run passed. An earlier cleanup failure reproduced on unchanged upstream; no retries/timeouts were added.
Automated QA evidence: current-head iOS passed 81 native tests, including all four replacement/deadline regressions. Hosted macOS passed 194 tests. First-head iOS also passed live ordinary alert get/wait/dismiss/accept and cleanup.
Validation
At 9a1da31e1, eleven checks passed; iOS failed its initial fixture-home text wait before alert actions. Settings replay needed three attempts. Capture/readiness diagnosis remains open; not merge-ready. First-head Android capture failure also remains recorded. Physical/system-popup parity is untested. Changed presentation is not unique identity or permission proof; identical alerts remain unconfirmed. UI is fixture-only.
Automated Test Plan
Run this PR's iOS / Smoke Tests check. Four selected RunnerTests+AlertObservationTests launch a credential-free fixture: changed-title accept, same-title dismiss, identical-looking replacement, expired-before-action. Assert first/replacement counts 1/0 (0/0 before admission), inspect Cancel/OK independently, retain XCTest results. Tests terminate the fixture.
Require existing live fixture alert outcomes/cleanup and macOS host policy tests. Never replay live permission acceptance to reproduce failures.
The macOS runner does not compile at 2413aeb: runningBackgroundSuspended is not available on macOS, but RunnerTests+AlertObservation.swift uses it unconditionally. Please follow the platform-specific handling already used in RunnerTests+Lifecycle.swift, then rerun the macOS build and tests.
The iOS tests passed, including the replacement-alert cases. Android also hit a snapshot timeout while waiting for landscape; that needs a passing run, but there is no evidence here that the alert change caused it.
The macOS compile issue is fixed at 9a1da31e; the build and all 194 native tests passed. The iOS native suite also passed, including all four new alert regressions. No new code findings. The remaining iOS smoke failure happens before alert actions, while waiting for the fixture home screen with no readable captures. Please resolve or establish the cause of that failure and get the required iOS check passing before merge.
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
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
Prevent one iOS alert action from tapping a replacement. Native activation happens once; subsequent checks only observe. For example,
agent-device alert acceptmust leave a following prompt untouched.Scope
Nine files: native confirmation, UIKit fixture, selected XCTest cases, help and docs. Independent of #2323's transport retry repair. No driver-version or permission-setup changes.
Verification
Production Swift policy: five failures before repair, seven checks passing afterward. At
9a1da31e1, frozen install, build andpnpm check:affected --runpassed. An earlier cleanup failure reproduced on unchanged upstream; no retries/timeouts were added.Automated QA evidence: current-head iOS passed 81 native tests, including all four replacement/deadline regressions. Hosted macOS passed 194 tests. First-head iOS also passed live ordinary alert get/wait/dismiss/accept and cleanup.
Validation
At
9a1da31e1, eleven checks passed; iOS failed its initial fixture-home text wait before alert actions. Settings replay needed three attempts. Capture/readiness diagnosis remains open; not merge-ready. First-head Android capture failure also remains recorded. Physical/system-popup parity is untested. Changed presentation is not unique identity or permission proof; identical alerts remain unconfirmed. UI is fixture-only.Automated Test Plan
Run this PR's iOS / Smoke Tests check. Four selected
RunnerTests+AlertObservationTestslaunch a credential-free fixture: changed-title accept, same-title dismiss, identical-looking replacement, expired-before-action. Assert first/replacement counts 1/0 (0/0 before admission), inspect Cancel/OK independently, retain XCTest results. Tests terminate the fixture.Require existing live fixture alert outcomes/cleanup and macOS host policy tests. Never replay live permission acceptance to reproduce failures.