fix(cli): one five-minute idle TTL for remote device leases
Merged
TH
2d ago+123+123+012345678901234567890123456789-25-25-01234567890123456789
Summary
- Every remote device lease the CLI holds (proxy, cloud device such as Limrun and Revyl, cloud WebDriver) now requests one idle TTL of five minutes,
REMOTE_LEASE_IDLE_TTL_MSincontracts/lease-scope. Before, Limrun and Revyl fell to the 60 s daemon default, so a session ended one minute after the last command. WebDriver moves from 10 to 5 minutes. - One
remoteLeaseTtlMsrule replaces the per-policy TTLs; the duplicate WebDriver policy and constant are deleted. The daemon is untouched. - Limrun's API default inactivity timeout is 3 minutes, which ended instances before their lease. Created instances now request
inactivityTimeout: 5m. Attached instances are unchanged.LIMRUN_KEEP_ALIVEstays opt-in. - New validated optional capability
holdsCloudDevicekeeps local TV providers on the daemon default. - Docs:
limrun.md,plugins.md, ADR 0007. Found while validating #4182.
Validation
- SHA:
ec358341f19eb7b5fd8b5c77fea039eb882efacf.check:affectedpassed,exactCommit=true, receipt.tmp/validation/run-GzfvWF/receipt.json. - Tests: a policy table per provider kind, and the create body carries
5mon iOS and Android. - Live Limrun iOS: before,
LEASE_EXPIRED62 s after the last command. After, without keep-alive, a 270 s idle gap survives and the next snapshot succeeds. The Limrun API readsinactivityTimeout5m0son that instance. With keep-alive, gaps of 120 s and 270 s survive. - Revyl is not run live: it needs a public app build URL. It rests on the shared policy and declaration tests.