appium-ios-remotexpc 5.20.4 → 5.22.0
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.
- package/CHANGELOG.md +12 -0
- package/build/src/index.d.ts +1 -0
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js.map +1 -1
- package/build/src/lib/usbmux/device-event-stream.d.ts +81 -0
- package/build/src/lib/usbmux/device-event-stream.d.ts.map +1 -0
- package/build/src/lib/usbmux/device-event-stream.js +117 -0
- package/build/src/lib/usbmux/device-event-stream.js.map +1 -0
- package/build/src/lib/usbmux/index.d.ts +36 -0
- package/build/src/lib/usbmux/index.d.ts.map +1 -1
- package/build/src/lib/usbmux/index.js +106 -0
- package/build/src/lib/usbmux/index.js.map +1 -1
- package/build/src/services.d.ts +5 -0
- package/build/src/services.d.ts.map +1 -1
- package/build/src/services.js +8 -0
- package/build/src/services.js.map +1 -1
- package/package.json +2 -1
- package/src/index.ts +1 -0
- package/src/lib/usbmux/device-event-stream.ts +150 -0
- package/src/lib/usbmux/index.ts +120 -0
- package/src/services.ts +9 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [5.22.0](https://github.com/appium/appium-ios-remotexpc/compare/v5.21.0...v5.22.0) (2026-09-23)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **usbmux:** add listen() for device attach/detach notifications ([#336](https://github.com/appium/appium-ios-remotexpc/issues/336)) ([ea86788](https://github.com/appium/appium-ios-remotexpc/commit/ea867884097ca444c3dee40f2ae8dc99e010dd21)), closes [Usbmux#_eventStreams](https://github.com/appium/Usbmux/issues/_eventStreams)
|
|
6
|
+
|
|
7
|
+
## [5.21.0](https://github.com/appium/appium-ios-remotexpc/compare/v5.20.4...v5.21.0) (2026-09-21)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **companion-proxy:** register service and add integration tests ([#335](https://github.com/appium/appium-ios-remotexpc/issues/335)) ([46bb7e8](https://github.com/appium/appium-ios-remotexpc/commit/46bb7e8750847004bd6f98bec55e1c5e800d8db6))
|
|
12
|
+
|
|
1
13
|
## [5.20.4](https://github.com/appium/appium-ios-remotexpc/compare/v5.20.3...v5.20.4) (2026-09-21)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
package/build/src/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { Usbmux, createUsbmux } from './lib/usbmux/index.js';
|
|
|
8
8
|
import * as Services from './services.js';
|
|
9
9
|
import { startCoreDeviceProxyTcp } from './services/ios/tunnel-service/index.js';
|
|
10
10
|
export type { Device as UsbmuxDevice } from './lib/usbmux/index.js';
|
|
11
|
+
export type { UsbmuxAttachEvent, UsbmuxDetachEvent, UsbmuxDeviceEvent } from './lib/usbmux/index.js';
|
|
11
12
|
export type { DevicePortForwarderEvents, DevicePortForwarderOptions, UpstreamSocketConnector, } from './lib/port-forwarding/index.js';
|
|
12
13
|
export type { RsdServiceCatalogClient } from './lib/remote-xpc/rsd-service-catalog-client.js';
|
|
13
14
|
export { XPCUUID } from './lib/remote-xpc/xpc-uuid.js';
|
package/build/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAE,8BAA8B,EAAC,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,uBAAuB,EAAC,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAE,8BAA8B,EAAC,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,uBAAuB,EAAC,MAAM,wCAAwC,CAAC;AAU/E,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAC;AAMrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAQhE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,mDAAmD,CAAC;AAErG,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAQ/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAC,yBAAyB,EAAC,MAAM,6CAA6C,CAAC;AAEtF,OAAO,EAAC,mBAAmB,EAAC,MAAM,qDAAqD,CAAC;AAExF,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,iDAAiD,CAAC;AAElF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,GACnB,MAAM,kDAAkD,CAAC;AAO1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAC,gBAAgB,EAAC,MAAM,6CAA6C,CAAC;AAE7E,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAM1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAE5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAQ3E,OAAO,EAAC,cAAc,EAAE,qCAAqC,EAAC,MAAM,iCAAiC,CAAC;AAStG,OAAO,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,uDAAuD,CAAC;AAM9G,OAAO,EAAC,mBAAmB,EAAC,MAAM,uDAAuD,CAAC;AAM1F,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,sDAAsD,CAAC;AAQ3G,OAAO,EAAC,2BAA2B,EAAC,MAAM,gDAAgD,CAAC;AAK3F,OAAO,EAAC,uBAAuB,EAAE,gBAAgB,EAAC,MAAM,iDAAiD,CAAC;AAE1G,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,mCAAmC,EACnC,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,yCAAyC,CAAC;AAEzG,OAAO,EAAC,kBAAkB,EAAC,MAAM,0DAA0D,CAAC;AAE5F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0DAA0D,CAAC;AA+DlE,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAE,yBAAyB,EAAC,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,mDAAmD,CAAC;AAErF,OAAO,EAAC,gBAAgB,EAAC,MAAM,sDAAsD,CAAC;AAEtF,OAAO,EAAC,uBAAuB,EAAE,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AAChG,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAC,0BAA0B,EAAC,MAAM,oDAAoD,CAAC;AAE9F,OAAO,EAAC,cAAc,EAAC,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAC,SAAS,EAAC,MAAM,6CAA6C,CAAC;AACtE,OAAO,EAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAC,MAAM,yCAAyC,CAAC;AACrH,OAAO,EAAC,gBAAgB,EAAC,MAAM,kDAAkD,CAAC;AAClF,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,aAAa,GACd,MAAM,8CAA8C,CAAC;AAWtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAMpE,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAElF,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { Device } from './index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Emitted by {@link Usbmux.listen} when a device is plugged in (or an already-connected
|
|
4
|
+
* device is reported for the first time after the Listen request is acknowledged).
|
|
5
|
+
*/
|
|
6
|
+
export interface UsbmuxAttachEvent {
|
|
7
|
+
type: 'attach';
|
|
8
|
+
device: Device;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Emitted by {@link Usbmux.listen} when a device is unplugged. usbmuxd's `Detached`
|
|
12
|
+
* message only carries the numeric `DeviceID`, not the device's properties.
|
|
13
|
+
*/
|
|
14
|
+
export interface UsbmuxDetachEvent {
|
|
15
|
+
type: 'detach';
|
|
16
|
+
deviceId: number;
|
|
17
|
+
}
|
|
18
|
+
export type UsbmuxDeviceEvent = UsbmuxAttachEvent | UsbmuxDetachEvent;
|
|
19
|
+
/**
|
|
20
|
+
* Called exactly once when a {@link UsbmuxDeviceEventStream} stops, so its owner can unregister it.
|
|
21
|
+
*/
|
|
22
|
+
export type UsbmuxDeviceEventStreamStopHandler = (stream: UsbmuxDeviceEventStream) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Async-iterable queue of usbmuxd device notifications for a single `Listen` subscription.
|
|
25
|
+
*
|
|
26
|
+
* The owning {@link Usbmux} instance feeds it via {@link push} / {@link fail}; consumers
|
|
27
|
+
* drain it with `for await`. Events that arrive while no consumer is waiting are buffered.
|
|
28
|
+
* Once the stream stops (via {@link stop}, {@link fail} or the abort signal), already-buffered
|
|
29
|
+
* events are still delivered first; only then does iteration end, or reject after `fail()`.
|
|
30
|
+
* `return()` (e.g. `break` in `for await`) ends iteration immediately and discards the buffer.
|
|
31
|
+
*/
|
|
32
|
+
export declare class UsbmuxDeviceEventStream implements AsyncIterableIterator<UsbmuxDeviceEvent> {
|
|
33
|
+
private readonly onStop;
|
|
34
|
+
private readonly signal?;
|
|
35
|
+
private readonly queue;
|
|
36
|
+
private readonly waiters;
|
|
37
|
+
private isStopped;
|
|
38
|
+
private failure;
|
|
39
|
+
private readonly onAbort;
|
|
40
|
+
/**
|
|
41
|
+
* @param onStop - Invoked exactly once when the stream stops
|
|
42
|
+
* @param signal - When aborted, stops the stream
|
|
43
|
+
*/
|
|
44
|
+
constructor(onStop: UsbmuxDeviceEventStreamStopHandler, signal?: AbortSignal);
|
|
45
|
+
/**
|
|
46
|
+
* Whether the stream has stopped accepting events.
|
|
47
|
+
*/
|
|
48
|
+
get stopped(): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Enqueues an event for the consumer. Ignored once the stream has stopped.
|
|
51
|
+
* @param event - Device event to deliver
|
|
52
|
+
*/
|
|
53
|
+
push(event: UsbmuxDeviceEvent): void;
|
|
54
|
+
/**
|
|
55
|
+
* Stops the stream and makes the next `next()` call reject with `err`.
|
|
56
|
+
* @param err - Error to surface to the consumer
|
|
57
|
+
*/
|
|
58
|
+
fail(err: Error): void;
|
|
59
|
+
/**
|
|
60
|
+
* Stops the stream. Idempotent.
|
|
61
|
+
*/
|
|
62
|
+
stop(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Resolves with the next buffered event, waiting for one if necessary. Concurrent calls are
|
|
65
|
+
* each resolved in turn.
|
|
66
|
+
* @returns The next event, or `done` once the stream has stopped and drained
|
|
67
|
+
* @throws The error passed to {@link fail}, once all buffered events have been delivered
|
|
68
|
+
*/
|
|
69
|
+
next(): Promise<IteratorResult<UsbmuxDeviceEvent>>;
|
|
70
|
+
/**
|
|
71
|
+
* Stops the stream and discards buffered events. Called by `break`/`return` in `for await`.
|
|
72
|
+
* @returns A `done` iterator result
|
|
73
|
+
*/
|
|
74
|
+
return(): Promise<IteratorResult<UsbmuxDeviceEvent>>;
|
|
75
|
+
/**
|
|
76
|
+
* @returns This stream, which is its own iterator
|
|
77
|
+
*/
|
|
78
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<UsbmuxDeviceEvent>;
|
|
79
|
+
private notifyWaiters;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=device-event-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-event-stream.d.ts","sourceRoot":"","sources":["../../../../src/lib/usbmux/device-event-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAE3F;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,YAAW,qBAAqB,CAAC,iBAAiB,CAAC;IAYpF,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAZ1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C;;;OAGG;gBAEgB,MAAM,EAAE,kCAAkC,EAC1C,MAAM,CAAC,EAAE,WAAW;IASvC;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAQpC;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAQtB;;OAEG;IACH,IAAI,IAAI,IAAI;IAUZ;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAkBxD;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAO1D;;OAEG;IACH,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,iBAAiB,CAAC;IAIlE,OAAO,CAAC,aAAa;CAKtB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async-iterable queue of usbmuxd device notifications for a single `Listen` subscription.
|
|
3
|
+
*
|
|
4
|
+
* The owning {@link Usbmux} instance feeds it via {@link push} / {@link fail}; consumers
|
|
5
|
+
* drain it with `for await`. Events that arrive while no consumer is waiting are buffered.
|
|
6
|
+
* Once the stream stops (via {@link stop}, {@link fail} or the abort signal), already-buffered
|
|
7
|
+
* events are still delivered first; only then does iteration end, or reject after `fail()`.
|
|
8
|
+
* `return()` (e.g. `break` in `for await`) ends iteration immediately and discards the buffer.
|
|
9
|
+
*/
|
|
10
|
+
export class UsbmuxDeviceEventStream {
|
|
11
|
+
onStop;
|
|
12
|
+
signal;
|
|
13
|
+
queue = [];
|
|
14
|
+
waiters = [];
|
|
15
|
+
isStopped = false;
|
|
16
|
+
failure = null;
|
|
17
|
+
onAbort = () => this.stop();
|
|
18
|
+
/**
|
|
19
|
+
* @param onStop - Invoked exactly once when the stream stops
|
|
20
|
+
* @param signal - When aborted, stops the stream
|
|
21
|
+
*/
|
|
22
|
+
constructor(onStop, signal) {
|
|
23
|
+
this.onStop = onStop;
|
|
24
|
+
this.signal = signal;
|
|
25
|
+
if (signal?.aborted) {
|
|
26
|
+
this.isStopped = true;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
signal?.addEventListener('abort', this.onAbort);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Whether the stream has stopped accepting events.
|
|
34
|
+
*/
|
|
35
|
+
get stopped() {
|
|
36
|
+
return this.isStopped;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Enqueues an event for the consumer. Ignored once the stream has stopped.
|
|
40
|
+
* @param event - Device event to deliver
|
|
41
|
+
*/
|
|
42
|
+
push(event) {
|
|
43
|
+
if (this.isStopped) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.queue.push(event);
|
|
47
|
+
this.notifyWaiters();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Stops the stream and makes the next `next()` call reject with `err`.
|
|
51
|
+
* @param err - Error to surface to the consumer
|
|
52
|
+
*/
|
|
53
|
+
fail(err) {
|
|
54
|
+
if (this.isStopped) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
this.failure = err;
|
|
58
|
+
this.stop();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Stops the stream. Idempotent.
|
|
62
|
+
*/
|
|
63
|
+
stop() {
|
|
64
|
+
if (this.isStopped) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.isStopped = true;
|
|
68
|
+
this.signal?.removeEventListener('abort', this.onAbort);
|
|
69
|
+
this.onStop(this);
|
|
70
|
+
this.notifyWaiters();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resolves with the next buffered event, waiting for one if necessary. Concurrent calls are
|
|
74
|
+
* each resolved in turn.
|
|
75
|
+
* @returns The next event, or `done` once the stream has stopped and drained
|
|
76
|
+
* @throws The error passed to {@link fail}, once all buffered events have been delivered
|
|
77
|
+
*/
|
|
78
|
+
async next() {
|
|
79
|
+
while (this.queue.length === 0 && !this.isStopped) {
|
|
80
|
+
await new Promise((resolve) => {
|
|
81
|
+
this.waiters.push(resolve);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
const event = this.queue.shift();
|
|
85
|
+
if (event) {
|
|
86
|
+
return { done: false, value: event };
|
|
87
|
+
}
|
|
88
|
+
if (this.failure) {
|
|
89
|
+
const err = this.failure;
|
|
90
|
+
this.failure = null;
|
|
91
|
+
throw err;
|
|
92
|
+
}
|
|
93
|
+
return { done: true, value: undefined };
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Stops the stream and discards buffered events. Called by `break`/`return` in `for await`.
|
|
97
|
+
* @returns A `done` iterator result
|
|
98
|
+
*/
|
|
99
|
+
async return() {
|
|
100
|
+
this.stop();
|
|
101
|
+
this.queue.length = 0;
|
|
102
|
+
this.failure = null;
|
|
103
|
+
return { done: true, value: undefined };
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @returns This stream, which is its own iterator
|
|
107
|
+
*/
|
|
108
|
+
[Symbol.asyncIterator]() {
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
notifyWaiters() {
|
|
112
|
+
for (const wake of this.waiters.splice(0)) {
|
|
113
|
+
wake();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=device-event-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-event-stream.js","sourceRoot":"","sources":["../../../../src/lib/usbmux/device-event-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Socket } from 'node:net';
|
|
2
2
|
import { BaseSocketService } from '../../base-socket-service.js';
|
|
3
3
|
import { type PairRecord } from '../pair-record/index.js';
|
|
4
|
+
import { type UsbmuxDeviceEvent } from './device-event-stream.js';
|
|
4
5
|
/**
|
|
5
6
|
* Interface for device properties
|
|
6
7
|
*/
|
|
@@ -21,6 +22,7 @@ export interface Device {
|
|
|
21
22
|
MessageType: string;
|
|
22
23
|
Properties: DeviceProperties;
|
|
23
24
|
}
|
|
25
|
+
export type { UsbmuxAttachEvent, UsbmuxDetachEvent, UsbmuxDeviceEvent } from './device-event-stream.js';
|
|
24
26
|
export declare const USBMUXD_PORT = 27015;
|
|
25
27
|
export declare const DEFAULT_USBMUXD_SOCKET = "/var/run/usbmuxd";
|
|
26
28
|
export declare const DEFAULT_USBMUXD_HOST = "127.0.0.1";
|
|
@@ -47,6 +49,8 @@ export declare class Usbmux extends BaseSocketService {
|
|
|
47
49
|
private readonly _encoder;
|
|
48
50
|
private _tag;
|
|
49
51
|
private readonly _responseCallbacks;
|
|
52
|
+
private readonly _eventStreams;
|
|
53
|
+
private _closePromise;
|
|
50
54
|
/**
|
|
51
55
|
* Creates a new usbmux instance
|
|
52
56
|
* @param socketClient - Connected socket to usbmuxd
|
|
@@ -78,6 +82,24 @@ export declare class Usbmux extends BaseSocketService {
|
|
|
78
82
|
* @returns Promise that resolves with the device or undefined if not found
|
|
79
83
|
*/
|
|
80
84
|
findDevice(udid: string, timeout?: number): Promise<Device | undefined>;
|
|
85
|
+
/**
|
|
86
|
+
* Subscribes to usbmuxd's `Listen` notifications, yielding one event per device
|
|
87
|
+
* attach/detach for as long as this connection stays open. usbmuxd immediately reports
|
|
88
|
+
* every already-connected device as an attach event once the request is acknowledged.
|
|
89
|
+
*
|
|
90
|
+
* usbmuxd has no way to unsubscribe, so listening takes over the connection: only one
|
|
91
|
+
* listen() is allowed per connection, and the connection is closed once iteration stops
|
|
92
|
+
* (`break`, `return`, an aborted `signal`, or calling {@link close}). If the connection drops
|
|
93
|
+
* (e.g. usbmuxd restarts), iteration rejects after delivering any already-received events,
|
|
94
|
+
* so the caller can resubscribe on a new connection.
|
|
95
|
+
*
|
|
96
|
+
* @param opts.signal - When aborted, ends the iteration
|
|
97
|
+
* @returns Async iterable of attach/detach events
|
|
98
|
+
* @throws If the connection is already closed or already has an active listen()
|
|
99
|
+
*/
|
|
100
|
+
listen(opts?: {
|
|
101
|
+
signal?: AbortSignal;
|
|
102
|
+
}): AsyncIterableIterator<UsbmuxDeviceEvent>;
|
|
81
103
|
/**
|
|
82
104
|
* Connects to a certain port on the device
|
|
83
105
|
* @param deviceID - Device ID
|
|
@@ -95,12 +117,26 @@ export declare class Usbmux extends BaseSocketService {
|
|
|
95
117
|
* @returns Promise that resolves when the socket is closed.
|
|
96
118
|
*/
|
|
97
119
|
close(): Promise<void>;
|
|
120
|
+
private _closeSocket;
|
|
98
121
|
/**
|
|
99
122
|
* Handles incoming data from the decoder
|
|
100
123
|
* @param data - Decoded data
|
|
101
124
|
* @private
|
|
102
125
|
*/
|
|
103
126
|
private _handleData;
|
|
127
|
+
/**
|
|
128
|
+
* Closes the connection once a listen() stream stops, since usbmuxd cannot unsubscribe it.
|
|
129
|
+
* Runs in the background, so a failure is logged rather than thrown.
|
|
130
|
+
* @private
|
|
131
|
+
*/
|
|
132
|
+
private _closeAfterListen;
|
|
133
|
+
/**
|
|
134
|
+
* Runs `fn` for every active listen() stream. Iterates over a snapshot, since stopping a
|
|
135
|
+
* stream removes it from the set.
|
|
136
|
+
* @param fn - Callback invoked with each stream
|
|
137
|
+
* @private
|
|
138
|
+
*/
|
|
139
|
+
private _forEachEventStream;
|
|
104
140
|
/**
|
|
105
141
|
* Sends a plist to usbmuxd
|
|
106
142
|
* @param json - JSON object with tag and payload
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/usbmux/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,MAAM,EAAiC,MAAM,UAAU,CAAC;AAGlF,OAAO,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAC,KAAK,UAAU,EAAuB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/usbmux/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { processPlistResponse } from '../pair-record/index.js';
|
|
|
7
7
|
import { parsePlist } from '../plist/index.js';
|
|
8
8
|
import { UsbmuxDecoder } from '../usbmux/usbmux-decoder.js';
|
|
9
9
|
import { UsbmuxEncoder } from '../usbmux/usbmux-encoder.js';
|
|
10
|
+
import { UsbmuxDeviceEventStream } from './device-event-stream.js';
|
|
10
11
|
import { prioritizeUsbOverNetworkForDuplicateUdids } from './utils.js';
|
|
11
12
|
const log = getLogger('Usbmux');
|
|
12
13
|
export const USBMUXD_PORT = 27015;
|
|
@@ -22,6 +23,14 @@ export const USBMUX_RESULT = {
|
|
|
22
23
|
// Package info for client identification
|
|
23
24
|
const PROG_NAME = 'appium-internal';
|
|
24
25
|
const CLIENT_VERSION_STRING = 'appium-internal-1.0.0';
|
|
26
|
+
/**
|
|
27
|
+
* The decoder only casts the parsed plist, so its root is not guaranteed to be a dictionary.
|
|
28
|
+
*/
|
|
29
|
+
function asPlistDictionary(value) {
|
|
30
|
+
return value && typeof value === 'object' && !Array.isArray(value) && !Buffer.isBuffer(value)
|
|
31
|
+
? value
|
|
32
|
+
: null;
|
|
33
|
+
}
|
|
25
34
|
/**
|
|
26
35
|
* usbmux class for communicating with usbmuxd
|
|
27
36
|
*/
|
|
@@ -30,6 +39,8 @@ export class Usbmux extends BaseSocketService {
|
|
|
30
39
|
_encoder;
|
|
31
40
|
_tag;
|
|
32
41
|
_responseCallbacks;
|
|
42
|
+
_eventStreams = new Set();
|
|
43
|
+
_closePromise = null;
|
|
33
44
|
/**
|
|
34
45
|
* Creates a new usbmux instance
|
|
35
46
|
* @param socketClient - Connected socket to usbmuxd
|
|
@@ -47,6 +58,11 @@ export class Usbmux extends BaseSocketService {
|
|
|
47
58
|
this._tag = 0;
|
|
48
59
|
this._responseCallbacks = {};
|
|
49
60
|
this._decoder.on('data', this._handleData.bind(this));
|
|
61
|
+
// Unless close() already stopped them, surface a dropped connection (e.g. usbmuxd restarting)
|
|
62
|
+
// to listen() consumers instead of leaving them waiting forever
|
|
63
|
+
this._socketClient.on('close', () => {
|
|
64
|
+
this._forEachEventStream((stream) => stream.fail(new Error('usbmuxd connection closed')));
|
|
65
|
+
});
|
|
50
66
|
this.on('error', (err) => {
|
|
51
67
|
log.error(`Usbmux socket error: ${err.message}`);
|
|
52
68
|
});
|
|
@@ -139,6 +155,56 @@ export class Usbmux extends BaseSocketService {
|
|
|
139
155
|
const devices = await this.listDevices(timeout);
|
|
140
156
|
return devices.find((device) => device.Properties.SerialNumber.toLowerCase() === udid.toLowerCase());
|
|
141
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Subscribes to usbmuxd's `Listen` notifications, yielding one event per device
|
|
160
|
+
* attach/detach for as long as this connection stays open. usbmuxd immediately reports
|
|
161
|
+
* every already-connected device as an attach event once the request is acknowledged.
|
|
162
|
+
*
|
|
163
|
+
* usbmuxd has no way to unsubscribe, so listening takes over the connection: only one
|
|
164
|
+
* listen() is allowed per connection, and the connection is closed once iteration stops
|
|
165
|
+
* (`break`, `return`, an aborted `signal`, or calling {@link close}). If the connection drops
|
|
166
|
+
* (e.g. usbmuxd restarts), iteration rejects after delivering any already-received events,
|
|
167
|
+
* so the caller can resubscribe on a new connection.
|
|
168
|
+
*
|
|
169
|
+
* @param opts.signal - When aborted, ends the iteration
|
|
170
|
+
* @returns Async iterable of attach/detach events
|
|
171
|
+
* @throws If the connection is already closed or already has an active listen()
|
|
172
|
+
*/
|
|
173
|
+
listen(opts = {}) {
|
|
174
|
+
if (this._closePromise || this._socketClient.destroyed || this._socketClient.writableEnded) {
|
|
175
|
+
throw new Error('Cannot listen on a closed usbmuxd connection');
|
|
176
|
+
}
|
|
177
|
+
if (this._eventStreams.size > 0) {
|
|
178
|
+
throw new Error('listen() is already active on this usbmuxd connection; use a separate connection');
|
|
179
|
+
}
|
|
180
|
+
const tag = this._tag++;
|
|
181
|
+
const stream = new UsbmuxDeviceEventStream((s) => {
|
|
182
|
+
delete this._responseCallbacks[tag];
|
|
183
|
+
this._eventStreams.delete(s);
|
|
184
|
+
this._closeAfterListen();
|
|
185
|
+
}, opts.signal);
|
|
186
|
+
if (stream.stopped) {
|
|
187
|
+
this._closeAfterListen();
|
|
188
|
+
return stream;
|
|
189
|
+
}
|
|
190
|
+
this._eventStreams.add(stream);
|
|
191
|
+
this._responseCallbacks[tag] = (data) => {
|
|
192
|
+
delete this._responseCallbacks[tag];
|
|
193
|
+
const payload = asPlistDictionary(data.payload);
|
|
194
|
+
if (payload?.MessageType !== 'Result' || payload.Number !== USBMUX_RESULT.OK) {
|
|
195
|
+
stream.fail(new Error(`Listen request failed: ${JSON.stringify(data.payload)}`));
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
this._sendPlist({
|
|
199
|
+
tag,
|
|
200
|
+
payload: {
|
|
201
|
+
MessageType: 'Listen',
|
|
202
|
+
ProgName: PROG_NAME,
|
|
203
|
+
ClientVersionString: CLIENT_VERSION_STRING,
|
|
204
|
+
},
|
|
205
|
+
});
|
|
206
|
+
return stream;
|
|
207
|
+
}
|
|
142
208
|
/**
|
|
143
209
|
* Connects to a certain port on the device
|
|
144
210
|
* @param deviceID - Device ID
|
|
@@ -193,6 +259,13 @@ export class Usbmux extends BaseSocketService {
|
|
|
193
259
|
* @returns Promise that resolves when the socket is closed.
|
|
194
260
|
*/
|
|
195
261
|
close() {
|
|
262
|
+
// Memoized: a stopping listen() stream also closes the connection, and ending the socket
|
|
263
|
+
// twice would fail the second caller
|
|
264
|
+
this._closePromise ??= this._closeSocket();
|
|
265
|
+
return this._closePromise;
|
|
266
|
+
}
|
|
267
|
+
_closeSocket() {
|
|
268
|
+
this._forEachEventStream((stream) => stream.stop());
|
|
196
269
|
return new Promise((resolve, reject) => {
|
|
197
270
|
// If the socket is still open, end it gracefully.
|
|
198
271
|
if (!this._socketClient.destroyed) {
|
|
@@ -224,6 +297,39 @@ export class Usbmux extends BaseSocketService {
|
|
|
224
297
|
const handler = this._responseCallbacks[data.header.tag];
|
|
225
298
|
if (handler) {
|
|
226
299
|
handler(data);
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
// Listen notifications arrive unsolicited with tag 0, not the Listen request's tag, so only
|
|
303
|
+
// frames no pending request is waiting for are treated as such. (Before the plist parser fix
|
|
304
|
+
// in v5.14.5, a ListDevices reply also exposed its entries' MessageType 'Attached' at the top
|
|
305
|
+
// level; checking pending requests first keeps replies from ever being mistaken for events.)
|
|
306
|
+
const payload = asPlistDictionary(data.payload);
|
|
307
|
+
if (payload?.MessageType === 'Attached' || payload?.MessageType === 'Detached') {
|
|
308
|
+
const event = payload.MessageType === 'Attached'
|
|
309
|
+
? { type: 'attach', device: payload }
|
|
310
|
+
: { type: 'detach', deviceId: payload.DeviceID };
|
|
311
|
+
this._forEachEventStream((stream) => stream.push(event));
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Closes the connection once a listen() stream stops, since usbmuxd cannot unsubscribe it.
|
|
316
|
+
* Runs in the background, so a failure is logged rather than thrown.
|
|
317
|
+
* @private
|
|
318
|
+
*/
|
|
319
|
+
_closeAfterListen() {
|
|
320
|
+
this.close().catch((err) => {
|
|
321
|
+
log.warn(`Failed to close usbmux connection after listen() stopped: ${err.message}`);
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Runs `fn` for every active listen() stream. Iterates over a snapshot, since stopping a
|
|
326
|
+
* stream removes it from the set.
|
|
327
|
+
* @param fn - Callback invoked with each stream
|
|
328
|
+
* @private
|
|
329
|
+
*/
|
|
330
|
+
_forEachEventStream(fn) {
|
|
331
|
+
for (const stream of [...this._eventStreams]) {
|
|
332
|
+
fn(stream);
|
|
227
333
|
}
|
|
228
334
|
}
|
|
229
335
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/usbmux/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/usbmux/index.ts"],"names":[],"mappings":"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"}
|
package/build/src/services.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import AfcService from './services/ios/afc/index.js';
|
|
|
4
4
|
import { AmfiService } from './services/ios/amfi/index.js';
|
|
5
5
|
import { AppService } from './services/ios/app-service/index.js';
|
|
6
6
|
import { type Service } from './services/ios/base-service.js';
|
|
7
|
+
import { CompanionProxyService } from './services/ios/companion-proxy/index.js';
|
|
7
8
|
import { ConfigurationService } from './services/ios/configuration/index.js';
|
|
8
9
|
import { CrashReportsService } from './services/ios/crash-reports/index.js';
|
|
9
10
|
import { DeviceControlService } from './services/ios/device-control/index.js';
|
|
@@ -28,6 +29,10 @@ export { getAvailableDevices, getTunnelForDevice } from './lib/tunnel/tunnel-ava
|
|
|
28
29
|
* Start the diagnostics service for the given device UDID.
|
|
29
30
|
*/
|
|
30
31
|
export declare function startDiagnosticsService(udid: string): Promise<DiagnosticsService>;
|
|
32
|
+
/**
|
|
33
|
+
* Start the companion proxy service for the given device UDID.
|
|
34
|
+
*/
|
|
35
|
+
export declare function startCompanionProxyService(udid: string): Promise<CompanionProxyService>;
|
|
31
36
|
/**
|
|
32
37
|
* Start the notification proxy service for the given device UDID.
|
|
33
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,cAAc,EAAE,aAAa,IAAI,iBAAiB,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAC,yBAAyB,EAAC,MAAM,6CAA6C,CAAC;AACtF,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAC,KAAK,OAAO,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAC,mBAAmB,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAc/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,yBAAyB,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAC,qBAAqB,EAAC,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAC,kBAAkB,EAAC,MAAM,6CAA6C,CAAC;AAE/E,OAAO,EAAC,0BAA0B,EAAC,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AAI5F;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAGvF;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAGnG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAGzF;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAGrG;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAGvF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAGjF;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAG7F;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAIzE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAGnF;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAGvE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGrF;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAG7F;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAGrG;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAG3F;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAG3F;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAG/E;AAKD,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,0EAA0E;IAC1E,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGjF;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAC,aAAa,EAAE,iBAAiB,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAC,CAAC,CAEzE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAC,aAAa,EAAE,iBAAiB,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAC,CAAC,CAEzE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAGvE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGrF;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAMzF;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAGvF;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAGnG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAGzF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAqB3E;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAMhG;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,cAAc,CAAC,CAyCrH"}
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
|
package/build/src/services.js
CHANGED
|
@@ -3,6 +3,7 @@ import { AccessibilityAuditService } from './services/ios/accessibility-audit/in
|
|
|
3
3
|
import AfcService from './services/ios/afc/index.js';
|
|
4
4
|
import { AmfiService } from './services/ios/amfi/index.js';
|
|
5
5
|
import { AppService } from './services/ios/app-service/index.js';
|
|
6
|
+
import { CompanionProxyService } from './services/ios/companion-proxy/index.js';
|
|
6
7
|
import { ConfigurationService } from './services/ios/configuration/index.js';
|
|
7
8
|
import { CrashReportsService } from './services/ios/crash-reports/index.js';
|
|
8
9
|
import { DeviceControlService } from './services/ios/device-control/index.js';
|
|
@@ -45,6 +46,13 @@ export async function startDiagnosticsService(udid) {
|
|
|
45
46
|
await requireCatalogService(udid, DiagnosticsService.RSD_SERVICE_NAME);
|
|
46
47
|
return new DiagnosticsService(udid);
|
|
47
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Start the companion proxy service for the given device UDID.
|
|
51
|
+
*/
|
|
52
|
+
export async function startCompanionProxyService(udid) {
|
|
53
|
+
await requireCatalogService(udid, CompanionProxyService.RSD_SERVICE_NAME);
|
|
54
|
+
return new CompanionProxyService(udid);
|
|
55
|
+
}
|
|
48
56
|
/**
|
|
49
57
|
* Start the notification proxy service for the given device UDID.
|
|
50
58
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-ios-remotexpc",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.22.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"bugs": {
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
"test:all": "node --enable-source-maps --experimental-test-module-mocks --test --test-timeout=60000 \"build/test/unit/**/*.spec.js\" \"build/test/integration/**/*.spec.js\"",
|
|
49
49
|
"test:app-service": "node --enable-source-maps --test --test-timeout=60000 \"build/test/integration/app-service.spec.js\"",
|
|
50
50
|
"test:accessibility-audit": "node --enable-source-maps --test --test-timeout=300000 \"build/test/integration/accessibility-audit.spec.js\"",
|
|
51
|
+
"test:companion-proxy": "node --enable-source-maps --test --test-timeout=60000 \"build/test/integration/companion-proxy.spec.js\"",
|
|
51
52
|
"test:coredevice-device-info": "node --enable-source-maps --test --test-timeout=60000 \"build/test/integration/device-info-coredevice.spec.js\"",
|
|
52
53
|
"test:device-control": "node --enable-source-maps --test --test-timeout=60000 \"build/test/integration/device-control.spec.js\"",
|
|
53
54
|
"test:configuration": "node --enable-source-maps --test --test-timeout=60000 \"build/test/integration/configuration.spec.js\"",
|
package/src/index.ts
CHANGED
|
@@ -16,6 +16,7 @@ import * as Services from './services.js';
|
|
|
16
16
|
import {startCoreDeviceProxyTcp} from './services/ios/tunnel-service/index.js';
|
|
17
17
|
|
|
18
18
|
export type {Device as UsbmuxDevice} from './lib/usbmux/index.js';
|
|
19
|
+
export type {UsbmuxAttachEvent, UsbmuxDetachEvent, UsbmuxDeviceEvent} from './lib/usbmux/index.js';
|
|
19
20
|
export type {
|
|
20
21
|
DevicePortForwarderEvents,
|
|
21
22
|
DevicePortForwarderOptions,
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import type {Device} from './index.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Emitted by {@link Usbmux.listen} when a device is plugged in (or an already-connected
|
|
5
|
+
* device is reported for the first time after the Listen request is acknowledged).
|
|
6
|
+
*/
|
|
7
|
+
export interface UsbmuxAttachEvent {
|
|
8
|
+
type: 'attach';
|
|
9
|
+
device: Device;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Emitted by {@link Usbmux.listen} when a device is unplugged. usbmuxd's `Detached`
|
|
14
|
+
* message only carries the numeric `DeviceID`, not the device's properties.
|
|
15
|
+
*/
|
|
16
|
+
export interface UsbmuxDetachEvent {
|
|
17
|
+
type: 'detach';
|
|
18
|
+
deviceId: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type UsbmuxDeviceEvent = UsbmuxAttachEvent | UsbmuxDetachEvent;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Called exactly once when a {@link UsbmuxDeviceEventStream} stops, so its owner can unregister it.
|
|
25
|
+
*/
|
|
26
|
+
export type UsbmuxDeviceEventStreamStopHandler = (stream: UsbmuxDeviceEventStream) => void;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Async-iterable queue of usbmuxd device notifications for a single `Listen` subscription.
|
|
30
|
+
*
|
|
31
|
+
* The owning {@link Usbmux} instance feeds it via {@link push} / {@link fail}; consumers
|
|
32
|
+
* drain it with `for await`. Events that arrive while no consumer is waiting are buffered.
|
|
33
|
+
* Once the stream stops (via {@link stop}, {@link fail} or the abort signal), already-buffered
|
|
34
|
+
* events are still delivered first; only then does iteration end, or reject after `fail()`.
|
|
35
|
+
* `return()` (e.g. `break` in `for await`) ends iteration immediately and discards the buffer.
|
|
36
|
+
*/
|
|
37
|
+
export class UsbmuxDeviceEventStream implements AsyncIterableIterator<UsbmuxDeviceEvent> {
|
|
38
|
+
private readonly queue: UsbmuxDeviceEvent[] = [];
|
|
39
|
+
private readonly waiters: (() => void)[] = [];
|
|
40
|
+
private isStopped = false;
|
|
41
|
+
private failure: Error | null = null;
|
|
42
|
+
private readonly onAbort = () => this.stop();
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @param onStop - Invoked exactly once when the stream stops
|
|
46
|
+
* @param signal - When aborted, stops the stream
|
|
47
|
+
*/
|
|
48
|
+
constructor(
|
|
49
|
+
private readonly onStop: UsbmuxDeviceEventStreamStopHandler,
|
|
50
|
+
private readonly signal?: AbortSignal,
|
|
51
|
+
) {
|
|
52
|
+
if (signal?.aborted) {
|
|
53
|
+
this.isStopped = true;
|
|
54
|
+
} else {
|
|
55
|
+
signal?.addEventListener('abort', this.onAbort);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Whether the stream has stopped accepting events.
|
|
61
|
+
*/
|
|
62
|
+
get stopped(): boolean {
|
|
63
|
+
return this.isStopped;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Enqueues an event for the consumer. Ignored once the stream has stopped.
|
|
68
|
+
* @param event - Device event to deliver
|
|
69
|
+
*/
|
|
70
|
+
push(event: UsbmuxDeviceEvent): void {
|
|
71
|
+
if (this.isStopped) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
this.queue.push(event);
|
|
75
|
+
this.notifyWaiters();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Stops the stream and makes the next `next()` call reject with `err`.
|
|
80
|
+
* @param err - Error to surface to the consumer
|
|
81
|
+
*/
|
|
82
|
+
fail(err: Error): void {
|
|
83
|
+
if (this.isStopped) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.failure = err;
|
|
87
|
+
this.stop();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Stops the stream. Idempotent.
|
|
92
|
+
*/
|
|
93
|
+
stop(): void {
|
|
94
|
+
if (this.isStopped) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this.isStopped = true;
|
|
98
|
+
this.signal?.removeEventListener('abort', this.onAbort);
|
|
99
|
+
this.onStop(this);
|
|
100
|
+
this.notifyWaiters();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Resolves with the next buffered event, waiting for one if necessary. Concurrent calls are
|
|
105
|
+
* each resolved in turn.
|
|
106
|
+
* @returns The next event, or `done` once the stream has stopped and drained
|
|
107
|
+
* @throws The error passed to {@link fail}, once all buffered events have been delivered
|
|
108
|
+
*/
|
|
109
|
+
async next(): Promise<IteratorResult<UsbmuxDeviceEvent>> {
|
|
110
|
+
while (this.queue.length === 0 && !this.isStopped) {
|
|
111
|
+
await new Promise<void>((resolve) => {
|
|
112
|
+
this.waiters.push(resolve);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
const event = this.queue.shift();
|
|
116
|
+
if (event) {
|
|
117
|
+
return {done: false, value: event};
|
|
118
|
+
}
|
|
119
|
+
if (this.failure) {
|
|
120
|
+
const err = this.failure;
|
|
121
|
+
this.failure = null;
|
|
122
|
+
throw err;
|
|
123
|
+
}
|
|
124
|
+
return {done: true, value: undefined};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Stops the stream and discards buffered events. Called by `break`/`return` in `for await`.
|
|
129
|
+
* @returns A `done` iterator result
|
|
130
|
+
*/
|
|
131
|
+
async return(): Promise<IteratorResult<UsbmuxDeviceEvent>> {
|
|
132
|
+
this.stop();
|
|
133
|
+
this.queue.length = 0;
|
|
134
|
+
this.failure = null;
|
|
135
|
+
return {done: true, value: undefined};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* @returns This stream, which is its own iterator
|
|
140
|
+
*/
|
|
141
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<UsbmuxDeviceEvent> {
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
private notifyWaiters(): void {
|
|
146
|
+
for (const wake of this.waiters.splice(0)) {
|
|
147
|
+
wake();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
package/src/lib/usbmux/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {parsePlist} from '../plist/index.js';
|
|
|
10
10
|
import type {PlistDictionary} from '../types.js';
|
|
11
11
|
import {type DecodedUsbmux, UsbmuxDecoder} from '../usbmux/usbmux-decoder.js';
|
|
12
12
|
import {UsbmuxEncoder} from '../usbmux/usbmux-encoder.js';
|
|
13
|
+
import {type UsbmuxDeviceEvent, UsbmuxDeviceEventStream} from './device-event-stream.js';
|
|
13
14
|
import {prioritizeUsbOverNetworkForDuplicateUdids} from './utils.js';
|
|
14
15
|
|
|
15
16
|
/**
|
|
@@ -34,6 +35,8 @@ export interface Device {
|
|
|
34
35
|
Properties: DeviceProperties;
|
|
35
36
|
}
|
|
36
37
|
|
|
38
|
+
export type {UsbmuxAttachEvent, UsbmuxDetachEvent, UsbmuxDeviceEvent} from './device-event-stream.js';
|
|
39
|
+
|
|
37
40
|
const log = getLogger('Usbmux');
|
|
38
41
|
|
|
39
42
|
export const USBMUXD_PORT = 27015;
|
|
@@ -62,6 +65,15 @@ export interface SocketOptions {
|
|
|
62
65
|
timeout?: number;
|
|
63
66
|
}
|
|
64
67
|
|
|
68
|
+
/**
|
|
69
|
+
* The decoder only casts the parsed plist, so its root is not guaranteed to be a dictionary.
|
|
70
|
+
*/
|
|
71
|
+
function asPlistDictionary(value: unknown): PlistDictionary | null {
|
|
72
|
+
return value && typeof value === 'object' && !Array.isArray(value) && !Buffer.isBuffer(value)
|
|
73
|
+
? (value as PlistDictionary)
|
|
74
|
+
: null;
|
|
75
|
+
}
|
|
76
|
+
|
|
65
77
|
/**
|
|
66
78
|
* usbmux class for communicating with usbmuxd
|
|
67
79
|
*/
|
|
@@ -70,6 +82,8 @@ export class Usbmux extends BaseSocketService {
|
|
|
70
82
|
private readonly _encoder: UsbmuxEncoder;
|
|
71
83
|
private _tag: number;
|
|
72
84
|
private readonly _responseCallbacks: Record<number, (data: DecodedUsbmux) => void>;
|
|
85
|
+
private readonly _eventStreams = new Set<UsbmuxDeviceEventStream>();
|
|
86
|
+
private _closePromise: Promise<void> | null = null;
|
|
73
87
|
|
|
74
88
|
/**
|
|
75
89
|
* Creates a new usbmux instance
|
|
@@ -91,6 +105,11 @@ export class Usbmux extends BaseSocketService {
|
|
|
91
105
|
this._tag = 0;
|
|
92
106
|
this._responseCallbacks = {};
|
|
93
107
|
this._decoder.on('data', this._handleData.bind(this));
|
|
108
|
+
// Unless close() already stopped them, surface a dropped connection (e.g. usbmuxd restarting)
|
|
109
|
+
// to listen() consumers instead of leaving them waiting forever
|
|
110
|
+
this._socketClient.on('close', () => {
|
|
111
|
+
this._forEachEventStream((stream) => stream.fail(new Error('usbmuxd connection closed')));
|
|
112
|
+
});
|
|
94
113
|
|
|
95
114
|
this.on('error', (err: Error) => {
|
|
96
115
|
log.error(`Usbmux socket error: ${err.message}`);
|
|
@@ -196,6 +215,61 @@ export class Usbmux extends BaseSocketService {
|
|
|
196
215
|
return devices.find((device) => device.Properties.SerialNumber.toLowerCase() === udid.toLowerCase());
|
|
197
216
|
}
|
|
198
217
|
|
|
218
|
+
/**
|
|
219
|
+
* Subscribes to usbmuxd's `Listen` notifications, yielding one event per device
|
|
220
|
+
* attach/detach for as long as this connection stays open. usbmuxd immediately reports
|
|
221
|
+
* every already-connected device as an attach event once the request is acknowledged.
|
|
222
|
+
*
|
|
223
|
+
* usbmuxd has no way to unsubscribe, so listening takes over the connection: only one
|
|
224
|
+
* listen() is allowed per connection, and the connection is closed once iteration stops
|
|
225
|
+
* (`break`, `return`, an aborted `signal`, or calling {@link close}). If the connection drops
|
|
226
|
+
* (e.g. usbmuxd restarts), iteration rejects after delivering any already-received events,
|
|
227
|
+
* so the caller can resubscribe on a new connection.
|
|
228
|
+
*
|
|
229
|
+
* @param opts.signal - When aborted, ends the iteration
|
|
230
|
+
* @returns Async iterable of attach/detach events
|
|
231
|
+
* @throws If the connection is already closed or already has an active listen()
|
|
232
|
+
*/
|
|
233
|
+
listen(opts: {signal?: AbortSignal} = {}): AsyncIterableIterator<UsbmuxDeviceEvent> {
|
|
234
|
+
if (this._closePromise || this._socketClient.destroyed || this._socketClient.writableEnded) {
|
|
235
|
+
throw new Error('Cannot listen on a closed usbmuxd connection');
|
|
236
|
+
}
|
|
237
|
+
if (this._eventStreams.size > 0) {
|
|
238
|
+
throw new Error('listen() is already active on this usbmuxd connection; use a separate connection');
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
const tag = this._tag++;
|
|
242
|
+
const stream = new UsbmuxDeviceEventStream((s) => {
|
|
243
|
+
delete this._responseCallbacks[tag];
|
|
244
|
+
this._eventStreams.delete(s);
|
|
245
|
+
this._closeAfterListen();
|
|
246
|
+
}, opts.signal);
|
|
247
|
+
if (stream.stopped) {
|
|
248
|
+
this._closeAfterListen();
|
|
249
|
+
return stream;
|
|
250
|
+
}
|
|
251
|
+
this._eventStreams.add(stream);
|
|
252
|
+
|
|
253
|
+
this._responseCallbacks[tag] = (data) => {
|
|
254
|
+
delete this._responseCallbacks[tag];
|
|
255
|
+
const payload = asPlistDictionary(data.payload);
|
|
256
|
+
if (payload?.MessageType !== 'Result' || payload.Number !== USBMUX_RESULT.OK) {
|
|
257
|
+
stream.fail(new Error(`Listen request failed: ${JSON.stringify(data.payload)}`));
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
this._sendPlist({
|
|
262
|
+
tag,
|
|
263
|
+
payload: {
|
|
264
|
+
MessageType: 'Listen',
|
|
265
|
+
ProgName: PROG_NAME,
|
|
266
|
+
ClientVersionString: CLIENT_VERSION_STRING,
|
|
267
|
+
},
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
return stream;
|
|
271
|
+
}
|
|
272
|
+
|
|
199
273
|
/**
|
|
200
274
|
* Connects to a certain port on the device
|
|
201
275
|
* @param deviceID - Device ID
|
|
@@ -253,6 +327,15 @@ export class Usbmux extends BaseSocketService {
|
|
|
253
327
|
* @returns Promise that resolves when the socket is closed.
|
|
254
328
|
*/
|
|
255
329
|
close(): Promise<void> {
|
|
330
|
+
// Memoized: a stopping listen() stream also closes the connection, and ending the socket
|
|
331
|
+
// twice would fail the second caller
|
|
332
|
+
this._closePromise ??= this._closeSocket();
|
|
333
|
+
return this._closePromise;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
private _closeSocket(): Promise<void> {
|
|
337
|
+
this._forEachEventStream((stream) => stream.stop());
|
|
338
|
+
|
|
256
339
|
return new Promise((resolve, reject) => {
|
|
257
340
|
// If the socket is still open, end it gracefully.
|
|
258
341
|
if (!this._socketClient.destroyed) {
|
|
@@ -283,6 +366,43 @@ export class Usbmux extends BaseSocketService {
|
|
|
283
366
|
const handler = this._responseCallbacks[data.header.tag];
|
|
284
367
|
if (handler) {
|
|
285
368
|
handler(data);
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
// Listen notifications arrive unsolicited with tag 0, not the Listen request's tag, so only
|
|
373
|
+
// frames no pending request is waiting for are treated as such. (Before the plist parser fix
|
|
374
|
+
// in v5.14.5, a ListDevices reply also exposed its entries' MessageType 'Attached' at the top
|
|
375
|
+
// level; checking pending requests first keeps replies from ever being mistaken for events.)
|
|
376
|
+
const payload = asPlistDictionary(data.payload);
|
|
377
|
+
if (payload?.MessageType === 'Attached' || payload?.MessageType === 'Detached') {
|
|
378
|
+
const event: UsbmuxDeviceEvent =
|
|
379
|
+
payload.MessageType === 'Attached'
|
|
380
|
+
? {type: 'attach', device: payload as unknown as Device}
|
|
381
|
+
: {type: 'detach', deviceId: payload.DeviceID as number};
|
|
382
|
+
this._forEachEventStream((stream) => stream.push(event));
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* Closes the connection once a listen() stream stops, since usbmuxd cannot unsubscribe it.
|
|
388
|
+
* Runs in the background, so a failure is logged rather than thrown.
|
|
389
|
+
* @private
|
|
390
|
+
*/
|
|
391
|
+
private _closeAfterListen(): void {
|
|
392
|
+
this.close().catch((err: Error) => {
|
|
393
|
+
log.warn(`Failed to close usbmux connection after listen() stopped: ${err.message}`);
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
/**
|
|
398
|
+
* Runs `fn` for every active listen() stream. Iterates over a snapshot, since stopping a
|
|
399
|
+
* stream removes it from the set.
|
|
400
|
+
* @param fn - Callback invoked with each stream
|
|
401
|
+
* @private
|
|
402
|
+
*/
|
|
403
|
+
private _forEachEventStream(fn: (stream: UsbmuxDeviceEventStream) => void): void {
|
|
404
|
+
for (const stream of [...this._eventStreams]) {
|
|
405
|
+
fn(stream);
|
|
286
406
|
}
|
|
287
407
|
}
|
|
288
408
|
|
package/src/services.ts
CHANGED
|
@@ -9,6 +9,7 @@ import AfcService from './services/ios/afc/index.js';
|
|
|
9
9
|
import {AmfiService} from './services/ios/amfi/index.js';
|
|
10
10
|
import {AppService} from './services/ios/app-service/index.js';
|
|
11
11
|
import {type Service} from './services/ios/base-service.js';
|
|
12
|
+
import {CompanionProxyService} from './services/ios/companion-proxy/index.js';
|
|
12
13
|
import {ConfigurationService} from './services/ios/configuration/index.js';
|
|
13
14
|
import {CrashReportsService} from './services/ios/crash-reports/index.js';
|
|
14
15
|
import {DeviceControlService} from './services/ios/device-control/index.js';
|
|
@@ -55,6 +56,14 @@ export async function startDiagnosticsService(udid: string): Promise<Diagnostics
|
|
|
55
56
|
return new DiagnosticsService(udid);
|
|
56
57
|
}
|
|
57
58
|
|
|
59
|
+
/**
|
|
60
|
+
* Start the companion proxy service for the given device UDID.
|
|
61
|
+
*/
|
|
62
|
+
export async function startCompanionProxyService(udid: string): Promise<CompanionProxyService> {
|
|
63
|
+
await requireCatalogService(udid, CompanionProxyService.RSD_SERVICE_NAME);
|
|
64
|
+
return new CompanionProxyService(udid);
|
|
65
|
+
}
|
|
66
|
+
|
|
58
67
|
/**
|
|
59
68
|
* Start the notification proxy service for the given device UDID.
|
|
60
69
|
*/
|