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 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;YAsCtC,0BAA0B;YAa1B,WAAW;IAoBzB,OAAO,CAAC,yBAAyB;IA0CjC;;;;OAIG;YACW,eAAe;IAkB7B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAU1B;AAED,eAAe,kBAAkB,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
- const response = await this.queryIORegistry(conn, request, timeout);
86
- if (options?.returnRawJson) {
87
- // The query matched no entry when the device replies with a bare
88
- // { Status: 'Success' } and no Diagnostics surface an empty object.
89
- return this.extractIORegistry(response) ?? {};
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
- const response = await conn.sendPlistRequest(request, timeout);
109
- log.debug(`${request.Request} response received`);
110
- if (!response) {
111
- return {};
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
- if (Array.isArray(response)) {
114
- return response.length > 0 ? response[0] : {};
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":"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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-ios-remotexpc",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "main": "build/src/index.js",
5
5
  "types": "build/src/index.d.ts",
6
6
  "type": "module",
@@ -109,15 +109,19 @@ class DiagnosticsService
109
109
  log.debug('Sending IORegistry request...');
110
110
 
111
111
  const conn = await this.connectToDiagnosticService();
112
- const response = await this.queryIORegistry(conn, request, timeout);
113
-
114
- if (options?.returnRawJson) {
115
- // The query matched no entry when the device replies with a bare
116
- // { Status: 'Success' } and no Diagnostics surface an empty object.
117
- return this.extractIORegistry(response) ?? {};
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
- const response = await conn.sendPlistRequest(request, timeout);
149
+ try {
150
+ const response = await conn.sendPlistRequest(request, timeout);
146
151
 
147
- log.debug(`${request.Request} response received`);
152
+ log.debug(`${request.Request} response received`);
148
153
 
149
- if (!response) {
150
- return {};
151
- }
154
+ if (!response) {
155
+ return {};
156
+ }
152
157
 
153
- if (Array.isArray(response)) {
154
- return response.length > 0 ? (response[0] as PlistDictionary) : {};
155
- }
158
+ if (Array.isArray(response)) {
159
+ return response.length > 0 ? (response[0] as PlistDictionary) : {};
160
+ }
156
161
 
157
- return response as PlistDictionary;
162
+ return response as PlistDictionary;
163
+ } finally {
164
+ conn.close();
165
+ }
158
166
  }
159
167
 
160
168
  private processIORegistryResponse(