@tapflowio/ios-agent 0.20.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,7 +23,7 @@
23
23
  <string>MacOSX</string>
24
24
  </array>
25
25
  <key>CFBundleVersion</key>
26
- <string>1787846299</string>
26
+ <string>1788368455</string>
27
27
  <key>DTCompiler</key>
28
28
  <string>com.apple.compilers.llvm.clang.1_0</string>
29
29
  <key>DTPlatformBuild</key>
@@ -23,7 +23,7 @@
23
23
  <string>MacOSX</string>
24
24
  </array>
25
25
  <key>CFBundleVersion</key>
26
- <string>1787846299</string>
26
+ <string>1788368455</string>
27
27
  <key>DTCompiler</key>
28
28
  <string>com.apple.compilers.llvm.clang.1_0</string>
29
29
  <key>DTPlatformBuild</key>
@@ -10,14 +10,14 @@
10
10
  <dict>
11
11
  <key>hash2</key>
12
12
  <data>
13
- /Aw2reJOuID0RovycihbP6OAtiF6g1YYii7iLlL9lEU=
13
+ OftYOF4mpMeJO2ZBYP9bVoYYEbD8unetiZcme9agrkg=
14
14
  </data>
15
15
  </dict>
16
16
  <key>Library/SystemExtensions/dev.tapflow.netfilter.ext.systemextension/Contents/MacOS/dev.tapflow.netfilter.ext</key>
17
17
  <dict>
18
18
  <key>hash2</key>
19
19
  <data>
20
- NPXSHM7BR0Wso+9uYUoAAlqZWtYqvEEHIx7b435/mYw=
20
+ Q6nFisozyDJARUmPBgqtk1viYcybjQwg55U4V+rCAYE=
21
21
  </data>
22
22
  </dict>
23
23
  <key>Library/SystemExtensions/dev.tapflow.netfilter.ext.systemextension/Contents/_CodeSignature/CodeResources</key>
@@ -37,6 +37,9 @@ export interface SimulatorNetworkOptions {
37
37
  /** How often liveness is checked. Overridable so a test does not have to spend seconds of wall
38
38
  * clock proving that a stale file is noticed; the threshold itself comes from the file. */
39
39
  livenessIntervalMs?: number;
40
+ /** How long the state-file fallback waits for the provider to publish. Same reason as the interval
41
+ * above: proving that a file which never catches up is refused should not cost three seconds. */
42
+ filterConfirmDeadlineMs?: number;
40
43
  }
41
44
  /**
42
45
  * How long after a launch an absent verdict is still ordinary (#629).
@@ -117,6 +120,7 @@ export declare class SimulatorNetwork {
117
120
  * cheaper than a test that says otherwise. */
118
121
  private disposed;
119
122
  private readonly stateFiles;
123
+ private readonly confirmDeadlineMs;
120
124
  private enforcementLost;
121
125
  private readonly livenessIntervalMs;
122
126
  constructor(simctl: SimctlForNetwork, opts?: SimulatorNetworkOptions);
