docs: add version 1.1.0 and comprehensive changelog
Add version badge and detailed changelog for v1.1.0 release documenting: - HTTP polling system for terminal output - Terminal type selection (Standard Shell vs Claude Code CLI) - Debug panel improvements - Bug fixes for WebSocket closure issues - Technical details for all modified files - Security and compatibility notes Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
74
README.md
74
README.md
@@ -6,6 +6,80 @@
|
|||||||
[](https://expressjs.com/)
|
[](https://expressjs.com/)
|
||||||
[](https://www.sqlite.org/)
|
[](https://www.sqlite.org/)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
[](https://github.rommark.dev/admin/ClaudeCLI-Web)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version History
|
||||||
|
|
||||||
|
### v1.1.0 (2026-01-19)
|
||||||
|
|
||||||
|
**🚀 Major Feature: HTTP Polling for Terminal Output**
|
||||||
|
|
||||||
|
This release addresses critical WebSocket connectivity issues in nginx reverse proxy configurations by implementing a robust HTTP polling mechanism for terminal output.
|
||||||
|
|
||||||
|
#### Changes
|
||||||
|
|
||||||
|
**✨ New Features**
|
||||||
|
- **HTTP Polling System** - Terminal output now uses HTTP polling instead of WebSocket for reliable data delivery
|
||||||
|
- Server buffers PTY output in memory with automatic cleanup
|
||||||
|
- Frontend polls every 100ms for new output entries
|
||||||
|
- Monotonically increasing index for efficient data retrieval
|
||||||
|
- Automatic cleanup of old output (5 minutes retention)
|
||||||
|
|
||||||
|
**🔧 Improvements**
|
||||||
|
- **Terminal Type Selection** - Added dropdown to choose between:
|
||||||
|
- Standard Shell (bash/zsh)
|
||||||
|
- Claude Code CLI (auto-launches with `--dangerously-skip-permissions`)
|
||||||
|
- **Debug Panel** - Always-visible debug panel for troubleshooting terminal issues
|
||||||
|
- **HTTP POST Input** - Commands sent via HTTP POST to bypass WebSocket send failures
|
||||||
|
- **Terminal Resize** - HTTP-based resize endpoint for terminal dimensions
|
||||||
|
|
||||||
|
**🐛 Bug Fixes**
|
||||||
|
- Fixed WebSocket closure with code 1006 (abnormal closure) in nginx configurations
|
||||||
|
- Fixed terminal command execution failing silently
|
||||||
|
- Fixed race condition in `switchToTerminal()` method
|
||||||
|
- Removed stabilization delays that caused WebSocket issues
|
||||||
|
- Fixed terminal type selector not appearing in modal
|
||||||
|
|
||||||
|
**📝 Technical Details**
|
||||||
|
- `services/terminal-service.js`:
|
||||||
|
- Added `bufferOutput()` method for capturing PTY data
|
||||||
|
- Added `getTerminalOutput()` for HTTP polling endpoint
|
||||||
|
- Added `resizeTerminal()` for HTTP resize handling
|
||||||
|
- Maintains WebSocket compatibility for legacy support
|
||||||
|
|
||||||
|
- `server.js`:
|
||||||
|
- `GET /claude/api/terminals/:id/output` - Poll for new output
|
||||||
|
- `POST /claude/api/terminals/:id/input` - Send command input
|
||||||
|
- `POST /claude/api/terminals/:id/resize` - Resize terminal
|
||||||
|
|
||||||
|
- `public/claude-ide/terminal.js`:
|
||||||
|
- Added `startPolling()` - 100ms interval polling
|
||||||
|
- Added `stopPolling()` - Clean polling termination
|
||||||
|
- Added `sendTerminalInput()` - HTTP POST for commands
|
||||||
|
- Added `sendTerminalResize()` - HTTP POST for resize
|
||||||
|
- Removed dependency on WebSocket for output display
|
||||||
|
|
||||||
|
**🔒 Security**
|
||||||
|
- All polling endpoints require authentication
|
||||||
|
- Output buffer size limited to 10,000 entries per terminal
|
||||||
|
- Automatic cleanup prevents memory exhaustion
|
||||||
|
|
||||||
|
**⚙️ Compatibility**
|
||||||
|
- Maintains backward compatibility with WebSocket connections
|
||||||
|
- Works seamlessly with nginx reverse proxy
|
||||||
|
- No configuration changes required
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### v1.0.0 (Initial Release)
|
||||||
|
|
||||||
|
- Session management with real-time status tracking
|
||||||
|
- Project organization with smart suggestions
|
||||||
|
- WebSocket-based terminal integration
|
||||||
|
- XML tag system for file operations
|
||||||
|
- Obsidian vault integration
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user