@interopio/iocd-cli 1.1.2 → 2.0.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.
Files changed (49) hide show
  1. package/README.md +9 -0
  2. package/assets/mac-build/entitlements.mac.plist +3 -0
  3. package/changelog.md +31 -0
  4. package/dist/assets/mac-build/entitlements.mac.plist +3 -0
  5. package/dist/cli.js +17 -12
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/build.command.js +3 -2
  8. package/dist/commands/build.command.js.map +1 -1
  9. package/dist/commands/doctor.command.js +37 -0
  10. package/dist/commands/doctor.command.js.map +1 -0
  11. package/dist/commands/index.js +3 -1
  12. package/dist/commands/index.js.map +1 -1
  13. package/dist/schemas/iocd.cli.config.schema.json +54 -1
  14. package/dist/services/components/components.service.js +2 -1
  15. package/dist/services/components/components.service.js.map +1 -1
  16. package/dist/services/config/config.validator.js +2 -0
  17. package/dist/services/config/config.validator.js.map +1 -1
  18. package/dist/services/config/entitlements.validator.js +89 -0
  19. package/dist/services/config/entitlements.validator.js.map +1 -0
  20. package/dist/services/doctor.service.js +311 -0
  21. package/dist/services/doctor.service.js.map +1 -0
  22. package/dist/services/installer/electronForge.js +26 -38
  23. package/dist/services/installer/electronForge.js.map +1 -1
  24. package/dist/services/installer/entitlements.service.js +73 -0
  25. package/dist/services/installer/entitlements.service.js.map +1 -0
  26. package/dist/services/installer/macOS.helper.js +40 -29
  27. package/dist/services/installer/macOS.helper.js.map +1 -1
  28. package/dist/services/installer/zip-maker.js +1 -2
  29. package/dist/services/installer/zip-maker.js.map +1 -1
  30. package/dist/templates/ioconnect-desktop/README.md +9 -0
  31. package/dist/templates/ioconnect-desktop/config/forge.config.js +0 -12
  32. package/dist/templates/ioconnect-desktop/package.json +7 -7
  33. package/dist/templates/tests/.agents/skills/iocd-wdio-testing/SKILL.md +0 -1
  34. package/dist/templates/tests/.agents/skills/iocd-wdio-testing/references/authoring.md +25 -8
  35. package/dist/templates/tests/.agents/skills/iocd-wdio-testing/references/configuration.md +35 -12
  36. package/dist/templates/tests/.agents/skills/iocd-wdio-testing/references/models.md +24 -31
  37. package/dist/templates/tests/.agents/skills/iocd-wdio-testing/references/setup.md +16 -3
  38. package/dist/templates/tests/tests/.gitignore.template +1 -0
  39. package/dist/templates/tests/tests/README.md +4 -2
  40. package/dist/templates/tests/tests/tests/common/iocd.ts +60 -40
  41. package/dist/templates/tests/tests/tests/shared-contexts.spec.ts +22 -17
  42. package/dist/utils/error.handler.js +10 -4
  43. package/dist/utils/error.handler.js.map +1 -1
  44. package/dist/utils/release-metadata.js +88 -0
  45. package/dist/utils/release-metadata.js.map +1 -0
  46. package/dist/utils/version-check.js +14 -51
  47. package/dist/utils/version-check.js.map +1 -1
  48. package/package.json +40 -7
  49. package/scripts/generate-schema.js +4 -0
@@ -14,7 +14,7 @@ const logger_1 = require("../../utils/logger");
14
14
  const fs_extra_1 = __importDefault(require("fs-extra"));
15
15
  const config_service_1 = require("../config/config.service");
16
16
  const child_process_1 = require("child_process");
17
- const find_package_dir_1 = require("../../utils/find.package.dir");
17
+ const entitlements_service_1 = require("./entitlements.service");
18
18
  const logger = logger_1.Logger.getInstance("installer.macOS.helper");
19
19
  // Turn on all osx-sign logs
20
20
  // import debug from "debug";
