Skip to content

Commit 6268462

Browse files
ironsheepclaude
andcommitted
fix: Linux process not exiting, CR-only lines overwritten in PST terminal (v0.9.23)
- Remove duplicate window-all-closed handler that raced with serial port cleanup, leaving /dev/ttyUSB0 held open on Linux after closing windows - Add 5s safety timeout to shutdown so process exits even if port close hangs - CR now implies LF in PST mode so CR-only programs display correctly; CR+LF programs are not double-spaced - Fix devcontainer postCreateCommand to install correct leptonica package (libleptonica6 + symlink) for image-tools-mcp on Debian Trixie Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 3b3cd17 commit 6268462

6 files changed

Lines changed: 43 additions & 128 deletions

File tree

.devcontainer/devcontainer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
"dockerComposeFile": ["docker-compose.yml", "docker-compose.override.yml"],
55
"service": "dev",
66
"workspaceFolder": "/workspaces/PNut-Term-TS",
7+
"remoteUser": "node",
78
"initializeCommand": "test -f .devcontainer/docker-compose.override.yml || echo 'services: {}' > .devcontainer/docker-compose.override.yml",
8-
"postCreateCommand": "sudo apt-get update && sudo apt-get install -y liblept5 libtesseract5 || true; sudo mkdir -p /Users/stephen && sudo ln -sfn /opt/container-tools /Users/stephen/container-tools; npm install && if [ -f .devcontainer/install-claude-local.sh ]; then bash .devcontainer/install-claude-local.sh; fi",
9+
"postCreateCommand": "sudo apt-get update && sudo apt-get install -y libleptonica6 libtesseract5 && LEPLIB=$(find /lib -name 'libleptonica.so.*' -not -name '*.so.*.*' | head -1) && sudo ln -sf \"$LEPLIB\" \"$(dirname $LEPLIB)/liblept.so.5\" && sudo ldconfig || true; sudo mkdir -p /Users/stephen && sudo ln -sfn /opt/container-tools /Users/stephen/container-tools; npm install && if [ -f .devcontainer/install-claude-local.sh ]; then bash .devcontainer/install-claude-local.sh; fi",
910
"customizations": {
1011
"vscode": {
1112
"extensions": [

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ All notable changes to PNut-Term-TS will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.9.23] - 2026-03-09
9+
10+
### Fixed
11+
12+
- **Application process not exiting on Fedora Linux** - Closing all windows left the Electron process running invisibly in the background, holding the serial port open and requiring `kill -9` to free it for the next session
13+
- Removed a duplicate `window-all-closed` handler that raced with serial port cleanup, calling `app.quit()` before the port was properly closed
14+
- Added a 5-second safety timeout so the process exits even if serial port cleanup hangs
15+
- **CR-only line endings overwrite lines in PST terminal** - Programs written for Parallax Serial Terminal that terminate lines with CR only (no LF) had every line overwritten in place, because CR was treated as carriage return without line feed
16+
- CR now implies LF in PST mode, matching Parallax Serial Terminal behavior; programs sending CR+LF are not double-spaced
17+
818
## [0.9.22] - 2026-03-06
919

1020
### Fixed

0 commit comments

Comments
 (0)