@testchimp/playwright 0.1.38 → 0.1.39

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/README.md CHANGED
@@ -106,6 +106,7 @@ Set these so the reporter can talk to TestChimp (env vars override programmatic
106
106
  | `TESTCHIMP_PROJECT_TYPE` | No | Fixture/runtime switch: `web` (default) or mobile (`ios`/`android`). Mobile mode always pushes CI JSON via `device.openUrl` (TrueCoverage). |
107
107
  | `TESTCHIMP_RUM_AUTOMATION_SET_PREFIX` | No | Override set-URL prefix (default `testchimp-rum://truecoverage/v1/set?p=` + base64url JSON). |
108
108
  | `TESTCHIMP_RUM_AUTOMATION_CLEAR_URL` | No | Override clear URL (default `testchimp-rum://truecoverage/v1/clear`). |
109
+ | `TESTCHIMP_RUM_TRANSPORT_RESYNC` | No | Mobile `screen` fixture: set to `0` to disable automatic TrueCoverage `v1/set` after likely WebSocket/mobilecli transport failures (default: enabled). |
109
110
 
110
111
  If `TESTCHIMP_API_KEY` is missing, the reporter logs a warning and disables reporting (no request is sent).
111
112
 
@@ -166,7 +167,7 @@ Retries are tracked; with `reportOnlyFinalAttempt: true` only the last attempt i
166
167
  - **Subpath**: `@testchimp/playwright/runtime` — use `installTestChimp(test)` on your runner’s `test` object (see Quick start).
167
168
  - **Web:** extends `page` to set `__TC_CI_TEST_INFO` for `@testchimp/rum-js`.
168
169
  - **Mobile:** when `TESTCHIMP_PROJECT_TYPE` is `ios`/`android`, registers hooks that call `device.openUrl` for the iOS Swift SDK and Android Kotlin SDK (same URL contract).
169
- - **Named**: `buildCiTestInfoJson`, `attachMobileRumAutomationHooks`, etc., for advanced wiring.
170
+ - **Named**: `buildCiTestInfoJson`, `attachMobileRumAutomationHooks`, `resyncTrueCoverageSetForCurrentTest`, `isLikelyMobileTransportFailure`, etc., for advanced wiring.
170
171
 
171
172
  ---
172
173
 
@@ -184,7 +185,7 @@ Retries are tracked; with `reportOnlyFinalAttempt: true` only the last attempt i
184
185
  - **RUM events not linked to tests / missing `ci_test_info` (mobile)**
185
186
  Use `export const test = installTestChimp(...)` from a fixtures barrel and import `test` from there. Set `TESTCHIMP_PROJECT_TYPE=android|ios` and handle `testchimp-rum://truecoverage/...` in the app (`TestChimpRum.handleAutomationURL` on iOS, `TestChimpRum.handleAutomationUri` on Android).
186
187
  **Android SDK:** use **testchimp-rum-android ≥ 0.1.7** (automation **`/v1/set`** on caller thread; **`/v1/flush`** drains buffered events when the runner opens that URL).
187
- **Runner:** **`@testchimp/playwright` ≥ 0.1.38** sends `set` bursts after `launchApp`, settle delay, **`afterEach` `set` + `v1/flush`** so short tests still upload RUM before the next test’s `clear`. Tune **`TESTCHIMP_RUM_AUTOMATION_POST_SET_SETTLE_MS`** (0–500, default **100** ms) on slow devices. Optional URL overrides: **`TESTCHIMP_RUM_AUTOMATION_FLUSH_URL`**. If **`device.openUrl`** wedges (mobilecli), set **`TESTCHIMP_RUM_AUTOMATION_OPEN_URL_TIMEOUT_MS`** (default **25000**, clamp **100–120000**) so hooks fail fast instead of consuming the full test timeout.
188
+ **Runner:** **`@testchimp/playwright` ≥ 0.1.39** sends `set` bursts after `launchApp`, settle delay, **`afterEach` `set` + `v1/flush`**, and **re-sends `set` after likely transport failures** on `screen` API calls (WebSocket **1006**, connection closed, etc.) so the next RUM emit can recover `ci_test_info`. Disable with **`TESTCHIMP_RUM_TRANSPORT_RESYNC=0`**. Tune **`TESTCHIMP_RUM_AUTOMATION_POST_SET_SETTLE_MS`** (0–500, default **100** ms) on slow devices. Optional URL overrides: **`TESTCHIMP_RUM_AUTOMATION_FLUSH_URL`**. If **`device.openUrl`** wedges (mobilecli), set **`TESTCHIMP_RUM_AUTOMATION_OPEN_URL_TIMEOUT_MS`** (default **25000**, clamp **100–120000**) so hooks fail fast instead of consuming the full test timeout.
188
189
 
189
190
  - **RUM events not linked to tests (web)**
190
191
  Same `installTestChimp` barrel; web uses `__TC_CI_TEST_INFO` on `page` for `@testchimp/rum-js`.
package/dist/index.d.ts CHANGED
@@ -28,7 +28,7 @@
28
28
  * Runtime (`@testchimp/playwright/runtime`): use `installTrueCoverage` or `installTestChimp` (same behavior).
29
29
  * Fixture/runtime switching: default web mode uses `page`; set `TESTCHIMP_PROJECT_TYPE=ios|android`
30
30
  * (case-insensitive) to switch runtime fixture wiring to `screen`.
31
- * Mobile TrueCoverage: `TESTCHIMP_PROJECT_TYPE=ios|android` + TestChimpRum URL handler; see README.
31
+ * Mobile TrueCoverage: `TESTCHIMP_PROJECT_TYPE=ios|android` + TestChimpRum URL handler; see README. Optional **`TESTCHIMP_RUM_TRANSPORT_RESYNC=0`** disables automatic `v1/set` after likely transport failures on mobile `screen` calls.
32
32
  * ExploreChimp: set `EXPLORECHIMP_ENABLED=true`, use `test('…', async ({ markScreenState }) => …)`; `TESTCHIMP_BATCH_INVOCATION_ID`, sources/regex envs as documented in the runtime module. Set **`TESTCHIMP_BRANCH_NAME`** (or `TESTCHIMP_BRANCH`) locally so analyze requests send `branchName` and the server can persist `branch_id`.
33
33
  * Suite batch id: the reporter writes `.testchimp-batch-invocation-id` under the Playwright project root at run start (when unset, generates a UUID) and removes it at run end so ExploreChimp fixtures and CI stay aligned.
34
34
  */
@@ -37,7 +37,8 @@ export { TestChimpApiClient } from './api-client';
37
37
  export * from './types';
38
38
  export * from './utils';
39
39
  export { buildCiTestInfoJson, buildCiTestInfoObject, type CiTestInfo, type TestInfoForCi } from './ci-test-info';
40
- export { attachMobileRumAutomationHooks, buildAutomationSetOpenUrl, getMobileRumAutomationUrls, type MobileRumAutomationUrls, } from './rum-automation-mobile';
40
+ export { attachMobileRumAutomationHooks, buildAutomationSetOpenUrl, getMobileRumAutomationUrls, isLikelyMobileTransportFailure, resyncTrueCoverageSetForCurrentTest, transportResyncDisabled, type MobileDeviceWorkerFixtures, type MobileRumAutomationUrls, } from './rum-automation-mobile';
41
+ export { attachMobileScreenTransportResync, wrapScreenForTransportResync, } from './mobile-screen-transport-resync';
41
42
  /** ExploreChimp / agents.proto JSON mirrors (camelCase). */
42
43
  export type * from './explorechimp/agents-explorechimp-json';
43
44
  export { DataSourceEnum } from './explorechimp/agents-explorechimp-json';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,4DAA4D;AAC5D,mBAAmB,yCAAyC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,mCAAmC,EACnC,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iCAAiC,EACjC,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,4DAA4D;AAC5D,mBAAmB,yCAAyC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,eAAe,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@
29
29
  * Runtime (`@testchimp/playwright/runtime`): use `installTrueCoverage` or `installTestChimp` (same behavior).
30
30
  * Fixture/runtime switching: default web mode uses `page`; set `TESTCHIMP_PROJECT_TYPE=ios|android`
31
31
  * (case-insensitive) to switch runtime fixture wiring to `screen`.
32
- * Mobile TrueCoverage: `TESTCHIMP_PROJECT_TYPE=ios|android` + TestChimpRum URL handler; see README.
32
+ * Mobile TrueCoverage: `TESTCHIMP_PROJECT_TYPE=ios|android` + TestChimpRum URL handler; see README. Optional **`TESTCHIMP_RUM_TRANSPORT_RESYNC=0`** disables automatic `v1/set` after likely transport failures on mobile `screen` calls.
33
33
  * ExploreChimp: set `EXPLORECHIMP_ENABLED=true`, use `test('…', async ({ markScreenState }) => …)`; `TESTCHIMP_BATCH_INVOCATION_ID`, sources/regex envs as documented in the runtime module. Set **`TESTCHIMP_BRANCH_NAME`** (or `TESTCHIMP_BRANCH`) locally so analyze requests send `branchName` and the server can persist `branch_id`.
34
34
  * Suite batch id: the reporter writes `.testchimp-batch-invocation-id` under the Playwright project root at run start (when unset, generates a UUID) and removes it at run end so ExploreChimp fixtures and CI stay aligned.
35
35
  */
@@ -48,7 +48,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
48
48
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
49
49
  };
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
- exports.DataSourceEnum = exports.getMobileRumAutomationUrls = exports.buildAutomationSetOpenUrl = exports.attachMobileRumAutomationHooks = exports.buildCiTestInfoObject = exports.buildCiTestInfoJson = exports.TestChimpApiClient = exports.TestChimpReporter = void 0;
51
+ exports.DataSourceEnum = exports.wrapScreenForTransportResync = exports.attachMobileScreenTransportResync = exports.transportResyncDisabled = exports.resyncTrueCoverageSetForCurrentTest = exports.isLikelyMobileTransportFailure = exports.getMobileRumAutomationUrls = exports.buildAutomationSetOpenUrl = exports.attachMobileRumAutomationHooks = exports.buildCiTestInfoObject = exports.buildCiTestInfoJson = exports.TestChimpApiClient = exports.TestChimpReporter = void 0;
52
52
  var testchimp_reporter_1 = require("./testchimp-reporter");
