appium-ios-remotexpc 5.0.0 → 5.0.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/src/services/ios/diagnostic-service/index.d.ts.map +1 -1
- package/build/src/services/ios/diagnostic-service/index.js +23 -13
- package/build/src/services/ios/diagnostic-service/index.js.map +1 -1
- package/package.json +1 -1
- package/src/services/ios/diagnostic-service/index.ts +25 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [5.0.1](https://github.com/appium/appium-ios-remotexpc/compare/v5.0.0...v5.0.1) (2026-06-17)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **diagnostics:** ensure connection closure after querying IORegistry ([#239](https://github.com/appium/appium-ios-remotexpc/issues/239)) ([8d3b5b5](https://github.com/appium/appium-ios-remotexpc/commit/8d3b5b5b7f77c57211a0c180988df0e2b144ac1e))
|
|
6
|
+
|
|
1
7
|
## [5.0.0](https://github.com/appium/appium-ios-remotexpc/compare/v4.0.0...v5.0.0) (2026-06-15)
|
|
2
8
|
|
|
3
9
|
### ⚠ BREAKING CHANGES
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/diagnostic-service/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,IAAI,2BAA2B,EACjD,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;GAKG;AACH,cAAM,kBACJ,SAAQ,WACR,YAAW,2BAA2B;IAEtC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,oDACmB;IAEnD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAazC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAa1C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAavC;;;;OAIG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/diagnostic-service/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,IAAI,2BAA2B,EACjD,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;GAKG;AACH,cAAM,kBACJ,SAAQ,WACR,YAAW,2BAA2B;IAEtC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,oDACmB;IAEnD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAazC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAa1C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAavC;;;;OAIG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YA0CtC,0BAA0B;YAa1B,WAAW;IAwBzB,OAAO,CAAC,yBAAyB;IA0CjC;;;;OAIG;YACW,eAAe;IAkB7B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAU1B;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -82,13 +82,18 @@ class DiagnosticsService extends BaseService {
|
|
|
82
82
|
const timeout = options?.timeout || 3000;
|
|
83
83
|
log.debug('Sending IORegistry request...');
|
|
84
84
|
const conn = await this.connectToDiagnosticService();
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
try {
|
|
86
|
+
const response = await this.queryIORegistry(conn, request, timeout);
|
|
87
|
+
if (options?.returnRawJson) {
|
|
88
|
+
// The query matched no entry when the device replies with a bare
|
|
89
|
+
// { Status: 'Success' } and no Diagnostics — surface an empty object.
|
|
90
|
+
return this.extractIORegistry(response) ?? {};
|
|
91
|
+
}
|
|
92
|
+
return this.processIORegistryResponse(response);
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
conn.close();
|
|
90
96
|
}
|
|
91
|
-
return this.processIORegistryResponse(response);
|
|
92
97
|
}
|
|
93
98
|
catch (error) {
|
|
94
99
|
log.error(`Error querying IORegistry: ${error}`);
|
|
@@ -105,15 +110,20 @@ class DiagnosticsService extends BaseService {
|
|
|
105
110
|
}
|
|
106
111
|
async sendRequest(request, timeout) {
|
|
107
112
|
const conn = await this.connectToDiagnosticService();
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
113
|
+
try {
|
|
114
|
+
const response = await conn.sendPlistRequest(request, timeout);
|
|
115
|
+
log.debug(`${request.Request} response received`);
|
|
116
|
+
if (!response) {
|
|
117
|
+
return {};
|
|
118
|
+
}
|
|
119
|
+
if (Array.isArray(response)) {
|
|
120
|
+
return response.length > 0 ? response[0] : {};
|
|
121
|
+
}
|
|
122
|
+
return response;
|
|
112
123
|
}
|
|
113
|
-
|
|
114
|
-
|
|
124
|
+
finally {
|
|
125
|
+
conn.close();
|
|
115
126
|
}
|
|
116
|
-
return response;
|
|
117
127
|
}
|
|
118
128
|
processIORegistryResponse(response) {
|
|
119
129
|
if (PlistServiceDecoder.lastDecodedResult) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/diagnostic-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAM1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,GAAG,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,kBACJ,SAAQ,WAAW;IAGnB,MAAM,CAAU,gBAAgB,GAC9B,gDAAgD,CAAC;IAEnD;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,OAAO,GAAoB;gBAC/B,OAAO,EAAE,SAAS;aACnB,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC;YACH,MAAM,OAAO,GAAoB;gBAC/B,OAAO,EAAE,UAAU;aACpB,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,OAAO,GAAoB;gBAC/B,OAAO,EAAE,OAAO;aACjB,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,OAMhB;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAoB;gBAC/B,OAAO,EAAE,YAAY;aACtB,CAAC;YAEF,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;YACvC,CAAC;YACD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YACnC,CAAC;YACD,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;YACvC,CAAC;YAED,mBAAmB,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAE7C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;YAEzC,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/diagnostic-service/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -109,15 +109,19 @@ class DiagnosticsService
|
|
|
109
109
|
log.debug('Sending IORegistry request...');
|
|
110
110
|
|
|
111
111
|
const conn = await this.connectToDiagnosticService();
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
112
|
+
try {
|
|
113
|
+
const response = await this.queryIORegistry(conn, request, timeout);
|
|
114
|
+
|
|
115
|
+
if (options?.returnRawJson) {
|
|
116
|
+
// The query matched no entry when the device replies with a bare
|
|
117
|
+
// { Status: 'Success' } and no Diagnostics — surface an empty object.
|
|
118
|
+
return this.extractIORegistry(response) ?? {};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return this.processIORegistryResponse(response);
|
|
122
|
+
} finally {
|
|
123
|
+
conn.close();
|
|
118
124
|
}
|
|
119
|
-
|
|
120
|
-
return this.processIORegistryResponse(response);
|
|
121
125
|
} catch (error) {
|
|
122
126
|
log.error(`Error querying IORegistry: ${error}`);
|
|
123
127
|
throw error;
|
|
@@ -142,19 +146,23 @@ class DiagnosticsService
|
|
|
142
146
|
timeout?: number,
|
|
143
147
|
): Promise<PlistDictionary> {
|
|
144
148
|
const conn = await this.connectToDiagnosticService();
|
|
145
|
-
|
|
149
|
+
try {
|
|
150
|
+
const response = await conn.sendPlistRequest(request, timeout);
|
|
146
151
|
|
|
147
|
-
|
|
152
|
+
log.debug(`${request.Request} response received`);
|
|
148
153
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
154
|
+
if (!response) {
|
|
155
|
+
return {};
|
|
156
|
+
}
|
|
152
157
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
158
|
+
if (Array.isArray(response)) {
|
|
159
|
+
return response.length > 0 ? (response[0] as PlistDictionary) : {};
|
|
160
|
+
}
|
|
156
161
|
|
|
157
|
-
|
|
162
|
+
return response as PlistDictionary;
|
|
163
|
+
} finally {
|
|
164
|
+
conn.close();
|
|
165
|
+
}
|
|
158
166
|
}
|
|
159
167
|
|
|
160
168
|
private processIORegistryResponse(
|