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
{{ message }}
Repository navigation
feat(settings): let permission and iOS location settings target an explicit app #3179
settings permission (and settings location grant on iOS) act only on the app the session has open. Without one they refuse with INVALID_ARGS 'permission setting requires an active app in session' (Apple, Android). The underlying simctl privacy and Android grant need only the app id. SettingsUpdateOptions has no app field for permissions, although clear-app-state already takes one, and the daemon already resolves an explicit id first (settingsWriteAppId).
Consumer impact: to set a permission before the first launch, tester-army/e2e opens the app first just to bind it to the session. It tracks which app the session is on, lists sessions to recover that after a worker restart, opens the app during warm-up, and matches the refusal text to retry after another open (tester-army/e2e#526, #539).
agent-device settings permission grant camera --app com.example.app
permission (iOS simulator, Android) and iOS location grant/revoke accept an explicit app. Without it, behavior is unchanged: the session's app is used.
No app needs to be running or open.
macOS permissions are host-level and keep their permission-target model; app does not apply there.
Problem
settings permission(andsettings locationgrant on iOS) act only on the app the session has open. Without one they refuse withINVALID_ARGS 'permission setting requires an active app in session'(Apple, Android). The underlyingsimctl privacyand Android grant need only the app id.SettingsUpdateOptionshas noappfield for permissions, althoughclear-app-statealready takes one, and the daemon already resolves an explicit id first (settingsWriteAppId).Consumer impact: to set a permission before the first launch, tester-army/e2e opens the app first just to bind it to the session. It tracks which app the session is on, lists sessions to recover that after a worker restart, opens the app during warm-up, and matches the refusal text to retry after another open (tester-army/e2e#526, #539).
Required behavior
permission(iOS simulator, Android) and iOSlocationgrant/revoke accept an explicitapp. Without it, behavior is unchanged: the session's app is used.appdoes not apply there.Done when
appfor these settings.From the tester-army/e2e integration review.