mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
bd42b2602f
* fix(ios): serve regular --depth from every snapshot backend A regular depth-capped request was refused on every runner backend but the recursive tree: the query sweep past depth 1 and private AX at any depth returned no capture, so a plan pinned or deferred to private AX (custom actions, a private AX verdict on the session, the XCTest channel penalty) fell through to the synthetic sparse root, which the daemon then rejected as "regular iOS snapshot presentation requires a valid viewport". Presentation already applies the presented-depth cut to whatever hierarchy a backend acquired, and a depth-capped regular capture is a subset of the unscoped one from the same backend, so the refusal protected nothing the unscoped answer did not already disclose through truncated/effectiveDepth. Delete the gate, declare private AX as regular-depth=presentation-cut, and record the rule in ADR 0004. Closes #2403 * test(ios): prove a private-AX-pinned plan serves regular --depth through acquisition The presentation-package test passes with the old backend depth gate restored, because it calls presentation directly. This runner-bundle test pins private AX, asks for regular depth 1 against the launched host app, and requires the plan to reach acquisition and presentation: a private-ax verdict that is not sparse, more than one node, a real root rect, and a payload no larger than the unscoped capture from the same backend. With the gate restored the plan logs SNAPSHOT_BACKEND_DEPTH_UNSUPPORTED and returns the zero-rect sparse root, and the test fails.
54 lines
1.2 KiB
JSON
54 lines
1.2 KiB
JSON
{
|
|
"backends": [
|
|
{
|
|
"name": "tree",
|
|
"forceable": true,
|
|
"supportsRawProjection": true,
|
|
"regularDepth": "presented-frontier",
|
|
"hittable": "geometric-actionability",
|
|
"deepExtension": "no",
|
|
"depthLadder": "n/a",
|
|
"availability": {
|
|
"simulator": true,
|
|
"physicalDevice": true
|
|
},
|
|
"knownGaps": [
|
|
{
|
|
"id": "deep-extension",
|
|
"owner": "iOS snapshot maintainers",
|
|
"trackingIssue": 1635,
|
|
"expiresOn": "2027-03-31"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "queries",
|
|
"forceable": false,
|
|
"supportsRawProjection": false,
|
|
"regularDepth": "flat",
|
|
"hittable": "geometric-actionability",
|
|
"deepExtension": "n/a",
|
|
"depthLadder": "n/a",
|
|
"availability": {
|
|
"simulator": true,
|
|
"physicalDevice": true
|
|
},
|
|
"knownGaps": []
|
|
},
|
|
{
|
|
"name": "private-ax",
|
|
"forceable": true,
|
|
"supportsRawProjection": true,
|
|
"regularDepth": "presentation-cut",
|
|
"hittable": "geometric-actionability",
|
|
"deepExtension": "yes",
|
|
"depthLadder": "yes",
|
|
"availability": {
|
|
"simulator": true,
|
|
"physicalDevice": false
|
|
},
|
|
"knownGaps": []
|
|
}
|
|
]
|
|
}
|