@@ -28,25 +28,35 @@ async function signAndNotarizeMacOS() {
28
28
  async function signBinary(pathToSign) {
29
29
  logger.info("Starting code signing process on macOS...");
30
30
  const codeSignConfig = config_service_1.ConfigManager.config.mac.codeSign;
31
- switch (codeSignConfig.type) {
32
- case "off":
33
- logger.info("Code signing is disabled (type: off)");
34
- return;
35
- case "keychain":
36
- await signWithKeychain(pathToSign);
37
- break;
38
- case "certificate":
39
- await signWithCertificate(pathToSign);
40
- break;
41
- case "custom":
42
- await signWithCustomScript(pathToSign);
43
- break;
44
- default:
45
- throw new Error(`Unsupported code signing type: ${codeSignConfig.type}`);
31
+ let entitlements;
32
+ try {
33
+ switch (codeSignConfig.type) {
34
+ case "off":
35
+ logger.info("Code signing is disabled (type: off)");
36
+ return;
37
+ case "keychain":
38
+ entitlements = await (0, entitlements_service_1.prepareMacEntitlements)(codeSignConfig.entitlements);
39
+ await signWithKeychain(pathToSign, entitlements.path);
40
+ break;
41
+ case "certificate":
42
+ entitlements = await (0, entitlements_service_1.prepareMacEntitlements)(codeSignConfig.entitlements);
43
+ await signWithCertificate(pathToSign, entitlements.path);
44
+ break;
45
+ case "custom":
46
+ await signWithCustomScript(pathToSign);
47
+ break;
48
+ default:
49
+ throw new Error(`Unsupported code signing type: ${codeSignConfig.type}`);
50
+ }
51
+ }
52
+ finally {
53
+ if (entitlements) {
54
+ await (0, entitlements_service_1.cleanupMacEntitlements)(entitlements);
55
+ }
46
56
  }
47
57
  logger.info("Code signing completed successfully!");
48
58
  }
49
- async function signWithKeychain(pathToSign) {
59
+ async function signWithKeychain(pathToSign, entitlementsPath) {
50
60
  logger.debug("Signing with keychain...");
51
61
  const codeSignConfig = config_service_1.ConfigManager.config.mac.codeSign;
52
62
  const codeSignaturePath = (0, path_1.join)(path_2.PathUtils.getIOCDDir(), "_CodeSignature");
@@ -97,11 +107,6 @@ async function signWithKeychain(pathToSign) {
97
107
  ".asar",
98
108
  ".DS_Store", // do not sign app.asar
99
109
  ];
100
- const entitlementsPath = (0, find_package_dir_1.getCliAssetPath)("mac-build/entitlements.mac.plist");
101
- if (!(0, fs_1.existsSync)(entitlementsPath)) {
102
- logger.error(`Entitlements file not found at path: ${entitlementsPath}`);
103
- throw new Error(`Entitlements file not found at path: ${entitlementsPath}`);
104
- }
105
110
  let config = {
106
111
  app: pathToSign,
107
112
  entitlements: entitlementsPath,
@@ -119,6 +124,11 @@ async function signWithKeychain(pathToSign) {
119
124
  }; // Add identity if specified
120
125
  if (codeSignConfig.identity) {
121
126
  config.identity = codeSignConfig.identity;
127
+ if (codeSignConfig.identity === "-") {
128
+ // Apple's explicit ad-hoc identity needs no keychain lookup or timestamp.
129
+ config.identityValidation = false;
130
+ config.timestamp = "none";
131
+ }
122
132
  logger.debug(`Using code signing identity: ${codeSignConfig.identity}`);
123
133
  } // Add keychain if specified
124
134
  if (codeSignConfig.keychain) {
@@ -154,9 +164,15 @@ async function signWithKeychain(pathToSign) {
154
164
  logger.debug("No provisioning profile found at:", provisionProfilePath);
155
165
  }
156
166
  logger.debug(`Signing with config`, config);
157
- await (0, osx_sign_1.sign)(config);
167
+ try {
168
+ await (0, osx_sign_1.sign)(config);
169
+ }
170
+ catch (error) {
171
+ logger.error("Keychain signing failed:", error);
172
+ throw error;
173
+ }
158
174
  }
159
- async function signWithCertificate(pathToSign) {
175
+ async function signWithCertificate(pathToSign, entitlementsPath) {
160
176
  logger.debug("Signing with certificate file...");
161
177
  const codeSignConfig = config_service_1.ConfigManager.config.mac.codeSign;
162
178
  if (!codeSignConfig.certificatePath) {
@@ -249,11 +265,6 @@ async function signWithCertificate(pathToSign) {
249
265
  fs_extra_1.default.removeSync(embeddedProvisionProfilePath);
250
266
  logger.debug("embedded.provisionprofile removed");
251
267
  }
252
- const entitlementsPath = (0, find_package_dir_1.getCliAssetPath)("mac-build/entitlements.mac.plist");
253
- if (!(0, fs_1.existsSync)(entitlementsPath)) {
254
- logger.error(`Entitlements file not found at path: ${entitlementsPath}`);
255
- throw new Error(`Entitlements file not found at path: ${entitlementsPath}`);
256
- }
257
268
  let config = {
258
269
  app: pathToSign,
259
270
  identity: identity,
@@ -1 +1 @@
1
- {"version":3,"file":"macOS.helper.js","sourceRoot":"","sources":["../../../src/services/installer/macOS.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"macOS.helper.js","sourceRoot":"","sources":["../../../src/services/installer/macOS.helper.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
2
  /*!
4
3
  * Adapted from @electron-forge/maker-zip 7.11.2.
5
4
  * https://github.com/electron/forge/tree/v7.11.2/packages/maker/zip
@@ -118,5 +117,5 @@ class ZipMaker extends maker_base_1.MakerBase {
118
117
  return url;
119
118
  }
120
119
  }
121
- exports.default = ZipMaker;
120
+ module.exports = ZipMaker;
122
121
  //# sourceMappingURL=zip-maker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zip-maker.js","sourceRoot":"","sources":["../../../src/services/installer/zip-maker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip-maker.js","sourceRoot":"","sources":["../../../src/services/installer/zip-maker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,2DAAqE;AACrE,uCAAqC;AACrC,+BAAyC;AACzC,+BAA6B;AAC7B,6DAAgE;AAChE,+CAA4C;AAC5C,6CAA4C;AAyB5C,MAAM,MAAM,GAAG,eAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAEvD,iFAAiF;AACjF,MAAM,QAAS,SAAQ,sBAAyB;IAC9C,IAAI,GAAG,KAAK,CAAC;IACb,gBAAgB,GAAqC;QACnD,QAAQ;QACR,KAAK;QACL,OAAO;QACP,OAAO;KACR,CAAC;IAEO,4BAA4B;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,EAClB,GAAG,EACH,OAAO,EACP,OAAO,EACP,WAAW,EACX,UAAU,EACV,cAAc,GACD;QACb,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACvD,CAAC,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,GAAG,OAAO,MAAM,CAAC;gBAChC,CAAC,CAAC,GAAG,CAAC;YACR,MAAM,OAAO,GAAG,GAAG,IAAA,eAAQ,EAAC,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,MAAM,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,IAAA,yBAAY,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAEpC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;gBACxE,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,gBAAgB,CACzB,YAAY,EACZ,OAAO,EACP,OAAO,EACP,WAAW,CAAC,OAAO,CACpB,CAAC;gBACF,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,KAAK,YAAY,wBAAQ;gBAAE,MAAM,KAAK,CAAC;YAC3C,MAAM,IAAI,wBAAQ,CAAC,wCAAwC,EAAE;gBAC3D,IAAI,EAAE,yBAAS,CAAC,WAAW;gBAC3B,KAAK,EAAE,YAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpE,WAAW,EAAE;oBACX,2EAA2E;iBAC5E;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,YAAoB,EACpB,OAAe,EACf,OAAe,EACf,OAAe;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;YACxC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,QAAQ,GAAgB,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAgB,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,wBAAQ,CAChB,kDAAkD,QAAQ,CAAC,MAAM,IAAI,EACrE;oBACE,IAAI,EAAE,yBAAS,CAAC,aAAa;oBAC7B,WAAW,EAAE;wBACX,6EAA6E;qBAC9E;iBACF,CACF,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC;QACD,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAClD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CACvC,CAAC;QACF,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC;QAClC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,OAAO;YACP,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG,OAAO,KAAK,OAAO,EAAE;gBAC9B,OAAO;gBACP,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAClC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;gBACxC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAA,oBAAS,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAyB,CAAC,CAAC;QAC3D,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QAChE,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAID,iBAAS,QAAQ,CAAC"}
@@ -2,6 +2,15 @@
2
2
 
3
3
  > A seed project for developing and building io.Connect Desktop based products
4
4
 
5
+ ### Requirements and Upgrades
6
+
7
+ Requires Node.js 22.13.0 or later and npm 9 or later. Packaging uses Electron
8
+ Forge 8. Existing seed projects upgrading from Forge 7 must update
9
+ `@electron-forge/core` and their installed Forge makers and publishers to
10
+ `^8.0.1` together with the CLI, then run `npm install` and commit the updated
11
+ `package-lock.json`. See the [seed-project documentation](https://docs.interop.io/desktop/developers/seed-project/index.html#building_for_production)
12
+ for build configuration.
13
+
5
14
  ### Resources
6
15
 
7
16
  - 📚 [Documentation](https://docs.interop.io/desktop/developers/seed-project/index.html)
@@ -1,6 +1,4 @@
1
1
  // forge.config.js
2
- const path = require('path');
3
-
4
2
  module.exports = {
5
3
  makers: [
6
4
  {
@@ -18,16 +16,6 @@ module.exports = {
18
16
  ],
19
17
  // DO NOT REMOVE - keep these hooks
20
18
  hooks: {
21
- async postMake(_config, makeResults) {
22
- // we need to store the make results after the first publish call. We need the make results to sign the artifacts
23
- const fs = require('fs');
24
- const path = require('path');
25
- const out = path.resolve(__dirname, 'dist', 'makeResults.json');
26
- fs.mkdirSync(path.dirname(out), { recursive: true });
27
- fs.writeFileSync(out, JSON.stringify(makeResults, null, 2));
28
- return makeResults;
29
- },
30
-
31
19
  readPackageJson: async (_forgeConfig, packageJson) => {
32
20
  // we need this so we don't need to install electron as a dev dependency; the version specified does not matter
33
21
  if (!packageJson.devDependencies.electron) {
@@ -20,15 +20,15 @@
20
20
  ],
21
21
  "license": "MIT",
22
22
  "engines": {
23
- "node": ">=22.0.0"
23
+ "node": ">=22.13.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@interopio/iocd-cli": "latest",
27
- "@electron-forge/core": "^7.9.0",
28
- "@electron-forge/maker-dmg": "^7.9.0",
29
- "@electron-forge/maker-squirrel": "^7.9.0",
30
- "@electron-forge/publisher-github": "^7.9.0",
31
- "@electron-forge/publisher-electron-release-server": "^7.9.0",
32
- "@electron-forge/publisher-s3": "^7.9.0"
27
+ "@electron-forge/core": "^8.0.1",
28
+ "@electron-forge/maker-dmg": "^8.0.1",
29
+ "@electron-forge/maker-squirrel": "^8.0.1",
30
+ "@electron-forge/publisher-github": "^8.0.1",
31
+ "@electron-forge/publisher-electron-release-server": "^8.0.1",
32
+ "@electron-forge/publisher-s3": "^8.0.1"
33
33
  }
34
34
  }
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: iocd-wdio-testing
3
3
  description: 'Set up, write, run, and debug end-to-end WebdriverIO tests for an io.Connect Desktop (IOCD) seed project with @interopio/wdio-iocd-service. Use when adding or running IOCD/seed E2E tests, or testing apps, windows, Web Groups, Workspaces, Interop, Channels, Shared Contexts, Layouts, or Notifications in a running io.Connect Desktop platform.'
4
- argument-hint: 'Describe the IOCD behavior to test, or ask to set up tests'
5
4
  ---
6
5
 
7
6
  # io.Connect Desktop WebdriverIO Testing
@@ -175,14 +175,20 @@ only when the target app permits it.
175
175
  Some renderer calls return a promise that settles only after the user answers a dialog or completes
176
176
  another UI workflow. Awaiting that promise while issuing the request blocks the test before it can
177
177
  perform the action that resolves the promise. Split the workflow into **start**, **interact**, and
178
- **collect** phases:
178
+ **collect** phases. This example uses `ModalsDialog`; verify that the installed service exports it
179
+ (see [models](./models.md)). Otherwise, implement the interaction in a local page object using the
180
+ actual dialog DOM. `config`, `requesterWindow`, and `expectedResponse` are test-owned inputs.
179
181
 
180
182
  ```ts
183
+ import { ModalsDialog } from "@interopio/wdio-iocd-service/models";
184
+
185
+ type ModalOutcome = { settled: boolean; response?: unknown; error?: string };
186
+
181
187
  // In the app-window helper: start the request and return immediately.
182
188
  await browser.execute((requestConfig) => {
183
189
  const appWindow = window as typeof window & {
184
190
  io: { modals: { dialogs: { request(config: unknown): Promise<unknown> } } };
185
- __modalOutcome?: { settled: boolean; response?: unknown; error?: string };
191
+ __modalOutcome?: ModalOutcome;
186
192
  };
187
193
 
188
194
  appWindow.__modalOutcome = { settled: false };
@@ -195,16 +201,24 @@ await browser.execute((requestConfig) => {
195
201
  });
196
202
  }, config);
197
203
 
198
- // Switch to the dialog and answer it through WebdriverIO or a service model.
204
+ // Address the dialog raised by this requester and answer it.
205
+ const dialog = ModalsDialog.forTarget(requesterWindow.id);
199
206
  await dialog.waitUntilOpen();
200
- await dialog.clickAction("confirm");
207
+ await dialog.action("confirm").click();
201
208
 
202
209
  // Switch back to the requester, wait for settlement, then collect/assert the outcome.
203
210
  await browser.switchById(requesterWindow.id);
204
211
  await browser.waitUntil(
205
- () => browser.execute(() => Boolean((window as any).__modalOutcome?.settled)),
212
+ () => browser.execute(() =>
213
+ Boolean((window as typeof window & { __modalOutcome?: ModalOutcome }).__modalOutcome?.settled)
214
+ ),
206
215
  { timeoutMsg: "Expected the modal request to settle" }
207
216
  );
217
+ const outcome = await browser.execute(() =>
218
+ (window as typeof window & { __modalOutcome?: ModalOutcome }).__modalOutcome
219
+ );
220
+ expect(outcome?.error).to.equal(undefined);
221
+ expect(outcome?.response).to.deep.equal(expectedResponse);
208
222
  ```
209
223
 
210
224
  Store both resolved and rejected outcomes, clean any app-owned request state after the test, and use
@@ -233,10 +247,13 @@ command only switches focus, it doesn't open the panel. See `notifications.spec.
233
247
  - **Wait for state, not time** — events, `browser.waitUntil`, element waits, or `waitFor`. Subscribe
234
248
  before triggering the action. For event APIs, use `waitForEvent` from `tests/tests/common/iocd.ts`:
235
249
  it filters events, times out with a useful message, and unsubscribes on success or timeout. Track
236
- its idempotent `unsubscribe` in a cleanup registry so test failure can't leak the subscription.
250
+ its idempotent `unsubscribe` in a cleanup registry so test failure cancels the pending wait and
251
+ removes its timer and subscription. Always await `result` on the success path to assert delivery.
237
252
  Don't replace an unknown readiness condition with a fixed pause.
238
- - **Isolate** — create state in `beforeEach` or the test; clean everything in `afterEach`. Catch
239
- cleanup errors only when the resource may already be gone.
253
+ - **Isolate** — register cleanup immediately after each resource is created, before the next
254
+ fallible operation. Put all cleanup in one registry so a failed unsubscribe cannot prevent apps
255
+ from stopping or contexts from being destroyed. Catch cleanup errors only when the resource may
256
+ already be gone.
240
257
  - **Don't bypass the behavior under test** — drive the first app as a user would and observe the
241
258
  outcome in the receiver, rather than invoking application business logic directly from the test.
242
259
  - **One behavior per test**; run the new spec alone while iterating.
@@ -29,7 +29,11 @@ platform the seed ships — you'd be testing something else. Behavior changes be
29
29
  `modifications/`; another *supported* configuration belongs in its own capability (below).
30
30
 
31
31
  The generated `config/system.json` registers `tests/tests/config/apps.json` as a path app store and
32
- isolates `folders.userData` to `tests/user-data` (disposable — never commit it or reuse its state).
32
+ isolates `folders.userData` to `tests/user-data`. The test package's `.gitignore` excludes this
33
+ generated profile; check older packages as described in [setup](./setup.md). It persists across
34
+ launches, including cached SSO sessions, so tests must arrange their required state. Use separate
35
+ profile directories for capabilities that require different authenticated users or independent
36
+ persistent state. Never commit the profile or include it in CI artifacts.
33
37
 
34
38
  ## Tests that need extra config
35
39
 
@@ -81,9 +85,10 @@ Rules:
81
85
  - **One launch per capability, run sequentially** (`IOCDBaseConfiguration` sets `maxInstances: 1`).
82
86
  Budget a full platform startup + shutdown for each — group specs by configuration; never add a
83
87
  capability per spec.
84
- - **`npm test -- --spec <file>` overrides capability spec patterns**, so a single-spec run executes
85
- that spec under *every* capability. Config-dependent specs must read the live config and skip when
86
- it doesn't apply (below).
88
+ - **`npm test -- --spec <file>` overrides capability spec patterns, but preserves exclusions.**
89
+ A selected spec runs under each capability that does not exclude it. In the example above, a
90
+ multi-Channel spec runs only under its variant, while a default spec also runs under the variant.
91
+ Config-dependent specs must read the live config and skip when it doesn't apply (below).
87
92
 
88
93
  ### Read the live config in a spec
89
94
 
@@ -114,8 +119,10 @@ the configuration that was actually found.
114
119
  A seed configured with an interactive login (`ssoAuth` in the system config) reports readiness only
115
120
  **after** someone signs in — without automation, `npm test` sits on the login window until the
116
121
  startup timeout and no spec runs. The service's `login` option drives that window while the
117
- platform boots. Requires `@interopio/wdio-iocd-service` 1.0.0-next.3+ (the version currently
118
- generated) and io.Connect Desktop 10.4+; older test packages must update `tests/package.json` first.
122
+ platform boots. The option was introduced in `@interopio/wdio-iocd-service` 1.0.0-next.3; the handler
123
+ API and supported platform versions vary by service release. Check the installed service's README
124
+ and `dist/services/loginOptions.d.ts` before adapting a login flow. The example below uses the
125
+ `LoginBrowser` API in 1.0.0-next.7, whose login discovery also supports platforms before 10.4.
119
126
 
120
127
  ```ts
121
128
  // tests/wdio.config.ts
@@ -125,8 +132,14 @@ services: IOCDService({
125
132
  handler: async (browser) => {
126
133
  const username = browser.$("#username");
127
134
  const password = browser.$("#password");
128
- await username.waitForExist({ timeout: 30000 });
129
- await password.waitForExist({ timeout: 30000 });
135
+ await browser.waitUntil(() => username.isExisting(), {
136
+ timeout: 30000,
137
+ timeoutMsg: "The login username field did not appear",
138
+ });
139
+ await browser.waitUntil(() => password.isExisting(), {
140
+ timeout: 30000,
141
+ timeoutMsg: "The login password field did not appear",
142
+ });
130
143
  await username.setValue(process.env.IOCD_TEST_USER!);
131
144
  await password.setValue(process.env.IOCD_TEST_PASSWORD!);
132
145
  await browser.$("button[type=submit]").click();
@@ -137,9 +150,12 @@ services: IOCDService({
137
150
 
138
151
  Rules:
139
152
 
140
- - **The handler runs before the platform is ready.** No `browser.io()`, no models — plain
141
- WebdriverIO against the login page only. The WDIO globals (`browser`, `$`, `$$`) are set while it
142
- runs, so page objects work.
153
+ - **The handler runs before the platform is ready.** No `browser.io()` or models. In next.7 it
154
+ receives `LoginBrowser`, a subset of WebdriverIO driven over CDP. Use `$`, `getUrl`, `getTitle`,
155
+ `waitUntil`, and `execute`; its elements support `setValue`, `click`, `getText`, `getValue`,
156
+ `isExisting`, and `waitUntil`. Check the installed `dist/services/loginBrowser.d.ts` for the
157
+ supported surface. WDIO globals resolve during the handler, but `$$` throws and element methods
158
+ such as `waitForExist` are unavailable. Page objects must use only the supported subset.
143
159
  - **The signed-in session belongs to the platform process**, so the apps under test are
144
160
  authenticated exactly as in production.
145
161
  - **Credentials come from env vars / CI secrets** — never from specs or config files.
@@ -155,10 +171,17 @@ Rules:
155
171
 
156
172
  ## Add an optional IO library
157
173
 
158
- 1. Add the package to `tests/package.json`.
174
+ For libraries that support the worker's Node context:
175
+
176
+ 1. Add the package to `tests/package.json` and install it in the test package.
159
177
  2. Add its module specifier to `iocd:options.ioInitOptions.libraries` in `tests/wdio.config.ts`.
160
178
  3. Use it via `browser.io()` (optional sub-APIs need `!`).
161
179
 
180
+ Renderer-scoped libraries, such as a Modals client that requires an app window, must be installed
181
+ and initialized in a real fixture or application window. Adding them to the worker's `libraries`
182
+ does not supply that window context. See [authoring](./authoring.md#worker-api-vs-app-window-apis)
183
+ for the readiness and interaction pattern.
184
+
162
185
  ## Runners
163
186
 
164
187
  `platform-wdio` is the default (specs run Node-side and drive the app remotely). `platform-window`,
@@ -1,27 +1,29 @@
1
1
  # Built-in IOCD UI Models
2
2
 
3
3
  `@interopio/wdio-iocd-service/models` exports page objects for built-in web UI owned by IOCD. Use
4
- them for Web Groups, captions, tabs, Channel Selectors, and similar platform surfaces. Use normal
5
- WebdriverIO selectors for UI owned by the client app.
4
+ available models for Web Groups, captions, tabs, Channel Selectors, dialogs, and other platform
5
+ surfaces. Use normal WebdriverIO selectors for UI owned by the client app.
6
6
 
7
- Models hide generated element IDs and DOM structure behind semantic operations such as
8
- `group.switchTo()`, `group.frames.waitForCount()`, `tab.close()`, and `waitForDisplayed()`. They also
9
- handle the WebDriver context and waits expected by the built-in surface. Prefer an available model
10
- over copying internal IOCD selectors into a spec.
7
+ ## Inspect the installed version first
11
8
 
12
- ## Current Generated Version
9
+ The generated test package requests the service's `next` tag, so its available models can change
10
+ between installations. The installed package and lockfile are the source of truth. Before choosing
11
+ or importing a model, read these files from the test package:
13
12
 
14
- The generated test package currently pins `@interopio/wdio-iocd-service@1.0.0-next.4`. Its
15
- `@interopio/wdio-iocd-service/models` subpath exports:
13
+ ```text
14
+ tests/node_modules/@interopio/wdio-iocd-service/package.json
15
+ tests/node_modules/@interopio/wdio-iocd-service/dist/models/index.d.ts
16
+ ```
16
17
 
17
- | Area | Models and types |
18
- | --- | --- |
19
- | Group and frames | `Group`, `Frame`, `WebGroupElement` |
20
- | Captions and tabs | `CaptionBar`, `Caption`, `Editor`, `MoveArea`, `TabBar`, `TabHeader`, `Tab`, `Tabs`, `PinnedTabs` |
21
- | Caption controls | `ChannelSelector`, `CloseButton`, `HtmlButtons`, `ButtonsContainer`, `StandardButton`, `StandardButtons`, `CustomButton`, `CustomButtons` |
22
- | Sizing and snapping | `SizingBorderGroup`, `SizingBorderOrientation`, `SizingBorder`, `SizingBorderType`, `ApproachingMarker`, and the `NeighborFrames` type |
18
+ Then follow the export to its declaration file for constructor arguments, methods, waits, and
19
+ window-context behavior. Check for a suitable popup or dialog model before writing handle-scanning
20
+ helpers or copying internal selectors. Do not assume that a model shown in another repository or
21
+ service version exists locally, or that a missing model in an older version is still unavailable.
23
22
 
24
- For example:
23
+ ## Web Group example
24
+
25
+ The generated Channel Selector spec demonstrates the `Group` model. After verifying its installed
26
+ signature:
25
27
 
26
28
  ```ts
27
29
  import { Group } from "@interopio/wdio-iocd-service/models";
@@ -34,19 +36,10 @@ await frame.captionBar.channelSelector.waitForDisplayed();
34
36
  await frame.captionBar.channelSelector.click();
35
37
  ```
36
38
 
37
- ## Version Rule
38
-
39
- The installed package is the source of truth. Before using a model, read:
40
-
41
- ```text
42
- tests/node_modules/@interopio/wdio-iocd-service/dist/models/index.d.ts
43
- ```
44
-
45
- Do not copy a model import from another repository or a newer service release without checking that
46
- it exists locally. Newer versions may add models such as `ChannelSelectorPopup`, `PlatformDialog`,
47
- `ModalsDialog`, or `Alert`; those names aren't exported by the version currently generated in the
48
- seed.
39
+ Models hide generated IDs and DOM structure behind semantic operations and provide the waits and
40
+ context switching supported by that version. Read their declarations before mixing model calls
41
+ with raw `browser.switchById()` or `browser.switchToWindow()` calls.
49
42
 
50
- Models reduce direct coupling to built-in markup, but remain coupled to the matching Desktop and
51
- service versions. If no suitable model is exported, prefer a stable `data-testid`, role, or other
52
- semantic selector and keep the version-sensitive selector in one local page object.
43
+ Models remain coupled to the matching Desktop and service versions. If no suitable model is
44
+ exported, prefer a stable `data-testid`, role, or other semantic selector and keep any
45
+ version-sensitive selector in one local page object.
@@ -13,9 +13,9 @@ npm test
13
13
  ```
14
14
 
15
15
  On the first run the CLI installs the nested test package's dependencies, resolves the executable
16
- from the configured `iocd` component, and passes its path to WebdriverIO via `BINARY_PATH`. If the
17
- executable isn't available yet, start the seed once with `npm run dev`, close it, then run `npm test`
18
- (the service launches and manages its own platform instance). The CLI also makes
16
+ from the configured `iocd` component, and passes its path to WebdriverIO via `BINARY_PATH`. The CLI
17
+ applies the seed's dev modifications before the service launches its own platform instance. If the
18
+ component or executable is missing, run `npm run setup` to install it. The CLI also makes
19
19
  `config/iocd.license.key` available to the test platform — keep the license out of specs, config,
20
20
  logs, and source control.
21
21
 
@@ -32,6 +32,18 @@ version. Fall back to `npx @interopio/iocd-cli@latest test setup` only when the
32
32
  on the CLI. Setup creates the test package and the agent skill, installs the test dependencies, and validates the
33
33
  setup with the TypeScript compiler. On failure it removes the files it created.
34
34
 
35
+ ## Existing test package
36
+
37
+ Check that the test package's `.gitignore` contains `user-data/`. Add that entry if it is missing;
38
+ older scaffolds did not include it. From the seed root, verify it with
39
+ `git check-ignore tests/user-data/Default/Cookies` (substitute the configured `testsDirectory`).
40
+ This path can be checked without creating or reading a cookie file. If the profile is already
41
+ tracked, an ignore rule does not untrack it: remove only that generated directory from the Git index
42
+ with `git rm -r --cached -- tests/user-data`, substituting the configured `testsDirectory` here too
43
+ and keeping its local files. For example, `testsDirectory: "quality/e2e"` requires
44
+ `git rm -r --cached -- quality/e2e/user-data`. Never include profile data in commits or CI artifacts;
45
+ it can contain authenticated sessions.
46
+
35
47
  ## Replacing an existing test package
36
48
 
37
49
  The CLI never overwrites or migrates an existing test directory. To replace one:
@@ -46,6 +58,7 @@ The CLI never overwrites or migrates an existing test directory. To replace one:
46
58
 
47
59
  ```text
48
60
  tests/ # test package (Node.js)
61
+ ├── .gitignore # excludes the generated user-data profile
49
62
  ├── package.json
50
63
  ├── tsconfig.json
51
64
  ├── wdio.config.ts # WebdriverIO + IOCDService config (platform-wdio runner)
@@ -0,0 +1 @@
1
+ user-data/
@@ -30,6 +30,7 @@ npm run typecheck
30
30
 
31
31
  - `wdio.config.ts` — WebdriverIO + `IOCDService` configuration (the `platform-wdio` runner).
32
32
  - `config/system.json` — test-only overrides applied to the test process.
33
+ - `.gitignore` — excludes the disposable `user-data/` browser profile from version control.
33
34
  - `tests/common/iocd.ts` — polling, event-waiting, and cleanup-registry helpers.
34
35
  - `tests/config/apps.json` — fixture app definitions.
35
36
  - `tests/assets/applications/` — static fixture app HTML.
@@ -75,7 +76,8 @@ platform, so group specifications by configuration rather than adding a capabili
75
76
  the variant specifications from the default capability so they don't run twice, keep the default
76
77
  capability on the configuration the seed ships, and let a configuration-dependent specification read
77
78
  `globalThis.ioCDPlatformConfig` at `describe` time to skip when it isn't running under its own
78
- capability (`npm test -- --spec` overrides the capability spec patterns).
79
+ capability (`npm test -- --spec` overrides capability spec patterns, but capability exclusions
80
+ still apply).
79
81
 
80
82
  ## Sample specifications
81
83
 
@@ -117,5 +119,5 @@ package. Use ordinary WebdriverIO selectors for UI owned by your app.
117
119
 
118
120
  ## More
119
121
 
120
- - Full guide: the **Testing** section of the io.Connect Desktop seed-project documentation.
122
+ - Full guide: [Testing in the io.Connect Desktop seed-project documentation](https://docs.interop.io/desktop/developers/seed-project/index.html#testing).
121
123
  - Coding-agent guidance: `.agents/skills/iocd-wdio-testing/` at the seed root.