@command-center/command-center 0.8.2 → 0.8.3-rc.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.
@@ -161,8 +161,36 @@ function resolveBinary() {
161
161
  // #######################################
162
162
 
163
163
  function spawnBinary(binaryPath, argv) {
164
+ // WORKAROUND_BUN_SIGTSTP ym-han 2026.04.02
165
+ // Bun compiled binaries get randomly stopped (SIGTTIN/SIGTTOU) when run
166
+ // under interactive bash with job control. This is a known Bun bug
167
+ // (https://github.com/oven-sh/bun/issues/17500) with an unmerged fix
168
+ // (https://github.com/oven-sh/bun/pull/27216).
169
+ //
170
+ // On Linux, we spawn with `detached: true` so Node calls setsid(), giving
171
+ // the binary its own session. Without a controlling terminal, the kernel
172
+ // cannot send SIGTTIN/SIGTTOU. The binary still inherits stdio fds, so
173
+ // terminal I/O works — it just isn't subject to bash's job control.
174
+ // We forward SIGINT/SIGTERM manually since the binary is no longer in
175
+ // the terminal's foreground process group.
176
+ //
177
+ // Remove this workaround once the Bun fix is released.
178
+ const isLinux = process.platform === "linux";
179
+
164
180
  return new Promise((resolve) => {
165
- const child = spawn(binaryPath, argv, { stdio: "inherit" });
181
+ const child = spawn(binaryPath, argv, {
182
+ stdio: "inherit",
183
+ detached: isLinux,
184
+ });
185
+
186
+ if (isLinux) {
187
+ const forward = (sig) => {
188
+ if (!child.killed) child.kill(sig);
189
+ };
190
+ process.on("SIGINT", () => forward("SIGINT"));
191
+ process.on("SIGTERM", () => forward("SIGTERM"));
192
+ process.on("SIGHUP", () => forward("SIGHUP"));
193
+ }
166
194
 
167
195
  child.on("error", (error) => {
168
196
  resolve({ code: null, signal: null, error });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@command-center/command-center",
3
- "version": "0.8.2",
3
+ "version": "0.8.3-rc.1",
4
4
  "type": "module",
5
5
  "description": "Binary distribution of UpToSpeed Command Center",
6
6
  "bin": {
@@ -23,12 +23,12 @@
23
23
  "access": "public"
24
24
  },
25
25
  "optionalDependencies": {
26
- "@command-center/command-center-linux-arm64": "0.8.2",
27
- "@command-center/command-center-linux-x64": "0.8.2",
28
- "@command-center/command-center-macos-arm64": "0.8.2",
29
- "@command-center/command-center-macos-x64": "0.8.2",
30
- "@command-center/command-center-win-arm64": "0.8.2",
31
- "@command-center/command-center-win-x64": "0.8.2"
26
+ "@command-center/command-center-linux-arm64": "0.8.3-rc.1",
27
+ "@command-center/command-center-linux-x64": "0.8.3-rc.1",
28
+ "@command-center/command-center-macos-arm64": "0.8.3-rc.1",
29
+ "@command-center/command-center-macos-x64": "0.8.3-rc.1",
30
+ "@command-center/command-center-win-arm64": "0.8.3-rc.1",
31
+ "@command-center/command-center-win-x64": "0.8.3-rc.1"
32
32
  },
33
33
  "scripts": {}
34
34
  }