53
53
  Object.defineProperty(exports, "TestChimpReporter", { enumerable: true, get: function () { return testchimp_reporter_1.TestChimpReporter; } });
54
54
  var api_client_1 = require("./api-client");
@@ -62,6 +62,12 @@ var rum_automation_mobile_1 = require("./rum-automation-mobile");
62
62
  Object.defineProperty(exports, "attachMobileRumAutomationHooks", { enumerable: true, get: function () { return rum_automation_mobile_1.attachMobileRumAutomationHooks; } });
63
63
  Object.defineProperty(exports, "buildAutomationSetOpenUrl", { enumerable: true, get: function () { return rum_automation_mobile_1.buildAutomationSetOpenUrl; } });
64
64
  Object.defineProperty(exports, "getMobileRumAutomationUrls", { enumerable: true, get: function () { return rum_automation_mobile_1.getMobileRumAutomationUrls; } });
65
+ Object.defineProperty(exports, "isLikelyMobileTransportFailure", { enumerable: true, get: function () { return rum_automation_mobile_1.isLikelyMobileTransportFailure; } });
66
+ Object.defineProperty(exports, "resyncTrueCoverageSetForCurrentTest", { enumerable: true, get: function () { return rum_automation_mobile_1.resyncTrueCoverageSetForCurrentTest; } });
67
+ Object.defineProperty(exports, "transportResyncDisabled", { enumerable: true, get: function () { return rum_automation_mobile_1.transportResyncDisabled; } });
68
+ var mobile_screen_transport_resync_1 = require("./mobile-screen-transport-resync");
69
+ Object.defineProperty(exports, "attachMobileScreenTransportResync", { enumerable: true, get: function () { return mobile_screen_transport_resync_1.attachMobileScreenTransportResync; } });
70
+ Object.defineProperty(exports, "wrapScreenForTransportResync", { enumerable: true, get: function () { return mobile_screen_transport_resync_1.wrapScreenForTransportResync; } });
65
71
  var agents_explorechimp_json_1 = require("./explorechimp/agents-explorechimp-json");
