start-command 0.17.1 → 0.17.2
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 +11 -0
- package/package.json +1 -1
- package/src/bin/cli.js +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# start-command
|
|
2
2
|
|
|
3
|
+
## 0.17.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- d38a67f: fix: Use 'close' event instead of 'exit' for reliable stdout capture on macOS
|
|
8
|
+
|
|
9
|
+
The 'exit' event fires when the process terminates, but stdio streams may still have buffered data. On macOS, fast-executing commands like 'echo hi' could exit before stdout data events fired, causing no output to be displayed and no finish block shown.
|
|
10
|
+
- Changed from 'exit' to 'close' event in JavaScript for reliable output capture
|
|
11
|
+
- Updated Rust to use piped stdout/stderr with threads for real-time display and capture
|
|
12
|
+
- Added case study documentation for Issue #57 root cause analysis
|
|
13
|
+
|
|
3
14
|
## 0.17.1
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/package.json
CHANGED
package/src/bin/cli.js
CHANGED
|
@@ -640,8 +640,11 @@ function runDirect(cmd, sessionId) {
|
|
|
640
640
|
logContent += text;
|
|
641
641
|
});
|
|
642
642
|
|
|
643
|
-
// Handle process exit
|
|
644
|
-
|
|
643
|
+
// Handle process close (not 'exit' - we need to wait for all stdio to be closed)
|
|
644
|
+
// The 'close' event fires after all stdio streams have been closed, ensuring
|
|
645
|
+
// all stdout/stderr data has been received. The 'exit' event can fire before
|
|
646
|
+
// buffered data is received, causing output loss on macOS (Issue #57).
|
|
647
|
+
child.on('close', (code) => {
|
|
645
648
|
const exitCode = code || 0;
|
|
646
649
|
const endTime = getTimestamp();
|
|
647
650
|
|