appium-xcuitest-driver 11.4.0 → 11.4.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.
- package/CHANGELOG.md +6 -0
- package/build/lib/device/afc-client.d.ts +2 -8
- package/build/lib/device/afc-client.d.ts.map +1 -1
- package/build/lib/device/afc-client.js +43 -65
- package/build/lib/device/afc-client.js.map +1 -1
- package/lib/device/afc-client.ts +43 -67
- package/npm-shrinkwrap.json +85 -20
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [11.4.1](https://github.com/appium/appium-xcuitest-driver/compare/v11.4.0...v11.4.1) (2026-05-15)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* prevent ECONNRESET by removing redundant RSD connections in AfcClient ([#2840](https://github.com/appium/appium-xcuitest-driver/issues/2840)) ([9ce708b](https://github.com/appium/appium-xcuitest-driver/commit/9ce708b768d1a2d88fec930ac01755637590e7a2))
|
|
6
|
+
|
|
1
7
|
## [11.4.0](https://github.com/appium/appium-xcuitest-driver/compare/v11.3.1...v11.4.0) (2026-05-13)
|
|
2
8
|
|
|
3
9
|
### Features
|
|
@@ -23,7 +23,7 @@ export interface CreateForAppOptions {
|
|
|
23
23
|
*/
|
|
24
24
|
export declare class AfcClient {
|
|
25
25
|
private readonly service;
|
|
26
|
-
private readonly
|
|
26
|
+
private readonly _isRemoteXPC;
|
|
27
27
|
private constructor();
|
|
28
28
|
/**
|
|
29
29
|
* Check if this client is using RemoteXPC
|
|
@@ -55,12 +55,6 @@ export declare class AfcClient {
|
|
|
55
55
|
* @returns AFC client instance
|
|
56
56
|
*/
|
|
57
57
|
static createForApp(udid: string, bundleId: string, useRemoteXPC: boolean, options?: CreateForAppOptions): Promise<AfcClient>;
|
|
58
|
-
/**
|
|
59
|
-
* Helper to safely execute remoteXPC operations with connection cleanup
|
|
60
|
-
* @param operation - Async operation that returns an AfcClient
|
|
61
|
-
* @returns AfcClient on success, null on failure
|
|
62
|
-
*/
|
|
63
|
-
private static withRemoteXpcConnection;
|
|
64
58
|
/**
|
|
65
59
|
* Check if a path is a directory
|
|
66
60
|
*/
|
|
@@ -99,7 +93,7 @@ export declare class AfcClient {
|
|
|
99
93
|
*/
|
|
100
94
|
pull(remotePath: string, localPath: string, options?: AfcPullOptions): Promise<void>;
|
|
101
95
|
/**
|
|
102
|
-
* Close the AFC service connection
|
|
96
|
+
* Close the AFC service connection
|
|
103
97
|
*/
|
|
104
98
|
close(): Promise<void>;
|
|
105
99
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"afc-client.d.ts","sourceRoot":"","sources":["../../../lib/device/afc-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAa1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAcD;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IACpE,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"afc-client.d.ts","sourceRoot":"","sources":["../../../lib/device/afc-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAa1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAcD;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO;IAQP;;OAEG;IACH,OAAO,KAAK,WAAW,GAEtB;IAED;;OAEG;IACH,OAAO,KAAK,mBAAmB,GAE9B;IAED;;OAEG;IACH,OAAO,KAAK,mBAAmB,GAE9B;IAED;;;;;;OAMG;WACU,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAwBrF;;;;;;;;OAQG;WACU,YAAY,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC;IA0CrB;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQjD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOpD;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlD;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlD;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBpD;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhE;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpE;;;;;;;OAOG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9F;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;YACW,gBAAgB;IAW9B;;;OAGG;YACW,eAAe;IAuD7B,wEAAwE;YAC1D,qBAAqB;IAkBnC,6EAA6E;YAC/D,4BAA4B;IAkB1C;;;OAGG;IACH,OAAO,CAAC,2BAA2B;YAerB,uBAAuB;IAsCrC;;;OAGG;YACW,+BAA+B;IAqC7C;;;;;;OAMG;YACW,cAAc;IAM5B;;;;;;OAMG;YACW,cAAc;IAS5B;;OAEG;YACW,gBAAgB;CAQ/B"}
|
|
@@ -22,16 +22,16 @@ const utils_1 = require("../utils");
|
|
|
22
22
|
*/
|
|
23
23
|
class AfcClient {
|
|
24
24
|
service;
|
|
25
|
-
|
|
26
|
-
constructor(service,
|
|
25
|
+
_isRemoteXPC;
|
|
26
|
+
constructor(service, isRemoteXPC = false) {
|
|
27
27
|
this.service = service;
|
|
28
|
-
this.
|
|
28
|
+
this._isRemoteXPC = isRemoteXPC;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Check if this client is using RemoteXPC
|
|
32
32
|
*/
|
|
33
33
|
get isRemoteXPC() {
|
|
34
|
-
return
|
|
34
|
+
return this._isRemoteXPC;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* Get service as RemoteXPC AFC service
|
|
@@ -54,17 +54,20 @@ class AfcClient {
|
|
|
54
54
|
*/
|
|
55
55
|
static async createForDevice(udid, useRemoteXPC) {
|
|
56
56
|
if (useRemoteXPC) {
|
|
57
|
-
|
|
57
|
+
// Best-practice pattern (matches go-ios `defer rsd.Close()` and
|
|
58
|
+
// pymobiledevice3 single-RSD-per-session): perform exactly one RSD
|
|
59
|
+
// probe via `startAfcService`, which discovers the AFC port, closes
|
|
60
|
+
// its discovery RSD eagerly, and returns a self-contained AfcService
|
|
61
|
+
// bound to its own per-service TCP socket. Opening an extra RSD here
|
|
62
|
+
// would only race with the one inside `startAfcService` and trigger
|
|
63
|
+
// an ECONNRESET from the on-device `remoted` daemon.
|
|
64
|
+
try {
|
|
58
65
|
const Services = await (0, remotexpc_utils_1.getRemoteXPCServices)();
|
|
59
|
-
const connectionResult = await Services.createRemoteXPCConnection(udid);
|
|
60
66
|
const afcService = await Services.startAfcService(udid);
|
|
61
|
-
return
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
};
|
|
65
|
-
});
|
|
66
|
-
if (client) {
|
|
67
|
-
return client;
|
|
67
|
+
return new AfcClient(afcService, true);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
logger_1.log.error(`Failed to create AFC client via RemoteXPC: ${err.message}, falling back to appium-ios-device`);
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
const afcService = await appium_ios_device_1.services.startAfcService(udid);
|
|
@@ -83,22 +86,34 @@ class AfcClient {
|
|
|
83
86
|
const { containerType = null, skipDocumentsCheck = false } = options ?? {};
|
|
84
87
|
const isDocuments = !skipDocumentsCheck && containerType?.toLowerCase() === 'documents';
|
|
85
88
|
if (useRemoteXPC) {
|
|
86
|
-
|
|
89
|
+
// Best-practice pattern (matches go-ios `defer rsd.Close()`): one RSD
|
|
90
|
+
// probe via `startHouseArrestService`, vend the AFC service, then
|
|
91
|
+
// release the discovery RSD eagerly. The vended AfcService has its
|
|
92
|
+
// own dedicated socket so it does not need the discovery RSD to
|
|
93
|
+
// remain open. Avoids the prior pattern of overlapping RSD probes
|
|
94
|
+
// that triggered ECONNRESETs from the on-device `remoted` daemon.
|
|
95
|
+
let houseArrestRemoteXPC;
|
|
96
|
+
try {
|
|
87
97
|
const Services = await (0, remotexpc_utils_1.getRemoteXPCServices)();
|
|
88
|
-
const
|
|
89
|
-
|
|
98
|
+
const result = await Services.startHouseArrestService(udid);
|
|
99
|
+
houseArrestRemoteXPC = result.remoteXPC;
|
|
90
100
|
const afcService = isDocuments
|
|
91
|
-
? await houseArrestService.vendDocuments(bundleId)
|
|
92
|
-
: await houseArrestService.vendContainer(bundleId);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
? await result.houseArrestService.vendDocuments(bundleId)
|
|
102
|
+
: await result.houseArrestService.vendContainer(bundleId);
|
|
103
|
+
return new AfcClient(afcService, true);
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
logger_1.log.error(`Failed to create AFC client via RemoteXPC: ${err.message}, falling back to appium-ios-device`);
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
if (houseArrestRemoteXPC) {
|
|
110
|
+
try {
|
|
111
|
+
await houseArrestRemoteXPC.close();
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
// ignore cleanup errors
|
|
115
|
+
}
|
|
116
|
+
}
|
|
102
117
|
}
|
|
103
118
|
}
|
|
104
119
|
const houseArrestService = await appium_ios_device_1.services.startHouseArrestService(udid);
|
|
@@ -107,37 +122,6 @@ class AfcClient {
|
|
|
107
122
|
: await houseArrestService.vendContainer(bundleId);
|
|
108
123
|
return new AfcClient(afcService);
|
|
109
124
|
}
|
|
110
|
-
/**
|
|
111
|
-
* Helper to safely execute remoteXPC operations with connection cleanup
|
|
112
|
-
* @param operation - Async operation that returns an AfcClient
|
|
113
|
-
* @returns AfcClient on success, null on failure
|
|
114
|
-
*/
|
|
115
|
-
static async withRemoteXpcConnection(operation) {
|
|
116
|
-
let remoteXPCConnection;
|
|
117
|
-
let succeeded = false;
|
|
118
|
-
try {
|
|
119
|
-
const { service, connection } = await operation();
|
|
120
|
-
remoteXPCConnection = connection;
|
|
121
|
-
const client = new AfcClient(service, remoteXPCConnection);
|
|
122
|
-
succeeded = true;
|
|
123
|
-
return client;
|
|
124
|
-
}
|
|
125
|
-
catch (err) {
|
|
126
|
-
logger_1.log.error(`Failed to create AFC client via RemoteXPC: ${err.message}, falling back to appium-ios-device`);
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
129
|
-
finally {
|
|
130
|
-
// Only close connection if we failed (if succeeded, the client owns it)
|
|
131
|
-
if (remoteXPCConnection && !succeeded) {
|
|
132
|
-
try {
|
|
133
|
-
await remoteXPCConnection.close();
|
|
134
|
-
}
|
|
135
|
-
catch {
|
|
136
|
-
// Ignore cleanup errors
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
125
|
/**
|
|
142
126
|
* Check if a path is a directory
|
|
143
127
|
*/
|
|
@@ -259,16 +243,10 @@ class AfcClient {
|
|
|
259
243
|
}
|
|
260
244
|
}
|
|
261
245
|
/**
|
|
262
|
-
* Close the AFC service connection
|
|
246
|
+
* Close the AFC service connection
|
|
263
247
|
*/
|
|
264
248
|
async close() {
|
|
265
249
|
this.service.close();
|
|
266
|
-
if (this.remoteXPCConnection) {
|
|
267
|
-
try {
|
|
268
|
-
await this.remoteXPCConnection.close();
|
|
269
|
-
}
|
|
270
|
-
catch { }
|
|
271
|
-
}
|
|
272
250
|
}
|
|
273
251
|
/**
|
|
274
252
|
* Create a read stream for a file (internal use only).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"afc-client.js","sourceRoot":"","sources":["../../../lib/device/afc-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"afc-client.js","sourceRoot":"","sources":["../../../lib/device/afc-client.ts"],"names":[],"mappings":"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"}
|
package/lib/device/afc-client.ts
CHANGED
|
@@ -49,21 +49,21 @@ interface WalkDirPullWalkContext {
|
|
|
49
49
|
*/
|
|
50
50
|
export class AfcClient {
|
|
51
51
|
private readonly service: RemoteXPCAfcService | IOSDeviceAfcService;
|
|
52
|
-
private readonly
|
|
52
|
+
private readonly _isRemoteXPC: boolean;
|
|
53
53
|
|
|
54
54
|
private constructor(
|
|
55
55
|
service: RemoteXPCAfcService | IOSDeviceAfcService,
|
|
56
|
-
|
|
56
|
+
isRemoteXPC: boolean = false,
|
|
57
57
|
) {
|
|
58
58
|
this.service = service;
|
|
59
|
-
this.
|
|
59
|
+
this._isRemoteXPC = isRemoteXPC;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
63
|
* Check if this client is using RemoteXPC
|
|
64
64
|
*/
|
|
65
65
|
private get isRemoteXPC(): boolean {
|
|
66
|
-
return
|
|
66
|
+
return this._isRemoteXPC;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/**
|
|
@@ -89,17 +89,21 @@ export class AfcClient {
|
|
|
89
89
|
*/
|
|
90
90
|
static async createForDevice(udid: string, useRemoteXPC: boolean): Promise<AfcClient> {
|
|
91
91
|
if (useRemoteXPC) {
|
|
92
|
-
|
|
92
|
+
// Best-practice pattern (matches go-ios `defer rsd.Close()` and
|
|
93
|
+
// pymobiledevice3 single-RSD-per-session): perform exactly one RSD
|
|
94
|
+
// probe via `startAfcService`, which discovers the AFC port, closes
|
|
95
|
+
// its discovery RSD eagerly, and returns a self-contained AfcService
|
|
96
|
+
// bound to its own per-service TCP socket. Opening an extra RSD here
|
|
97
|
+
// would only race with the one inside `startAfcService` and trigger
|
|
98
|
+
// an ECONNRESET from the on-device `remoted` daemon.
|
|
99
|
+
try {
|
|
93
100
|
const Services = await getRemoteXPCServices();
|
|
94
|
-
const connectionResult = await Services.createRemoteXPCConnection(udid);
|
|
95
101
|
const afcService = await Services.startAfcService(udid);
|
|
96
|
-
return
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (client) {
|
|
102
|
-
return client;
|
|
102
|
+
return new AfcClient(afcService, true);
|
|
103
|
+
} catch (err: any) {
|
|
104
|
+
log.error(
|
|
105
|
+
`Failed to create AFC client via RemoteXPC: ${err.message}, falling back to appium-ios-device`,
|
|
106
|
+
);
|
|
103
107
|
}
|
|
104
108
|
}
|
|
105
109
|
|
|
@@ -126,23 +130,33 @@ export class AfcClient {
|
|
|
126
130
|
const isDocuments = !skipDocumentsCheck && containerType?.toLowerCase() === 'documents';
|
|
127
131
|
|
|
128
132
|
if (useRemoteXPC) {
|
|
129
|
-
|
|
133
|
+
// Best-practice pattern (matches go-ios `defer rsd.Close()`): one RSD
|
|
134
|
+
// probe via `startHouseArrestService`, vend the AFC service, then
|
|
135
|
+
// release the discovery RSD eagerly. The vended AfcService has its
|
|
136
|
+
// own dedicated socket so it does not need the discovery RSD to
|
|
137
|
+
// remain open. Avoids the prior pattern of overlapping RSD probes
|
|
138
|
+
// that triggered ECONNRESETs from the on-device `remoted` daemon.
|
|
139
|
+
let houseArrestRemoteXPC: RemoteXpcConnection | undefined;
|
|
140
|
+
try {
|
|
130
141
|
const Services = await getRemoteXPCServices();
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
await Services.startHouseArrestService(udid);
|
|
142
|
+
const result = await Services.startHouseArrestService(udid);
|
|
143
|
+
houseArrestRemoteXPC = result.remoteXPC;
|
|
134
144
|
const afcService = isDocuments
|
|
135
|
-
? await houseArrestService.vendDocuments(bundleId)
|
|
136
|
-
: await houseArrestService.vendContainer(bundleId);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
145
|
+
? await result.houseArrestService.vendDocuments(bundleId)
|
|
146
|
+
: await result.houseArrestService.vendContainer(bundleId);
|
|
147
|
+
return new AfcClient(afcService, true);
|
|
148
|
+
} catch (err: any) {
|
|
149
|
+
log.error(
|
|
150
|
+
`Failed to create AFC client via RemoteXPC: ${err.message}, falling back to appium-ios-device`,
|
|
151
|
+
);
|
|
152
|
+
} finally {
|
|
153
|
+
if (houseArrestRemoteXPC) {
|
|
154
|
+
try {
|
|
155
|
+
await houseArrestRemoteXPC.close();
|
|
156
|
+
} catch {
|
|
157
|
+
// ignore cleanup errors
|
|
158
|
+
}
|
|
159
|
+
}
|
|
146
160
|
}
|
|
147
161
|
}
|
|
148
162
|
|
|
@@ -153,39 +167,6 @@ export class AfcClient {
|
|
|
153
167
|
return new AfcClient(afcService);
|
|
154
168
|
}
|
|
155
169
|
|
|
156
|
-
/**
|
|
157
|
-
* Helper to safely execute remoteXPC operations with connection cleanup
|
|
158
|
-
* @param operation - Async operation that returns an AfcClient
|
|
159
|
-
* @returns AfcClient on success, null on failure
|
|
160
|
-
*/
|
|
161
|
-
private static async withRemoteXpcConnection<T extends RemoteXPCAfcService | IOSDeviceAfcService>(
|
|
162
|
-
operation: () => Promise<{service: T; connection: RemoteXpcConnection}>,
|
|
163
|
-
): Promise<AfcClient | null> {
|
|
164
|
-
let remoteXPCConnection: RemoteXpcConnection | undefined;
|
|
165
|
-
let succeeded = false;
|
|
166
|
-
try {
|
|
167
|
-
const {service, connection} = await operation();
|
|
168
|
-
remoteXPCConnection = connection;
|
|
169
|
-
const client = new AfcClient(service, remoteXPCConnection);
|
|
170
|
-
succeeded = true;
|
|
171
|
-
return client;
|
|
172
|
-
} catch (err: any) {
|
|
173
|
-
log.error(
|
|
174
|
-
`Failed to create AFC client via RemoteXPC: ${err.message}, falling back to appium-ios-device`,
|
|
175
|
-
);
|
|
176
|
-
return null;
|
|
177
|
-
} finally {
|
|
178
|
-
// Only close connection if we failed (if succeeded, the client owns it)
|
|
179
|
-
if (remoteXPCConnection && !succeeded) {
|
|
180
|
-
try {
|
|
181
|
-
await remoteXPCConnection.close();
|
|
182
|
-
} catch {
|
|
183
|
-
// Ignore cleanup errors
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
170
|
/**
|
|
190
171
|
* Check if a path is a directory
|
|
191
172
|
*/
|
|
@@ -316,15 +297,10 @@ export class AfcClient {
|
|
|
316
297
|
}
|
|
317
298
|
|
|
318
299
|
/**
|
|
319
|
-
* Close the AFC service connection
|
|
300
|
+
* Close the AFC service connection
|
|
320
301
|
*/
|
|
321
302
|
async close(): Promise<void> {
|
|
322
303
|
this.service.close();
|
|
323
|
-
if (this.remoteXPCConnection) {
|
|
324
|
-
try {
|
|
325
|
-
await this.remoteXPCConnection.close();
|
|
326
|
-
} catch {}
|
|
327
|
-
}
|
|
328
304
|
}
|
|
329
305
|
|
|
330
306
|
/**
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcuitest-driver",
|
|
3
|
-
"version": "11.4.
|
|
3
|
+
"version": "11.4.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-xcuitest-driver",
|
|
9
|
-
"version": "11.4.
|
|
9
|
+
"version": "11.4.1",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@appium/strongbox": "^1.0.0-rc.1",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"npm": ">=10"
|
|
66
66
|
},
|
|
67
67
|
"optionalDependencies": {
|
|
68
|
-
"appium-ios-remotexpc": "^1.1.
|
|
68
|
+
"appium-ios-remotexpc": "^1.1.10"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"appium": "^3.0.0-rc.2"
|
|
@@ -117,6 +117,17 @@
|
|
|
117
117
|
"npm": ">=10"
|
|
118
118
|
}
|
|
119
119
|
},
|
|
120
|
+
"node_modules/@appium/base-driver/node_modules/axios": {
|
|
121
|
+
"version": "1.16.0",
|
|
122
|
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz",
|
|
123
|
+
"integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==",
|
|
124
|
+
"license": "MIT",
|
|
125
|
+
"dependencies": {
|
|
126
|
+
"follow-redirects": "^1.16.0",
|
|
127
|
+
"form-data": "^4.0.5",
|
|
128
|
+
"proxy-from-env": "^2.1.0"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
120
131
|
"node_modules/@appium/base-driver/node_modules/lru-cache": {
|
|
121
132
|
"version": "11.3.5",
|
|
122
133
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz",
|
|
@@ -266,6 +277,17 @@
|
|
|
266
277
|
"npm": ">=10"
|
|
267
278
|
}
|
|
268
279
|
},
|
|
280
|
+
"node_modules/@appium/support/node_modules/axios": {
|
|
281
|
+
"version": "1.16.0",
|
|
282
|
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz",
|
|
283
|
+
"integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==",
|
|
284
|
+
"license": "MIT",
|
|
285
|
+
"dependencies": {
|
|
286
|
+
"follow-redirects": "^1.16.0",
|
|
287
|
+
"form-data": "^4.0.5",
|
|
288
|
+
"proxy-from-env": "^2.1.0"
|
|
289
|
+
}
|
|
290
|
+
},
|
|
269
291
|
"node_modules/@appium/support/node_modules/semver": {
|
|
270
292
|
"version": "7.7.4",
|
|
271
293
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
|
@@ -564,6 +586,18 @@
|
|
|
564
586
|
"node": ">= 0.6"
|
|
565
587
|
}
|
|
566
588
|
},
|
|
589
|
+
"node_modules/agent-base": {
|
|
590
|
+
"version": "6.0.2",
|
|
591
|
+
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
|
592
|
+
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
|
593
|
+
"license": "MIT",
|
|
594
|
+
"dependencies": {
|
|
595
|
+
"debug": "4"
|
|
596
|
+
},
|
|
597
|
+
"engines": {
|
|
598
|
+
"node": ">= 6.0.0"
|
|
599
|
+
}
|
|
600
|
+
},
|
|
567
601
|
"node_modules/ansi-regex": {
|
|
568
602
|
"version": "6.2.2",
|
|
569
603
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
|
@@ -608,9 +642,9 @@
|
|
|
608
642
|
}
|
|
609
643
|
},
|
|
610
644
|
"node_modules/appium-ios-remotexpc": {
|
|
611
|
-
"version": "1.1.
|
|
612
|
-
"resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-1.1.
|
|
613
|
-
"integrity": "sha512-
|
|
645
|
+
"version": "1.1.10",
|
|
646
|
+
"resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-1.1.10.tgz",
|
|
647
|
+
"integrity": "sha512-qkfJoVTsBkMfGg+yaGfZDj11nhg6pF4MORf9+FvBvs63l7DsFseRYLGk2Jp1pZevb8vBaKeeePsh7RuF23NaXg==",
|
|
614
648
|
"license": "Apache-2.0",
|
|
615
649
|
"optional": true,
|
|
616
650
|
"dependencies": {
|
|
@@ -652,9 +686,9 @@
|
|
|
652
686
|
}
|
|
653
687
|
},
|
|
654
688
|
"node_modules/appium-ios-tuntap": {
|
|
655
|
-
"version": "0.2.
|
|
656
|
-
"resolved": "https://registry.npmjs.org/appium-ios-tuntap/-/appium-ios-tuntap-0.2.
|
|
657
|
-
"integrity": "sha512-
|
|
689
|
+
"version": "0.2.5",
|
|
690
|
+
"resolved": "https://registry.npmjs.org/appium-ios-tuntap/-/appium-ios-tuntap-0.2.5.tgz",
|
|
691
|
+
"integrity": "sha512-rWk2fGKlc4CWBgB/MjSiU2Ily2gj1NJ6WLUcelp0irzwGrkoebOqTD9lmxuUCCpXhYBJMGR9CPtmlJvo+zTfRQ==",
|
|
658
692
|
"hasInstallScript": true,
|
|
659
693
|
"license": "Apache-2.0",
|
|
660
694
|
"optional": true,
|
|
@@ -876,13 +910,14 @@
|
|
|
876
910
|
"license": "MIT"
|
|
877
911
|
},
|
|
878
912
|
"node_modules/axios": {
|
|
879
|
-
"version": "1.16.
|
|
880
|
-
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.
|
|
881
|
-
"integrity": "sha512-
|
|
913
|
+
"version": "1.16.1",
|
|
914
|
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz",
|
|
915
|
+
"integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
|
|
882
916
|
"license": "MIT",
|
|
883
917
|
"dependencies": {
|
|
884
918
|
"follow-redirects": "^1.16.0",
|
|
885
919
|
"form-data": "^4.0.5",
|
|
920
|
+
"https-proxy-agent": "^5.0.1",
|
|
886
921
|
"proxy-from-env": "^2.1.0"
|
|
887
922
|
}
|
|
888
923
|
},
|
|
@@ -910,9 +945,9 @@
|
|
|
910
945
|
}
|
|
911
946
|
},
|
|
912
947
|
"node_modules/bare-events": {
|
|
913
|
-
"version": "2.8.
|
|
914
|
-
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.
|
|
915
|
-
"integrity": "sha512-
|
|
948
|
+
"version": "2.8.3",
|
|
949
|
+
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.3.tgz",
|
|
950
|
+
"integrity": "sha512-HdUm8EMQBLaJvGUdidNNbqpA1kYkwNcb+MYxkxCLAPJGQzlv9J0C24h8V65Z4c5GLd/JEALDvpFCQgpLJqc0zw==",
|
|
916
951
|
"license": "Apache-2.0",
|
|
917
952
|
"peerDependencies": {
|
|
918
953
|
"bare-abort-controller": "*"
|
|
@@ -2241,6 +2276,19 @@
|
|
|
2241
2276
|
"integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==",
|
|
2242
2277
|
"license": "MIT"
|
|
2243
2278
|
},
|
|
2279
|
+
"node_modules/https-proxy-agent": {
|
|
2280
|
+
"version": "5.0.1",
|
|
2281
|
+
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
|
2282
|
+
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
|
2283
|
+
"license": "MIT",
|
|
2284
|
+
"dependencies": {
|
|
2285
|
+
"agent-base": "6",
|
|
2286
|
+
"debug": "4"
|
|
2287
|
+
},
|
|
2288
|
+
"engines": {
|
|
2289
|
+
"node": ">= 6"
|
|
2290
|
+
}
|
|
2291
|
+
},
|
|
2244
2292
|
"node_modules/iconv-lite": {
|
|
2245
2293
|
"version": "0.7.2",
|
|
2246
2294
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
|
|
@@ -4122,17 +4170,34 @@
|
|
|
4122
4170
|
}
|
|
4123
4171
|
},
|
|
4124
4172
|
"node_modules/type-is": {
|
|
4125
|
-
"version": "2.0
|
|
4126
|
-
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.
|
|
4127
|
-
"integrity": "sha512-
|
|
4173
|
+
"version": "2.1.0",
|
|
4174
|
+
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
|
|
4175
|
+
"integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==",
|
|
4128
4176
|
"license": "MIT",
|
|
4129
4177
|
"dependencies": {
|
|
4130
|
-
"content-type": "^
|
|
4178
|
+
"content-type": "^2.0.0",
|
|
4131
4179
|
"media-typer": "^1.1.0",
|
|
4132
4180
|
"mime-types": "^3.0.0"
|
|
4133
4181
|
},
|
|
4134
4182
|
"engines": {
|
|
4135
|
-
"node": ">=
|
|
4183
|
+
"node": ">= 18"
|
|
4184
|
+
},
|
|
4185
|
+
"funding": {
|
|
4186
|
+
"type": "opencollective",
|
|
4187
|
+
"url": "https://opencollective.com/express"
|
|
4188
|
+
}
|
|
4189
|
+
},
|
|
4190
|
+
"node_modules/type-is/node_modules/content-type": {
|
|
4191
|
+
"version": "2.0.0",
|
|
4192
|
+
"resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz",
|
|
4193
|
+
"integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==",
|
|
4194
|
+
"license": "MIT",
|
|
4195
|
+
"engines": {
|
|
4196
|
+
"node": ">=18"
|
|
4197
|
+
},
|
|
4198
|
+
"funding": {
|
|
4199
|
+
"type": "opencollective",
|
|
4200
|
+
"url": "https://opencollective.com/express"
|
|
4136
4201
|
}
|
|
4137
4202
|
},
|
|
4138
4203
|
"node_modules/typescript": {
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"xcuitest",
|
|
9
9
|
"xctest"
|
|
10
10
|
],
|
|
11
|
-
"version": "11.4.
|
|
11
|
+
"version": "11.4.1",
|
|
12
12
|
"author": "Appium Contributors",
|
|
13
13
|
"license": "Apache-2.0",
|
|
14
14
|
"repository": {
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"ws": "^8.13.0"
|
|
109
109
|
},
|
|
110
110
|
"optionalDependencies": {
|
|
111
|
-
"appium-ios-remotexpc": "^1.1.
|
|
111
|
+
"appium-ios-remotexpc": "^1.1.10"
|
|
112
112
|
},
|
|
113
113
|
"scripts": {
|
|
114
114
|
"build": "tsc -b",
|