66
72
  Object.defineProperty(exports, "DataSourceEnum", { enumerable: true, get: function () { return agents_explorechimp_json_1.DataSourceEnum; } });
67
73
  // Default export for Playwright reporter configuration
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;;;;;;;;;;;;;;;;AAEH,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,+CAAiH;AAAxG,mHAAA,mBAAmB,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AACnD,iEAKiC;AAJ/B,uIAAA,8BAA8B,OAAA;AAC9B,kIAAA,yBAAyB,OAAA;AACzB,mIAAA,0BAA0B,OAAA;AAK5B,oFAAyE;AAAhE,0HAAA,cAAc,OAAA;AAEvB,uDAAuD;AACvD,6DAAyD;AACzD,kBAAe,sCAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;;;;;;;;;;;;;;;;AAEH,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,+CAAiH;AAAxG,mHAAA,mBAAmB,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AACnD,iEASiC;AAR/B,uIAAA,8BAA8B,OAAA;AAC9B,kIAAA,yBAAyB,OAAA;AACzB,mIAAA,0BAA0B,OAAA;AAC1B,uIAAA,8BAA8B,OAAA;AAC9B,4IAAA,mCAAmC,OAAA;AACnC,gIAAA,uBAAuB,OAAA;AAIzB,mFAG0C;AAFxC,mJAAA,iCAAiC,OAAA;AACjC,8IAAA,4BAA4B,OAAA;AAI9B,oFAAyE;AAAhE,0HAAA,cAAc,OAAA;AAEvB,uDAAuD;AACvD,6DAAyD;AACzD,kBAAe,sCAAiB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { TestInfoForCi } from './ci-test-info';
2
+ type ScreenTransportCtx = {
3
+ device: unknown;
4
+ testInfo: TestInfoForCi;
5
+ };
6
+ /**
7
+ * Wrap a Mobilewright `screen` so async method failures that look like transport drops trigger a TrueCoverage SET resync before the error propagates.
8
+ */
9
+ export declare function wrapScreenForTransportResync(screen: unknown, ctx: ScreenTransportCtx): unknown;
10
+ /**
11
+ * Extend the test type with a `screen` fixture that proxies callable screen APIs for transport-failure resync.
12
+ */
13
+ export declare function attachMobileScreenTransportResync(testType: any): any;
14
+ export {};
15
+ //# sourceMappingURL=mobile-screen-transport-resync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile-screen-transport-resync.d.ts","sourceRoot":"","sources":["../src/mobile-screen-transport-resync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQpD,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAmCF;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAmB9F;AAED;;GAEG;AAEH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAWpE"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapScreenForTransportResync = wrapScreenForTransportResync;
4
+ exports.attachMobileScreenTransportResync = attachMobileScreenTransportResync;
5
+ const rum_automation_mobile_1 = require("./rum-automation-mobile");
6
+ function isThenable(v) {
7
+ return v != null && typeof v.then === 'function';
8
+ }
9
+ async function runWithTransportResync(fn, ctx) {
10
+ try {
11
+ return await fn();
12
+ }
13
+ catch (err) {
14
+ if (!(0, rum_automation_mobile_1.isLikelyMobileTransportFailure)(err)) {
15
+ throw err;
16
+ }
17
+ const dev = ctx.device;
18
+ if (!dev || typeof dev.openUrl !== 'function') {
19
+ throw err;
20
+ }
21
+ try {
22
+ await (0, rum_automation_mobile_1.resyncTrueCoverageSetForCurrentTest)(dev, ctx.testInfo);
23
+ // eslint-disable-next-line no-console
24
+ console.warn('[TestChimp] TrueCoverage: re-sent SET after a likely transport failure so the next RUM emit can carry ci_test_info again.');
25
+ }
26
+ catch (resyncErr) {
27
+ const m = resyncErr instanceof Error ? resyncErr.message : String(resyncErr);
28
+ // eslint-disable-next-line no-console
29
+ console.warn(`[TestChimp] TrueCoverage: SET resync failed (non-fatal): ${m}`);
30
+ }
31
+ throw err;
32
+ }
33
+ }
34
+ /**
35
+ * Wrap a Mobilewright `screen` so async method failures that look like transport drops trigger a TrueCoverage SET resync before the error propagates.
36
+ */
37
+ function wrapScreenForTransportResync(screen, ctx) {
38
+ if ((0, rum_automation_mobile_1.transportResyncDisabled)() || screen == null || typeof screen !== 'object') {
39
+ return screen;
40
+ }
41
+ return new Proxy(screen, {
42
+ get(_target, prop, receiver) {
43
+ const v = Reflect.get(screen, prop, receiver);
44
+ if (typeof v !== 'function') {
45
+ return v;
46
+ }
47
+ return (...args) => {
48
+ const out = Reflect.apply(v, screen, args);
49
+ if (isThenable(out)) {
50
+ return runWithTransportResync(() => out, ctx);
51
+ }
52
+ return out;
53
+ };
54
+ },
55
+ });
56
+ }
57
+ /**
58
+ * Extend the test type with a `screen` fixture that proxies callable screen APIs for transport-failure resync.
59
+ */
60
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
+ function attachMobileScreenTransportResync(testType) {
62
+ if ((0, rum_automation_mobile_1.transportResyncDisabled)()) {
63
+ return testType;
64
+ }
65
+ return testType.extend({
66
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
+ screen: async ({ screen, device }, use, testInfo) => {
68
+ const ctx = { device, testInfo };
69
+ await use(wrapScreenForTransportResync(screen, ctx));
70
+ },
71
+ });
72
+ }
73
+ //# sourceMappingURL=mobile-screen-transport-resync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile-screen-transport-resync.js","sourceRoot":"","sources":["../src/mobile-screen-transport-resync.ts"],"names":[],"mappings":";;AAiDA,oEAmBC;AAMD,8EAWC;AApFD,mEAKiC;AAOjC,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,CAAC,IAAI,IAAI,IAAI,OAAQ,CAAwB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAI,EAAoB,EAAE,GAAuB;IACpF,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAA,sDAA8B,EAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAyE,CAAC;QAC1F,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC9C,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAA,2DAAmC,EACvC,GAAwD,EACxD,GAAG,CAAC,QAAQ,CACb,CAAC;YACF,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,2HAA2H,CAC5H,CAAC;QACJ,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7E,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,4BAA4B,CAAC,MAAe,EAAE,GAAuB;IACnF,IAAI,IAAA,+CAAuB,GAAE,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,MAAgB,EAAE;QACjC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ;YACzB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC5B,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAiC,EAAE,MAAgB,EAAE,IAAI,CAAC,CAAC;gBACrF,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,OAAO,sBAAsB,CAAC,GAAG,EAAE,CAAC,GAAuB,EAAE,GAAG,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,8DAA8D;AAC9D,SAAgB,iCAAiC,CAAC,QAAa;IAC7D,IAAI,IAAA,+CAAuB,GAAE,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC;QACrB,8DAA8D;QAC9D,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAyC,EAAE,GAAQ,EAAE,QAAuB,EAAE,EAAE;YAC7G,MAAM,GAAG,GAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrD,MAAM,GAAG,CAAC,4BAA4B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +1,24 @@
1
+ import { type TestInfoForCi } from './ci-test-info';
1
2
  export interface MobileRumAutomationUrls {
2
3
  setUrlPrefix: string;
3
4
  clearUrl: string;
4
5
  flushUrl: string;
5
6
  }
