specrails-desktop 2.49.0 → 2.49.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.
@@ -195,6 +195,12 @@ hides the test / models UI of the connection card.
195
195
 
196
196
  ## Troubleshooting
197
197
 
198
+ **"Node error" the moment a local-engine turn starts (installed app).** Fixed in
199
+ 2.49.2: the packaged app could not locate its bundled runner script, so every
200
+ turn spawned Node against a missing file while the engine still appeared in the
201
+ selectors. Update the app; nothing to configure.
202
+
203
+
198
204
  - **Engine missing from selectors** — the last probe failed. Test the
199
205
  connection; probes run every 60 s and are bounded at 3 s.
200
206
  - **`401` / "not authorized" pill** — the key env var is unset in the app
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specrails-desktop",
3
- "version": "2.49.0",
3
+ "version": "2.49.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -64,6 +64,23 @@ function resolveLocalRunnerScript() {
64
64
  if (fileExists(cleaned))
65
65
  return cleaned;
66
66
  }
67
+ // Packaged layouts FIRST relative to the running sidecar: in a built app
68
+ // `__dirname` is the bundler's virtual path, so the repo-relative climb below
69
+ // only ever resolves in dev — which is exactly how a packaged Windows build
70
+ // ended up spawning node against a non-existent runner script (the mission
71
+ // offered the local engine, the turn then died with a Node error). Mirrors
72
+ // locateBundledShim()'s execDir candidates.
73
+ const execDir = path_1.default.dirname(process.execPath);
74
+ const packaged = [
75
+ path_1.default.resolve(execDir, 'binaries', 'specrails-local-runner.js'),
76
+ path_1.default.resolve(execDir, '..', 'Resources', 'binaries', 'specrails-local-runner.js'),
77
+ path_1.default.resolve(execDir, 'resources', 'binaries', 'specrails-local-runner.js'),
78
+ path_1.default.resolve(execDir, 'specrails-local-runner.js'),
79
+ ];
80
+ for (const candidate of packaged) {
81
+ if (fileExists(candidate))
82
+ return candidate;
83
+ }
67
84
  const roots = [
68
85
  path_1.default.resolve(__dirname, '..', '..'),
69
86
  path_1.default.resolve(__dirname, '..', '..', '..'),