Go to file
hant 081903563a Fix line breaks in process output handling
Issues fixed:
- GameProcessServer.readProcessOutput() was using fgets() which could cause
  line breaks to be mishandled when reading multiple lines at once
- Changed to use fread() with 8KB buffer for non-blocking I/O
  - fread() is better for interactive programs
  - Properly handles newlines within chunks
  - Doesn't break lines unnecessarily

Frontend improvements:
- Changed sendInput() to use terminal.writeln() instead of write() + write('\n')
  - Ensures consistent line ending handling
  - Cleaner terminal output

Changes:
1. GameProcessServer.php (readProcessOutput):
   - Replaced fgets() loop with fread() loops
   - 8192-byte buffer size for optimal performance
   - Better handles non-blocking I/O streams

2. web/process.html (sendInput):
   - Use terminal.writeln() for user input display
   - More consistent with xterm.js behavior

Results:
- Line breaks now display correctly
- Output formatting preserved
- Better handling of rapid output
- No double line breaks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-07 13:35:36 +08:00
.idea Fix web state management: handleInput now returns structured data 2025-12-07 13:14:48 +08:00
bin 法术 2025-12-02 23:13:38 +08:00
src Fix line breaks in process output handling 2025-12-07 13:35:36 +08:00
test Implement Server-Sent Events (SSE) for real-time battle streaming 2025-12-07 10:50:30 +08:00
web Fix line breaks in process output handling 2025-12-07 13:35:36 +08:00
.DS_Store first 2025-12-05 09:38:15 +08:00
.gitignore 技能优化 2025-12-05 17:38:10 +08:00
box.json first 2025-12-01 18:13:15 +08:00
build-phar.php first 2025-12-01 18:13:15 +08:00
build.sh first 2025-12-01 18:13:15 +08:00
composer.json Implement WebSocket real-time communication for game 2025-12-07 12:21:30 +08:00
composer.lock Implement WebSocket real-time communication for game 2025-12-07 12:21:30 +08:00
save.json Fix line breaks in process output handling 2025-12-07 13:35:36 +08:00
start-server.sh first 2025-12-01 18:13:15 +08:00
websocket-process-server.php Implement process-forwarding WebSocket architecture 2025-12-07 13:21:23 +08:00
websocket-server.php Implement WebSocket real-time communication for game 2025-12-07 12:21:30 +08:00