@tapflowio/ios-agent 0.26.1 → 0.27.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.
@@ -106,6 +106,18 @@ export declare class SimulatorNetwork {
106
106
  private readonly launchedAt;
107
107
  /** The pid of the last launch that actually started a process, per device. See `markLaunched`. */
108
108
  private readonly launchedPid;
109
+ /**
110
+ * Whose verdict counts, per device (#692). `target()` used to delete the file before every launch,
111
+ * and a launch that started nothing then had nothing to rewrite it. These let `readVerdict` decide
112
+ * whether the file on disk is the running process's report instead.
113
+ */
114
+ private readonly targetBundle;
115
+ /** When the last launch was issued. Becomes `verdictFreshAfter` once a new pid shows it started a process. */
116
+ private readonly launchIssuedAt;
117
+ /** A verdict written before this (ms) was written by a process that has since been replaced. */
118
+ private readonly verdictFreshAfter;
119
+ /** Devices whose status bar could not be written and may be showing the other state (#668). */
120
+ private readonly statusBarStale;
109
121
  /** Runs only while something is offline. See `updateLiveness`. */
110
122
  private liveness;
111
123
  /** Set by `dispose`. Without it, work that was already in flight puts the interval back: both
@@ -158,12 +170,16 @@ export declare class SimulatorNetwork {
158
170
  * so naming the target afterwards arms the *next* launch and leaves the running one unhooked —
159
171
  * reporting `available: true` for an app that would never see a path update.
160
172
  *
161
- * **The previous app's verdict goes with it.** A verdict is one process's report that its own hooks
162
- * took, and that process has exited by the time a second app is launched. Leaving the file behind
163
- * answered for the new app on the old one's evidence: `available: true` before the new process had
164
- * written anything, and — if its hooks fail — for as long as it runs. The gap where `state()`
165
- * answers `awaiting-app` for a launch already in flight is the correct reading of that moment;
166
- * inheriting a stale `ok` is not.
173
+ * **The previous app's verdict stops counting, and the file is left where it is (#692).** A verdict
174
+ * is one process's report that its own hooks took, so another app must not answer on it — but
175
+ * deleting it here also deleted the report of an app launched while it was already running, where
176
+ * `simctl launch` hands back the same pid and starts nothing, and the dyld constructor that writes
177
+ * the verdict never runs again. So the app and the moment are recorded instead, and `readVerdict`
178
+ * refuses a file that names another bundle, or that predates a launch which did start a process.
179
+ *
180
+ * Recorded before the environment is written, so a failed write still retires the old app's
181
+ * verdict: the new app then runs unhooked, and `awaiting-app` running into the deadline is the
182
+ * right reading of that.
167
183
  */
168
184
  target(udid: string, bundleId: string): Promise<void>;
169
185
  /**
@@ -176,13 +192,28 @@ export declare class SimulatorNetwork {
176
192
  * later.
177
193
  *
178
194
  * **Only for a pid that is new.** `simctl launch` is issued without `--terminate-running-process`,
179
- * so launching a bundle that is already running returns the existing pid and starts nothing. The
180
- * verdict is written from a dyld constructor — once per process — so nothing will rewrite the file
181
- * `target()` just deleted, and starting a deadline there would report a permanently dead control
182
- * over an app whose hooks are live and watching. That case stays what it was before this change,
183
- * which is wrong but harmless; #692 has the decision it needs.
195
+ * so launching a bundle that is already running returns the existing pid and starts nothing. That
196
+ * process has already written its verdict, once, from a dyld constructor; it stays the answer, and a
197
+ * new deadline would only re-run a window the same process has used.
198
+ *
199
+ * **A new pid is what makes older verdicts stale.** The cut-off is when the launch was *issued*, not
200
+ * now: the constructor can finish before `simctl launch` returns, and a verdict that fresh is the new
201
+ * process's. A null pid moves nothing — it is evidence of neither a new process nor a reused one,
202
+ * and treating it as new answered `hooks-not-installed` at once from the previous launch's expired
203
+ * window, since a null opens none of its own.
204
+ *
205
+ * Not covered, each ending in `hooks-not-installed` over live hooks, as it did before:
206
+ * - a process the tester started from the home screen, which tapflow then "launches" again — its
207
+ * pid looks new here, so its verdict is refused;
208
+ * - an app launched again after another app was launched in between, while it kept running — only
209
+ * the last pid is remembered, and the other app's verdict has replaced this one's on disk;
210
+ * - two launches pressed faster than the first returns, where the second launch's issue time
211
+ * becomes the first's cut-off.
212
+ * Telling these apart needs the pid in the verdict, or one verdict per bundle — a change to the
213
+ * library.
184
214
  */
185
215
  markLaunched(udid: string, pid: number | null): void;
216
+ private forgetTarget;
186
217
  /**
187
218
  * **Layer 1 leads in both directions, and the order is measured rather than chosen.**
188
219
  *
@@ -201,6 +232,8 @@ export declare class SimulatorNetwork {
201
232
  /** The body of `setOffline`, running with the queue held. Calls `runFilterHost` directly: going
202
233
  * through `serialize` again from in here would wait on a slot this call already owns. */
203
234
  private setOfflineLocked;
235
+ /** Layer 3, retried and never thrown. See `STATUS_BAR_RETRY_DELAYS_MS` and `statusBarStale`. */
236
+ private writeStatusBar;
204
237
  /**
205
238
  * Write the rule and **ask the provider whether it is holding it.**
206
239
  *
@@ -271,7 +304,9 @@ export declare class SimulatorNetwork {
271
304
  */
272
305
  private readConfirmation;
273
306
  /** Layers 2 and 3, taken down together. Layer 3 is swallowed for the reason `forget` gives: it only
274
- * reports, and failing it would abandon the cleanup that matters. */
307
+ * reports, and failing it would abandon the cleanup that matters. Through `writeStatusBar`, unlike
308
+ * `forget`, because this device stays: a bar that could not be cleared is remembered, and the
309
+ * refusals likely to follow lost enforcement are where it gets written again (#668). */
275
310
  private takeDownLayers;
276
311
  /**
277
312
  * What the device is doing and whether tapflow can still steer it.
@@ -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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"}
@@ -113,6 +113,12 @@ const LIVENESS_INTERVAL_MS = 1_000;
113
113
  * few seconds longer — which is the true answer for those seconds.
114
114
  */
115
115
  export const LAUNCH_VERDICT_DEADLINE_MS = 10_000;
116
+ /**
117
+ * Pauses before each further try at the status bar (#668). Why `status_bar` fails has never been
118
+ * measured, so this is a cheap bet on a transient cause rather than a remedy; what does not recover
119
+ * here is remembered in `statusBarStale` and written again on the device's next toggle.
120
+ */
121
+ const STATUS_BAR_RETRY_DELAYS_MS = [100, 300];
116
122
  /** What the provider pulses at **while it is enforcing something** (`Provider.swift`, `pulseSeconds`).
117
123
  * Held here as well because a file written before the rule changed declares the *idle* rate, so the
118
124
  * rate to expect next cannot always be read out of the file. Change one and change the other. */
@@ -183,6 +189,18 @@ export class SimulatorNetwork {
183
189
  launchedAt = new Map();
184
190
  /** The pid of the last launch that actually started a process, per device. See `markLaunched`. */
185
191
  launchedPid = new Map();
192
+ /**
193
+ * Whose verdict counts, per device (#692). `target()` used to delete the file before every launch,
194
+ * and a launch that started nothing then had nothing to rewrite it. These let `readVerdict` decide
195
+ * whether the file on disk is the running process's report instead.
196
+ */
197
+ targetBundle = new Map();
198
+ /** When the last launch was issued. Becomes `verdictFreshAfter` once a new pid shows it started a process. */
199
+ launchIssuedAt = new Map();
200
+ /** A verdict written before this (ms) was written by a process that has since been replaced. */
201
+ verdictFreshAfter = new Map();
202
+ /** Devices whose status bar could not be written and may be showing the other state (#668). */
203
+ statusBarStale = new Set();
186
204
  /** Runs only while something is offline. See `updateLiveness`. */
187
205
  liveness;
188
206
  /** Set by `dispose`. Without it, work that was already in flight puts the interval back: both
@@ -261,6 +279,7 @@ export class SimulatorNetwork {
261
279
  // that ran in the previous session.
262
280
  this.launchedAt.delete(udid);
263
281
  this.launchedPid.delete(udid);
282
+ this.forgetTarget(udid);
264
283
  this.setCondition(udid, false);
265
284
  rmSync(this.verdictPath(udid), { force: true });
266
285
  // **The rule is rewritten, not merely forgotten.** Clearing the in-memory set and the condition
@@ -289,15 +308,20 @@ export class SimulatorNetwork {
289
308
  * so naming the target afterwards arms the *next* launch and leaves the running one unhooked —
290
309
  * reporting `available: true` for an app that would never see a path update.
291
310
  *
292
- * **The previous app's verdict goes with it.** A verdict is one process's report that its own hooks
293
- * took, and that process has exited by the time a second app is launched. Leaving the file behind
294
- * answered for the new app on the old one's evidence: `available: true` before the new process had
295
- * written anything, and — if its hooks fail — for as long as it runs. The gap where `state()`
296
- * answers `awaiting-app` for a launch already in flight is the correct reading of that moment;
297
- * inheriting a stale `ok` is not.
311
+ * **The previous app's verdict stops counting, and the file is left where it is (#692).** A verdict
312
+ * is one process's report that its own hooks took, so another app must not answer on it — but
313
+ * deleting it here also deleted the report of an app launched while it was already running, where
314
+ * `simctl launch` hands back the same pid and starts nothing, and the dyld constructor that writes
315
+ * the verdict never runs again. So the app and the moment are recorded instead, and `readVerdict`
316
+ * refuses a file that names another bundle, or that predates a launch which did start a process.
317
+ *
318
+ * Recorded before the environment is written, so a failed write still retires the old app's
319
+ * verdict: the new app then runs unhooked, and `awaiting-app` running into the deadline is the
320
+ * right reading of that.
298
321
  */
299
322
  async target(udid, bundleId) {
300
- rmSync(this.verdictPath(udid), { force: true });
323
+ this.targetBundle.set(udid, bundleId);
324
+ this.launchIssuedAt.set(udid, Date.now());
301
325
  await this.simctl.setSimulatorEnv(udid, 'TAPFLOW_TARGET_BUNDLE', bundleId);
302
326
  }
303
327
  /**
@@ -310,18 +334,40 @@ export class SimulatorNetwork {
310
334
  * later.
311
335
  *
312
336
  * **Only for a pid that is new.** `simctl launch` is issued without `--terminate-running-process`,
313
- * so launching a bundle that is already running returns the existing pid and starts nothing. The
314
- * verdict is written from a dyld constructor — once per process — so nothing will rewrite the file
315
- * `target()` just deleted, and starting a deadline there would report a permanently dead control
316
- * over an app whose hooks are live and watching. That case stays what it was before this change,
317
- * which is wrong but harmless; #692 has the decision it needs.
337
+ * so launching a bundle that is already running returns the existing pid and starts nothing. That
338
+ * process has already written its verdict, once, from a dyld constructor; it stays the answer, and a
339
+ * new deadline would only re-run a window the same process has used.
340
+ *
341
+ * **A new pid is what makes older verdicts stale.** The cut-off is when the launch was *issued*, not
342
+ * now: the constructor can finish before `simctl launch` returns, and a verdict that fresh is the new
343
+ * process's. A null pid moves nothing — it is evidence of neither a new process nor a reused one,
344
+ * and treating it as new answered `hooks-not-installed` at once from the previous launch's expired
345
+ * window, since a null opens none of its own.
346
+ *
347
+ * Not covered, each ending in `hooks-not-installed` over live hooks, as it did before:
348
+ * - a process the tester started from the home screen, which tapflow then "launches" again — its
349
+ * pid looks new here, so its verdict is refused;
350
+ * - an app launched again after another app was launched in between, while it kept running — only
351
+ * the last pid is remembered, and the other app's verdict has replaced this one's on disk;
352
+ * - two launches pressed faster than the first returns, where the second launch's issue time
353
+ * becomes the first's cut-off.
354
+ * Telling these apart needs the pid in the verdict, or one verdict per bundle — a change to the
355
+ * library.
318
356
  */
319
357
  markLaunched(udid, pid) {
320
358
  if (pid === null || this.launchedPid.get(udid) === pid)
321
359
  return;
360
+ const issued = this.launchIssuedAt.get(udid);
361
+ if (issued !== undefined)
362
+ this.verdictFreshAfter.set(udid, issued);
322
363
  this.launchedPid.set(udid, pid);
323
364
  this.launchedAt.set(udid, Date.now());
324
365
  }
366
+ forgetTarget(udid) {
367
+ this.targetBundle.delete(udid);
368
+ this.launchIssuedAt.delete(udid);
369
+ this.verdictFreshAfter.delete(udid);
370
+ }
325
371
  /**
326
372
  * **Layer 1 leads in both directions, and the order is measured rather than chosen.**
327
373
  *
@@ -387,7 +433,15 @@ export class SimulatorNetwork {
387
433
  // strictly better than not trying, because the alternative is a divergence nothing revisits
388
434
  // until the device is rebooted.
389
435
  await this.runFilterHost(was ? { add: [udid] } : { remove: [udid] });
436
+ // **A bar left wrong by an earlier call is put right here too (#668)**, because this branch never
437
+ // reaches layer 3: with layer 1 gone for the rest of the boot, a bar stuck on no service would
438
+ // otherwise stay that way until the device retires. Only when it is known to be stale — a bar
439
+ // that is right needs nothing, and every extra write is one more call that can fail here.
390
440
  this.filterVerdict.set(udid, 'unavailable');
441
+ // After the judgment is recorded: the retries can wait for most of half a second, and `state()`
442
+ // read in that time should already say the filter is unavailable.
443
+ if (this.statusBarStale.has(udid))
444
+ await this.writeStatusBar(udid, was);
391
445
  this.updateLiveness();
392
446
  return { offline: was, available: false, reason: 'filter-unavailable' };
393
447
  }
@@ -421,18 +475,33 @@ export class SimulatorNetwork {
421
475
  // Swallowed in both directions, and they fail differently. Going offline it errs *quietly* — the
422
476
  // device is offline and the status bar has not caught up. Coming back it errs the other way: every
423
477
  // layer is restored and the bar still shows no service, on a device whose requests now succeed.
424
- // Neither is worth failing the call for. What puts the second one right is a later toggle writing
425
- // the bar again — **a full cycle, not one press**, since the first press writes the value the bar
426
- // is already stuck on. And it is not guaranteed: if layer 1 becomes unavailable in between, every
427
- // later call returns above this line and the bar stays wrong until the device is retired. That
428
- // gap, and the fact that swallowing also removes the `network:error` this used to raise, are
429
- // recorded rather than solved here.
430
- await this.simctl.setStatusBarOffline(udid, offline).catch((e) => {
431
- console.warn(`[network] status bar for ${udid} could not be set: ${e.message}`);
432
- });
478
+ // Neither is worth failing the call for, so `writeStatusBar` retries and, failing that, remembers
479
+ // the bar as stale for the device's next toggle — including a refused one, which returns above
480
+ // this line (#668). What is still not done is telling the dashboard: the `network:error` this used
481
+ // to raise is gone, and saying "the bar is stale" needs a field in the payload.
482
+ await this.writeStatusBar(udid, offline);
433
483
  this.updateLiveness();
434
484
  return this.state(udid);
435
485
  }
486
+ /** Layer 3, retried and never thrown. See `STATUS_BAR_RETRY_DELAYS_MS` and `statusBarStale`. */
487
+ async writeStatusBar(udid, offline) {
488
+ for (let attempt = 0;; attempt++) {
489
+ try {
490
+ await this.simctl.setStatusBarOffline(udid, offline);
491
+ this.statusBarStale.delete(udid);
492
+ return;
493
+ }
494
+ catch (e) {
495
+ const delay = STATUS_BAR_RETRY_DELAYS_MS[attempt];
496
+ if (delay === undefined) {
497
+ this.statusBarStale.add(udid);
498
+ console.warn(`[network] status bar for ${udid} could not be set: ${e.message}`);
499
+ return;
500
+ }
501
+ await new Promise((resolve) => setTimeout(resolve, delay));
502
+ }
503
+ }
504
+ }
436
505
  /**
437
506
  * Write the rule and **ask the provider whether it is holding it.**
438
507
  *
@@ -601,10 +670,12 @@ export class SimulatorNetwork {
601
670
  }
602
671
  }
603
672
  /** Layers 2 and 3, taken down together. Layer 3 is swallowed for the reason `forget` gives: it only
604
- * reports, and failing it would abandon the cleanup that matters. */
673
+ * reports, and failing it would abandon the cleanup that matters. Through `writeStatusBar`, unlike
674
+ * `forget`, because this device stays: a bar that could not be cleared is remembered, and the
675
+ * refusals likely to follow lost enforcement are where it gets written again (#668). */
605
676
  async takeDownLayers(udid) {
606
677
  this.setCondition(udid, false);
607
- await this.simctl.setStatusBarOffline(udid, false).catch(() => { });
678
+ await this.writeStatusBar(udid, false);
608
679
  }
609
680
  /**
610
681
  * What the device is doing and whether tapflow can still steer it.
@@ -695,6 +766,8 @@ export class SimulatorNetwork {
695
766
  this.dropsReported.delete(udid);
696
767
  this.launchedAt.delete(udid);
697
768
  this.launchedPid.delete(udid);
769
+ this.forgetTarget(udid);
770
+ this.statusBarStale.delete(udid);
698
771
  // Unconditional, for the reason `arm()` gives at length: the set is this process's memory and the
699
772
  // rule is the host's. An agent that restarted knows of no offline device, so `delete` answers
700
773
  // false and the write was skipped — leaving the udid named in the rule for the rest of the Mac's
@@ -1109,6 +1182,21 @@ export class SimulatorNetwork {
1109
1182
  return 'missing';
1110
1183
  try {
1111
1184
  const raw = JSON.parse(readFileSync(path, 'utf8'));
1185
+ // **Whose report it is comes before what it says (#692).** A file left by another app, or by an
1186
+ // earlier process of this one, is not evidence either way — which is what `missing` means. The
1187
+ // library writes `bundleId` and `at` (whole seconds) into every verdict, so a file without them
1188
+ // cannot be shown to be this process's. `at` is compared at its own resolution, and the library
1189
+ // rounds (`%.0f`) rather than truncates: a verdict written up to about a second and a half
1190
+ // before the launch can pass as the new process's — the price of never refusing the new
1191
+ // process's own verdict, which may land before `simctl launch` returns. A stale one believed in
1192
+ // that window stands until the new process overwrites it.
1193
+ const bundle = this.targetBundle.get(udid);
1194
+ if (bundle !== undefined && raw.bundleId !== bundle)
1195
+ return 'missing';
1196
+ const freshAfter = this.verdictFreshAfter.get(udid);
1197
+ if (freshAfter !== undefined && !(typeof raw.at === 'number' && raw.at >= Math.floor(freshAfter / 1000))) {
1198
+ return 'missing';
1199
+ }
1112
1200
  if (raw.installed === true)
1113
1201
  return 'ok';
1114
1202
  // **`failed` is the library's own signal and nothing else.** Testing for `!== true` swept up
@@ -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.26.1",
3
+ "version": "0.27.1",
4
4
  "description": "iOS simulator agent for tapflow — xcrun simctl control and screen streaming",
5
5
  "keywords": [
6
6
  "tapflow",
@@ -53,17 +53,17 @@
53
53
  "access": "public"
54
54
  },
55
55
  "dependencies": {
56
- "ws": "^8.21.3",
57
- "@tapflowio/agent-core": "0.26.1",
58
- "@tapflowio/protocol": "0.26.1",
59
- "@tapflowio/audiotap-helper": "0.3.9"
56
+ "ws": "^8.22.0",
57
+ "@tapflowio/agent-core": "0.27.1",
58
+ "@tapflowio/protocol": "0.27.1",
59
+ "@tapflowio/audiotap-helper": "0.3.11"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@types/node": "^22.20.4",
63
63
  "@types/ws": "^8.0.0",
64
64
  "typescript": "^5.0.0",
65
65
  "vitest": "^4.1.11",
66
- "@tapflowio/relay": "0.26.1",
66
+ "@tapflowio/relay": "0.27.1",
67
67
  "@tapflowio/test-utils": "0.0.0"
68
68
  },
69
69
  "scripts": {