7
+ /** Mobilewright worker fixtures used by TrueCoverage hooks (`device` absent in non-mobile projects, e.g. setup). */
8
+ export type MobileDeviceWorkerFixtures = {
9
+ device?: {
10
+ openUrl: (url: string) => Promise<void>;
11
+ launchApp?: (bundleId: string) => Promise<void>;
12
+ } | null;
13
+ bundleId?: string;
14
+ };
15
+ /** Disable automatic TrueCoverage SET after mobilecli/WebSocket transport errors (`TESTCHIMP_RUM_TRANSPORT_RESYNC=0`). */
16
+ export declare function transportResyncDisabled(): boolean;
17
+ /**
18
+ * Heuristic: mobilecli / WebSocket abnormal close or connection drop (e.g. code 1006).
19
+ * Used to re-send TrueCoverage `SET` so the next RUM emit can carry `ci_test_info` again.
20
+ */
21
+ export declare function isLikelyMobileTransportFailure(err: unknown): boolean;
6
22
  /**
7
23
  * URL prefix and clear URL for Mobilewright TrueCoverage (`device.openUrl`).
8
24
  * Optional overrides: `TESTCHIMP_RUM_AUTOMATION_SET_PREFIX`, `TESTCHIMP_RUM_AUTOMATION_CLEAR_URL`,
@@ -12,6 +28,11 @@ export declare function getMobileRumAutomationUrls(): MobileRumAutomationUrls;
12
28
  export declare function buildAutomationSetOpenUrl(setUrlPrefix: string, ciJson: string): string | {
13
29
  error: string;
14
30
  };
31
+ /**
32
+ * Re-send a single TrueCoverage `v1/set` for the current test (e.g. after a mobilecli/WebSocket transport drop)
33
+ * so the next RUM emit can attach `ci_test_info` again.
34
+ */
35
+ export declare function resyncTrueCoverageSetForCurrentTest(device: MobileDeviceWorkerFixtures['device'], testInfo: TestInfoForCi): Promise<boolean>;
15
36
  /**
16
37
  * Register `beforeEach` / `afterEach` on the given Playwright `TestType` to push CI JSON into the app via
17
38
  * `device.openUrl` (mobilecli `device.url`). Used when `TESTCHIMP_PROJECT_TYPE` is `ios`/`android`.
@@ -1 +1 @@
1
- {"version":3,"file":"rum-automation-mobile.d.ts","sourceRoot":"","sources":["../src/rum-automation-mobile.ts"],"names":[],"mappings":"AA+CA,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAaD;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAMpE;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAS1G;AAqED;;;;;;;;GAQG;AAEH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAwCjE"}
1
+ {"version":3,"file":"rum-automation-mobile.d.ts","sourceRoot":"","sources":["../src/rum-automation-mobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA+CzE,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oHAAoH;AACpH,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACjD,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,0HAA0H;AAC1H,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAepE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAMpE;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAS1G;AAqED;;;GAGG;AACH,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAC5C,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;;;;;;GAQG;AAEH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAwCjE"}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transportResyncDisabled = transportResyncDisabled;
4
+ exports.isLikelyMobileTransportFailure = isLikelyMobileTransportFailure;
3
5
  exports.getMobileRumAutomationUrls = getMobileRumAutomationUrls;
4
6
  exports.buildAutomationSetOpenUrl = buildAutomationSetOpenUrl;
7
+ exports.resyncTrueCoverageSetForCurrentTest = resyncTrueCoverageSetForCurrentTest;
5
8
  exports.attachMobileRumAutomationHooks = attachMobileRumAutomationHooks;
6
9
  const ci_test_info_1 = require("./ci-test-info");
7
10
  const DEFAULT_SET_PREFIX = 'testchimp-rum://truecoverage/v1/set?p=';
@@ -49,6 +52,32 @@ async function withTimeout(promise, ms, operation) {
49
52
  clearTimeout(timer);
50
53
  }
51
54
  }
55
+ /** Disable automatic TrueCoverage SET after mobilecli/WebSocket transport errors (`TESTCHIMP_RUM_TRANSPORT_RESYNC=0`). */
56
+ function transportResyncDisabled() {
57
+ return process.env.TESTCHIMP_RUM_TRANSPORT_RESYNC?.trim() === '0';
58
+ }
59
+ /**
60
+ * Heuristic: mobilecli / WebSocket abnormal close or connection drop (e.g. code 1006).
61
+ * Used to re-send TrueCoverage `SET` so the next RUM emit can carry `ci_test_info` again.
62
+ */
63
+ function isLikelyMobileTransportFailure(err) {
64
+ if (transportResyncDisabled())
65
+ return false;
66
+ const m = (err instanceof Error ? err.message : String(err)).toLowerCase();
67
+ if (m.length === 0)
68
+ return false;
69
+ const needles = [
70
+ '1006',
71
+ 'websocket',
72
+ 'connection closed',
73
+ 'econnreset',
74
+ 'socket hang up',
75
+ 'network connection lost',
76
+ 'rpc',
77
+ 'mobilecli',
78
+ ];
79
+ return needles.some((n) => m.includes(n));
80
+ }
52
81
  /**
53
82
  * URL prefix and clear URL for Mobilewright TrueCoverage (`device.openUrl`).
54
83
  * Optional overrides: `TESTCHIMP_RUM_AUTOMATION_SET_PREFIX`, `TESTCHIMP_RUM_AUTOMATION_CLEAR_URL`,
@@ -122,6 +151,18 @@ async function pushTrueCoverageSetForCurrentTest(device, testInfo, setUrlPrefix,
122
151
  await pushSetUrlWithPostLaunchRepeat(device, built, Math.max(1, repeatBurst));
123
152
  return true;
124
153
  }
154
+ /**
155
+ * Re-send a single TrueCoverage `v1/set` for the current test (e.g. after a mobilecli/WebSocket transport drop)
156
+ * so the next RUM emit can attach `ci_test_info` again.
157
+ */
158
+ async function resyncTrueCoverageSetForCurrentTest(device, testInfo) {
159
+ if (!device || typeof device.openUrl !== 'function') {
160
+ return false;
161
+ }
162
+ const d = device;
163
+ const { setUrlPrefix } = getMobileRumAutomationUrls();
164
+ return pushTrueCoverageSetForCurrentTest(d, testInfo, setUrlPrefix, 1);
165
+ }
125
166
  /**
126
167
  * Register `beforeEach` / `afterEach` on the given Playwright `TestType` to push CI JSON into the app via
127
168
  * `device.openUrl` (mobilecli `device.url`). Used when `TESTCHIMP_PROJECT_TYPE` is `ios`/`android`.
@@ -166,7 +207,7 @@ function attachMobileRumAutomationHooks(testType) {
166
207
  if (!device || typeof device.openUrl !== 'function') {
167
208
  return;
168
209
  }
169
- await pushTrueCoverageSetForCurrentTest(device, testInfo, setUrlPrefix, 1);
210
+ await resyncTrueCoverageSetForCurrentTest(device, testInfo);
170
211
  await openUrlAutomationWithRetries(device, flushUrl);
171
212
  });
172
213
  return testType;
@@ -1 +1 @@
1
- {"version":3,"file":"rum-automation-mobile.js","sourceRoot":"","sources":["../src/rum-automation-mobile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rum-automation-mobile.js","sourceRoot":"","sources":["../src/rum-automation-mobile.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * Side-effect `import '@testchimp/playwright/runtime'` registers on the active test runtime:
9
9
  * default `@playwright/test`, or `@mobilewright/test` when `TESTCHIMP_PROJECT_TYPE=ios|android`.
10
10
  *
11
- * Mobile TrueCoverage: when `TESTCHIMP_PROJECT_TYPE` is `ios`/`android`, hooks call `device.openUrl` to push CI JSON; integrate TestChimpRum (iOS/Android) URL handling in the app. End-of-test `v1/flush` uploads buffered RUM before the next test's `clear`.
11
+ * Mobile TrueCoverage: when `TESTCHIMP_PROJECT_TYPE` is `ios`/`android`, hooks call `device.openUrl` to push CI JSON; integrate TestChimpRum (iOS/Android) URL handling in the app. End-of-test `v1/flush` uploads buffered RUM before the next test's `clear`. When the fixture key is `screen`, the `screen` object is proxied so likely WebSocket/mobilecli transport failures trigger an extra `v1/set` resync (disable with `TESTCHIMP_RUM_TRANSPORT_RESYNC=0`).
12
12
  */