@@ -203,14 +207,55 @@ export declare class SimulatorNetwork {
203
207
  * confirmation agree with a rule its own request had not asked for, and the success path then
204
208
  * applied layers 2 and 3 for the wrong direction.
205
209
  *
206
- * A mismatch is logged **with what was actually read**. Two agents writing the same rule cannot be
207
- * told apart afterwards from a log that only records what each one expected — each is internally
208
- * consistent and one of them is stale.
210
+ * A mismatch is logged **with what was actually read**, and with the channel it was read from.
211
+ * Two agents writing the same rule cannot be told apart afterwards from a log that only records
212
+ * what each one expected — each is internally consistent and one of them is stale.
209
213
  */
210
214
  private applyAndConfirm;
211
- /** Ask the running provider what it is enforcing. `undefined` for every way of not finding out —
212
- * the remedy is the same whether the filter is absent, disabled, or restarting. */
215
+ /**
216
+ * What the filter is enforcing — **asked first, and read from the file when the asking is gone.**
217
+ *
218
+ * `--confirm` is the fast and precise channel: 0.26–0.74ms, and it answers from the process the
219
+ * kernel is actually consulting. It stays the primary for exactly that reason, so the healthy Mac
220
+ * this class runs on most of the time is untouched by any of this.
221
+ *
222
+ * **But it disappears after every system-extension replace, and stays gone.** The retired extension
223
+ * sits `[terminated waiting to uninstall on reboot]` still owning the mach name, so the new
224
+ * provider's `NSXPCListener.resume()` fails with `Operation not permitted` — silently, because
225
+ * `resume()` returns void. `--confirm` then answers `no listener` in 9ms while the filter is
226
+ * genuinely enforcing and publishing a fresh state file. Measured 2026-09-03; the provider survives
227
+ * `--off`/`--install` on the same pid, so the listener is never re-vended and the loss lasts as long
228
+ * as the provider does.
229
+ *
230
+ * Taking that as "not confirmed" is what put `filter-unavailable` in front of a tester whose filter
231
+ * was working, on every Mac that had upgraded. The CLI reached the same conclusion earlier and for a
232
+ * different reason (`net-filter.ts`: a stale binary turns a flag it does not know into a rule
233
+ * write); this is the agent following it.
234
+ *
235
+ * `undefined` for every way of not finding out — the remedy is the same whether the filter is
236
+ * absent, disabled, or restarting.
237
+ */
213
238
  private confirmEnforcement;
239
+ /** The XPC channel. Its own failures are all the same answer, so none of them are distinguished. */
240
+ private askProvider;
241
+ /**
242
+ * The file channel, polled until it answers or the deadline passes.
243
+ *
244
+ * **Three outcomes, and the middle one is the reason this is a loop rather than a read.** This runs
245
+ * immediately after a rule write, so the ordinary state for up to a pulse is a file that is fresh,
246
+ * correct, and about the *previous* rule — `checkLivenessLocked` says the same thing about the same
247
+ * window, and reading it as a disagreement would fire on every toggle.
248
+ *
249
+ * - The rule matches what was asked for: answered, whenever it was published.
250
+ * - It does not match and was published *after* the baseline: the provider has spoken and it
251
+ * disagrees. That is a real mismatch and is returned so the caller can log it.
252
+ * - It does not match and was published at or before the baseline: it has not published since the
253
+ * write. Wait.
254
+ *
255
+ * A stale file is never any of the three: a provider that died left it there, so it is skipped
256
+ * rather than believed, and `Heartbeat.remove()` means absence is what a *stopped* filter leaves.
257
+ */
258
+ private readConfirmation;
214
259
  /** Layers 2 and 3, taken down together. Layer 3 is swallowed for the reason `forget` gives: it only
215
260
  * reports, and failing it would abandon the cleanup that matters. */
216
261
  private takeDownLayers;
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorNetwork.d.ts","sourceRoot":"","sources":["../src/SimulatorNetwork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimulatorNetwork.d.ts","sourceRoot":"","sources":["../src/SimulatorNetwork.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,28 @@ const FILTER_HOST_TIMEOUT_MS = 15_000;
45
45
  * kernel that was not enforcing. `serialize` has the sequences.
46
46
  */
47
47
  const FILTER_CONFIRM_TIMEOUT_MS = 1_000;
48
+ /**
49
+ * How long the **file** fallback gets, once the ask above has already failed.
50
+ *
51
+ * Only reached when the XPC channel is gone, and after a system-extension replace it is: the retired
52
+ * extension sits `[terminated waiting to uninstall on reboot]` holding the mach name, the new
53
+ * provider's `NSXPCListener.resume()` fails with `Operation not permitted`, and `--confirm` answers
54
+ * `no listener` in 9ms while the filter is genuinely enforcing. Measured 2026-09-03. The listener is
55
+ * vended once per process and the provider survives `--off`/`--install`, so that failure lasts as
56
+ * long as the provider does.
57
+ *
58
+ * Three seconds is three of the provider's enforcing pulses, the same tolerance `checkLivenessLocked`
59
+ * gives a rule change that has not been published yet. It covers the forced publish a rule change
60
+ * triggers (one 1s tick plus the timer's 250ms leeway).
61
+ *
62
+ * **What it does not cover, on purpose**: a provider old enough to lack that forced publish, going
63
+ * back *online* on a Mac with no traffic at all — that direction waits out `pulseSeconds(false)`,
64
+ * 4.75s. Sizing this past that would hold the operation queue for six seconds on every failed
65
+ * toggle. The case is no worse than it is today, where the same Mac has no answer at all.
66
+ */
67
+ const FILTER_FILE_CONFIRM_DEADLINE_MS = 3_000;
68
+ /** Cheap enough to be indistinguishable from the file's own write, and coarse enough not to spin. */
69
+ const FILTER_FILE_POLL_MS = 100;
48
70
  /** Where the provider writes what it is enforcing. Both are tried: the first is where it lands on a
49
71
  * healthy Mac, the second is the fallback it uses when that directory cannot be written. */
50
72
  const FILTER_STATE_FILES = [
@@ -155,6 +177,7 @@ export class SimulatorNetwork {
155
177
  * cheaper than a test that says otherwise. */
156
178
  disposed = false;
157
179
  stateFiles;
180
+ confirmDeadlineMs;
158
181
  enforcementLost;
159
182
  livenessIntervalMs;
160
183
  constructor(simctl, opts = {}) {
@@ -164,6 +187,7 @@ export class SimulatorNetwork {
164
187
  this.verdictDir = opts.verdictDir ?? '/tmp';
165
188
  this.dylib = opts.nethookDylib ?? NETHOOK_DYLIB;
166
189
  this.stateFiles = opts.filterStateFiles ?? FILTER_STATE_FILES;
190
+ this.confirmDeadlineMs = opts.filterConfirmDeadlineMs ?? FILTER_FILE_CONFIRM_DEADLINE_MS;
167
191
  this.enforcementLost = opts.onEnforcementLost ?? (() => { });
168
192
  this.livenessIntervalMs = opts.livenessIntervalMs ?? LIVENESS_INTERVAL_MS;
169
193
  }
@@ -395,28 +419,61 @@ export class SimulatorNetwork {
395
419
  * confirmation agree with a rule its own request had not asked for, and the success path then
396
420
  * applied layers 2 and 3 for the wrong direction.
397
421
  *
398
- * A mismatch is logged **with what was actually read**. Two agents writing the same rule cannot be
399
- * told apart afterwards from a log that only records what each one expected — each is internally
400
- * consistent and one of them is stale.
422
+ * A mismatch is logged **with what was actually read**, and with the channel it was read from.
423
+ * Two agents writing the same rule cannot be told apart afterwards from a log that only records
424
+ * what each one expected — each is internally consistent and one of them is stale.
401
425
  */
402
426
  async applyAndConfirm(udid, wanted) {
427
+ // **Read before the write, and read the file's own clock.** The fallback below needs to tell a
428
+ // publication that answers this write from one that predates it, and the file stamps whole
429
+ // seconds — so a baseline taken from `Date.now()` here would land in the same second as the
430
+ // provider's reply about nine times in ten and reject the very answer it was waiting for.
431
+ const before = this.readFilterState()?.at ?? 0;
403
432
  if (!await this.runFilterHost(wanted ? { add: [udid] } : { remove: [udid] }))
404
433
  return false;
405
- const seen = await this.confirmEnforcement();
434
+ const seen = await this.confirmEnforcement(udid, wanted, before);
406
435
  if (!seen)
407
436
  return false;
408
437
  if (!seen.enforcing)
409
438
  return false;
410
439
  if (seen.rule.includes(udid) !== wanted) {
411
440
  console.warn(`[network] filter rule disagrees for ${udid}: wanted ${wanted ? 'offline' : 'online'}, ` +
412
- `provider ${seen.pid} holds [${seen.rule.join(',')}]`);
441
+ `provider ${seen.pid} holds [${seen.rule.join(',')}] (read over ${seen.from})`);
413
442
  return false;
414
443
  }
415
444
  return true;
416
445
  }
417
- /** Ask the running provider what it is enforcing. `undefined` for every way of not finding out —
418
- * the remedy is the same whether the filter is absent, disabled, or restarting. */
419
- async confirmEnforcement() {
446
+ /**
447
+ * What the filter is enforcing — **asked first, and read from the file when the asking is gone.**
448
+ *
449
+ * `--confirm` is the fast and precise channel: 0.26–0.74ms, and it answers from the process the
450
+ * kernel is actually consulting. It stays the primary for exactly that reason, so the healthy Mac
451
+ * this class runs on most of the time is untouched by any of this.
452
+ *
453
+ * **But it disappears after every system-extension replace, and stays gone.** The retired extension
454
+ * sits `[terminated waiting to uninstall on reboot]` still owning the mach name, so the new
455
+ * provider's `NSXPCListener.resume()` fails with `Operation not permitted` — silently, because
456
+ * `resume()` returns void. `--confirm` then answers `no listener` in 9ms while the filter is
457
+ * genuinely enforcing and publishing a fresh state file. Measured 2026-09-03; the provider survives
458
+ * `--off`/`--install` on the same pid, so the listener is never re-vended and the loss lasts as long
459
+ * as the provider does.
460
+ *
461
+ * Taking that as "not confirmed" is what put `filter-unavailable` in front of a tester whose filter
462
+ * was working, on every Mac that had upgraded. The CLI reached the same conclusion earlier and for a
463
+ * different reason (`net-filter.ts`: a stale binary turns a flag it does not know into a rule
464
+ * write); this is the agent following it.
465
+ *
466
+ * `undefined` for every way of not finding out — the remedy is the same whether the filter is
467
+ * absent, disabled, or restarting.
468
+ */
469
+ async confirmEnforcement(udid, wanted, since) {
470
+ const asked = await this.askProvider();
471
+ if (asked)
472
+ return asked;
473
+ return await this.readConfirmation(udid, wanted, since);
474
+ }
475
+ /** The XPC channel. Its own failures are all the same answer, so none of them are distinguished. */
476
+ async askProvider() {
420
477
  if (!existsSync(this.hostBinary))
421
478
  return undefined;
422
479
  try {
@@ -430,6 +487,7 @@ export class SimulatorNetwork {
430
487
  enforcing: parsed.enforcing,
431
488
  rule: parsed.rule.filter((r) => typeof r === 'string'),
432
489
  pid: typeof parsed.pid === 'number' ? parsed.pid : -1,
490
+ from: 'xpc',
433
491
  };
434
492
  }
435
493
  catch {
@@ -437,6 +495,43 @@ export class SimulatorNetwork {
437
495
  return undefined;
438
496
  }
439
497
  }
498
+ /**
499
+ * The file channel, polled until it answers or the deadline passes.
500
+ *
501
+ * **Three outcomes, and the middle one is the reason this is a loop rather than a read.** This runs
502
+ * immediately after a rule write, so the ordinary state for up to a pulse is a file that is fresh,
503
+ * correct, and about the *previous* rule — `checkLivenessLocked` says the same thing about the same
504
+ * window, and reading it as a disagreement would fire on every toggle.
505
+ *
506
+ * - The rule matches what was asked for: answered, whenever it was published.
507
+ * - It does not match and was published *after* the baseline: the provider has spoken and it
508
+ * disagrees. That is a real mismatch and is returned so the caller can log it.
509
+ * - It does not match and was published at or before the baseline: it has not published since the
510
+ * write. Wait.
511
+ *
512
+ * A stale file is never any of the three: a provider that died left it there, so it is skipped
513
+ * rather than believed, and `Heartbeat.remove()` means absence is what a *stopped* filter leaves.
514
+ */
515
+ async readConfirmation(udid, wanted, since) {
516
+ const until = Date.now() + this.confirmDeadlineMs;
517
+ for (;;) {
518
+ const file = this.readFilterState();
519
+ const now = Math.floor(Date.now() / 1000);
520
+ // `file.at <= now` first, and it is not redundant: a timestamp from the future makes the
521
+ // subtraction negative and passes any threshold, so a clock that moved backwards would let a
522
+ // dead provider's frozen file read as perfect for as long as the skew lasted.
523
+ // `checkLivenessLocked` refuses the same reading for the same reason; this is its twin and
524
+ // had drifted from it.
525
+ if (file && file.at <= now && now - file.at <= 3 * Math.max(file.pulseSeconds, 1)) {
526
+ const answered = file.rule.includes(udid) === wanted || file.at > since;
527
+ if (answered)
528
+ return { enforcing: true, rule: file.rule, pid: file.pid ?? -1, from: 'file' };
529
+ }
530
+ if (Date.now() >= until)
531
+ return undefined;
532
+ await new Promise((resolve) => setTimeout(resolve, FILTER_FILE_POLL_MS));
533
+ }
534
+ }
440
535
  /** Layers 2 and 3, taken down together. Layer 3 is swallowed for the reason `forget` gives: it only
441
536
  * reports, and failing it would abandon the cleanup that matters. */
442
537
  async takeDownLayers(udid) {
@@ -756,6 +851,8 @@ export class SimulatorNetwork {
756
851
  // report "not enforcing" for a filter doing its job, which is the exact failure the rest of
757
852
  // this file exists to prevent. A malformed one is discarded the same way, entry by entry.
758
853
  droppedByDevice: numbersIn(raw.droppedByDevice),
854
+ // Same rule as the field above it: a provider that does not publish this is not a bad file.
855
+ pid: typeof raw.pid === 'number' ? raw.pid : undefined,
759
856
  };
760
857
  }
761
858
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorNetwork.js","sourceRoot":"","sources":["../src/SimulatorNetwork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimulatorNetwork.js","sourceRoot":"","sources":["../src/SimulatorNetwork.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tapflowio/ios-agent",
3
- "version": "0.20.0",
3
+ "version": "0.20.1",
4
4
  "description": "iOS simulator agent for tapflow — xcrun simctl control and screen streaming",
5
5
  "keywords": [
6
6
  "tapflow",
@@ -54,16 +54,16 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "ws": "^8.21.3",
57
- "@tapflowio/agent-core": "0.20.0",
58
- "@tapflowio/protocol": "0.20.0",
59
- "@tapflowio/audiotap-helper": "0.3.1"
57
+ "@tapflowio/agent-core": "0.20.1",
58
+ "@tapflowio/protocol": "0.20.1",
59
+ "@tapflowio/audiotap-helper": "0.3.2"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@types/node": "^22.20.1",
63
63
  "@types/ws": "^8.0.0",
64
64
  "typescript": "^5.0.0",
65
- "vitest": "^4.1.10",
66
- "@tapflowio/relay": "0.20.0",
65
+ "vitest": "^4.1.11",
66
+ "@tapflowio/relay": "0.20.1",
67
67
  "@tapflowio/test-utils": "0.0.0"
68
68
  },
69
69
  "scripts": {