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
fix(network): keep unnamed-request identities out of the response
`unnamedRequestIds` collected every unresolved task in the scan window and
was spread straight into the response, so `network dump 1` could answer
with thousands of task ids: an output whose size tracked the log rather
than the requested entry limit.
The identities exist to reconcile two scan windows, which is a step that
finishes before a dump is returned. Keep them there. `NetworkDump` carries
`unnamedRequests` as a count again, bounded by construction; the identities
ride `ScannedNetworkDump`, the internal widening that the reader and the
merge speak, and the Apple runtime projects them away with
`withoutScanIdentities` on the way out.
Reconciliation is unchanged: overlapping windows still collapse to one
request and disjoint windows still sum, because the merge still sees the
identities and recomputes the count from them.
Regression: five unnameable tasks against `maxEntries: 1` reports all five
and exposes no identity list.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,10 +19,10 @@
19
19
was called" check read as a definite fail. Such a request is now reported against the origin its
20
20
connection was opened for, with `pathUnavailable` set, its status, and its timing. A reused
21
21
request whose connection was opened before the scanned window cannot be named at all; those are
22
-
listed in the dump's `unnamedRequestIds`, so an empty result still reports that traffic was
23
-
observed. Identities rather than a count, so the app-log and recovery windows reconcile to the
24
-
requests actually seen instead of double-counting overlapping traffic or under-reporting
25
-
disjoint traffic. The notes say absence of an endpoint does not prove it was not called.
22
+
counted in the dump's `unnamedRequests`, so an empty result still reports that traffic was
23
+
observed. The identities behind that count reconcile the app-log and recovery windows internally
24
+
— so overlapping traffic is not double-counted and disjoint traffic is not under-reported — but
25
+
the response carries only the count, which stays bounded however large the scan window was. The notes say absence of an endpoint does not prove it was not called.
26
26
- Fixed: a URL logged as a delimited `url: <value>,` field no longer keeps the separator the log
27
27
format put after it, so an entry's `url` compares equal to the endpoint under test. A bare URL
28
28
elsewhere is left alone, since nothing there establishes that trailing punctuation is not part of
`Recovered ${recovery.lineCount} recent iOS simulator app log lines from simctl log show, but none looked like HTTP traffic. This app may not emit request URLs, status, or timing into Unified Logging for this repro window.`,
@@ -78,7 +88,7 @@ async function recoverSimulatorTraffic(
- iOS simulator log capture now streams from inside the simulator with `simctl spawn <udid> log ...`, and `network dump` can recover recent simulator log history with `simctl log show` when the live app-log window is sparse.
992
992
- iOS log capture still relies on Unified Logging signals (for example `os_log`); plain stdout/stderr output may be limited depending on app/runtime.
993
993
- On iOS, `network dump` can return zero HTTP entries for real app activity when the app does not emit request metadata into Unified Logging. The response notes now distinguish between an empty repro window and a non-network app log window.
994
-
- On iOS, CFNetwork logs a request URL only on the line that opens a connection, so a request that reused a keep-alive connection has no URL anywhere in the log. Those requests are reported against the origin their connection was opened for, with `pathUnavailable: true`, their status, and their timing; ones whose connection was opened before the scanned window are listedin`unnamedRequestIds` instead, since they cannot be named at all. Treat a missing endpoint in an iOS dump as unproven rather than as evidence it was not called.
994
+
- On iOS, CFNetwork logs a request URL only on the line that opens a connection, so a request that reused a keep-alive connection has no URL anywhere in the log. Those requests are reported against the origin their connection was opened for, with `pathUnavailable: true`, their status, and their timing; ones whose connection was opened before the scanned window are countedin`unnamedRequests` instead, since they cannot be named at all. Treat a missing endpoint in an iOS dump as unproven rather than as evidence it was not called.
995
995
- Retention knobs: set`AGENT_DEVICE_APP_LOG_MAX_BYTES` and `AGENT_DEVICE_APP_LOG_MAX_FILES` to override rotation limits.
996
996
- Optional write-time redaction patterns: set`AGENT_DEVICE_APP_LOG_REDACT_PATTERNS` to a comma-separated regex list.
0 commit comments