13
13
  import { isExploreChimpEnabled } from './explorechimp';
14
14
  /** Bound screen/state marker from the `markScreenState` Playwright fixture. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAGL,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAUxB,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AA4C/F;;;GAGG;AAEH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAsClD;AAED,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,4BAAsB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAGL,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAWxB,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AA4C/F;;;GAGG;AAEH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAyClD;AAED,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,4BAAsB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
package/dist/runtime.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * Side-effect `import '@testchimp/playwright/runtime'` registers on the active test runtime:
10
10
  * default `@playwright/test`, or `@mobilewright/test` when `TESTCHIMP_PROJECT_TYPE=ios|android`.
11
11
  *
12
- * Mobile TrueCoverage: when `TESTCHIMP_PROJECT_TYPE` is `ios`/`android`, hooks call `device.openUrl` to push CI JSON; integrate TestChimpRum (iOS/Android) URL handling in the app. End-of-test `v1/flush` uploads buffered RUM before the next test's `clear`.
12
+ * Mobile TrueCoverage: when `TESTCHIMP_PROJECT_TYPE` is `ios`/`android`, hooks call `device.openUrl` to push CI JSON; integrate TestChimpRum (iOS/Android) URL handling in the app. End-of-test `v1/flush` uploads buffered RUM before the next test's `clear`. When the fixture key is `screen`, the `screen` object is proxied so likely WebSocket/mobilecli transport failures trigger an extra `v1/set` resync (disable with `TESTCHIMP_RUM_TRANSPORT_RESYNC=0`).
13
13
  */
