@farmslot/adapter-web 0.10.14 → 0.10.15

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
@@ -6,6 +6,10 @@ All notable changes to `@farmslot/adapter-web` are tracked here.
6
6
 
7
7
  - Active-development baseline; add user-facing changes here before release or package publication.
8
8
 
9
+ ## 0.10.15 - 2026-10-17
10
+
11
+ - Browser launch and validation read the whole process table with a 16 MB buffer instead of Node's 1 MB default. On a host with many booted simulators (over 1 MB of `ps` output), every launch failed with `spawnSync ps ENOBUFS`. This covers the profile-owner scan and the launch-tree scan.
12
+
9
13
  ## 0.10.14 - 2026-10-17
10
14
 
11
15
  - Align the worker dependency set with Send back repairs and Protocol 0.54.0.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farmslot/adapter-web",
3
- "version": "0.10.14",
3
+ "version": "0.10.15",
4
4
  "description": "Web platform adapter for Farmslot recipes: resolve and launch an isolated Chromium, own its CDP port, load unpacked extensions, and keep macOS focus.",
5
5
  "type": "commonjs",
6
6
  "exports": {
@@ -60,9 +60,12 @@ function launchTreeExists() {
60
60
  }
61
61
 
62
62
  function launchTreePids() {
63
+ // The whole process table: allow more than Node's 1 MB default, as for the
64
+ // profile scan in validation-process-ownership.cjs.
63
65
  const output = execFileSync('ps', ['-axo', 'pid=,pgid='], {
64
66
  encoding: 'utf8',
65
67
  stdio: ['ignore', 'pipe', 'ignore'],
68
+ maxBuffer: 16 * 1024 * 1024,
66
69
  });
67
70
  const pids = [];
68
71
  for (const line of output.split('\n')) {
@@ -15,9 +15,12 @@ function commandHasExactProfile(command, profile) {
15
15
  }
16
16
 
17
17
  function profileProcessPids(profile) {
18
+ // The whole process table, full command lines: past Node's 1 MB default on a
19
+ // host with many booted simulators, so allow what browser-cdp allows lsof.
18
20
  const output = execFileSync('ps', ['-ww', '-axo', 'pid=,command='], {
19
21
  encoding: 'utf8',
20
22
  stdio: ['ignore', 'pipe', 'ignore'],
23
+ maxBuffer: 16 * 1024 * 1024,
21
24
  });
22
25
  const pids = [];
23
26
  for (const line of output.split('\n')) {