14
14
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
15
  if (k2 === undefined) k2 = k;
@@ -53,6 +53,7 @@ const ci_test_info_1 = require("./ci-test-info");
53
53
  const explorechimp_1 = require("./explorechimp");
54
54
  Object.defineProperty(exports, "isExploreChimpEnabled", { enumerable: true, get: function () { return explorechimp_1.isExploreChimpEnabled; } });
55
55
  const project_type_1 = require("./project-type");
56
+ const mobile_screen_transport_resync_1 = require("./mobile-screen-transport-resync");
56
57
  const rum_automation_mobile_1 = require("./rum-automation-mobile");
57
58
  /** Resolve test runtime module from the consumer project (web: Playwright, mobile: Mobilewright). */
58
59
  const pwRequire = (0, module_1.createRequire)(path.join(process.cwd(), 'package.json'));
@@ -136,6 +137,9 @@ function installTrueCoverage(test) {
136
137
  }
137
138
  if (mobileProject) {
138
139
  chain = (0, rum_automation_mobile_1.attachMobileRumAutomationHooks)(chain);
140
+ if (fixtureKey === 'screen') {
141
+ chain = (0, mobile_screen_transport_resync_1.attachMobileScreenTransportResync)(chain);
142
+ }
139
143
  }
140
144
  return chain;
141
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testchimp/playwright",
3
- "version": "0.1.38",
3
+ "version": "0.1.39",
4
4
  "description": "Playwright/Mobilewright reporter and runtime for TestChimp tracking and coverage reporting",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",