docs: release v1.3.0 - OpenCode-style session management
Add comprehensive v1.3.0 release notes documenting: - Project-based session filtering - Read-only session history browser - Continue in Chat integration - Enhanced session details - Bug fixes (status detection, sendShellCommand, XSS) Updated version badge to 1.3.0. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
87
CHANGELOG.md
87
CHANGELOG.md
@@ -5,70 +5,45 @@ All notable changes to ClaudeCLI-Web will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.2.0] - 2026-01-20
|
||||
## [1.3.0] - 2026-01-20
|
||||
|
||||
### Added
|
||||
- CLI session-based Full Stack mode for direct shell command execution
|
||||
- `executeShellCommand()` method to ClaudeService for spawning bash processes
|
||||
- `POST /claude/api/shell-command` API endpoint for terminal commands
|
||||
- Smart command detection to differentiate shell commands from conversational messages
|
||||
- Auto-mode switching suggestions when non-shell commands are sent in Terminal mode
|
||||
- Real-time stdout/stderr capture with event emission
|
||||
- Project-based session filtering in Sessions view (respects `?project=` URL parameter)
|
||||
- Read-only session history browser following OpenCode desktop patterns
|
||||
- "Continue in Chat" action to switch from Sessions view to Chat workspace
|
||||
- "Duplicate Session" action to create new session with same working directory
|
||||
- "Terminate Session" action for running sessions
|
||||
- Enhanced session details display (metadata, token usage, output preview)
|
||||
- Relative time display (5m ago, 2h ago, 3d ago)
|
||||
- Session list sorting by last activity (newest first)
|
||||
- Pending session detection in Chat view for seamless continuation
|
||||
- `loadSessionIntoChat()` function to restore session messages
|
||||
- `sendShellCommand()` helper function for Full Stack mode
|
||||
- Comprehensive error states (404, 500, session expired)
|
||||
- XSS prevention with HTML escaping for all dynamic content
|
||||
|
||||
### Changed
|
||||
- Replaced WebContainer-based Full Stack mode with Claude Code CLI session approach
|
||||
- Simplified terminal mode architecture by removing 350KB WebContainer bundle
|
||||
- Improved session filtering with path-based project matching
|
||||
- Updated `handleWebContainerCommand()` to use CLI sessions instead of WebContainers
|
||||
- Transformed Sessions view from command interface to read-only browser
|
||||
- Removed duplicate command input from Sessions view
|
||||
- Sessions view now filters by current project directory
|
||||
- Session status detection now correctly identifies running vs stopped processes
|
||||
- Improved session list with better visual hierarchy and styling
|
||||
|
||||
### Fixed
|
||||
- Terminal creation failure in Full Stack mode ("Failed to create terminal" error)
|
||||
- WebContainer SharedArrayBuffer serialization errors (no longer applicable with CLI approach)
|
||||
- Session filtering showing unrelated sessions in project view
|
||||
- Memory leaks from setInterval() calls in context-panel.js and landing.js
|
||||
- XSS vulnerability in autocomplete (file names now properly escaped)
|
||||
- sendMessage() undefined errors in chat-message-enhanced.js
|
||||
- terminalManager reference errors (changed to window.terminalManager)
|
||||
- All sessions showing as "running" regardless of actual process state
|
||||
- Sessions from other projects appearing in current project view
|
||||
- "sendShellCommand is not defined" error in Full Stack mode
|
||||
- Duplicate command input in Sessions view causing user confusion
|
||||
- Missing HTML escaping causing potential XSS vulnerabilities
|
||||
|
||||
### Removed
|
||||
- WebContainer dependency (no longer needed for Full Stack mode)
|
||||
- COOP/COEP header requirements (eliminated with CLI session approach)
|
||||
|
||||
### Security
|
||||
- All shell command endpoints require authentication
|
||||
- Command injection protection via bash shell spawning
|
||||
- Proper HTML escaping for dynamic content in autocomplete
|
||||
|
||||
## [1.1.0] - 2026-01-19
|
||||
|
||||
### Added
|
||||
- HTTP polling system for terminal output
|
||||
- Terminal type selection dropdown (Standard Shell vs Claude Code CLI)
|
||||
- Debug panel for terminal troubleshooting
|
||||
- HTTP POST input and resize endpoints
|
||||
- Automatic cleanup of old terminal output (5 minutes retention)
|
||||
|
||||
### Changed
|
||||
- Terminal output delivery from WebSocket to HTTP polling
|
||||
- Terminal command execution via HTTP POST instead of WebSocket
|
||||
|
||||
### Fixed
|
||||
- WebSocket closure with code 1006 in nginx configurations
|
||||
- Terminal command execution failing silently
|
||||
- Race condition in `switchToTerminal()` method
|
||||
- Terminal type selector not appearing in modal
|
||||
|
||||
## [1.0.0] - Initial Release
|
||||
|
||||
### Added
|
||||
- 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
|
||||
- File browser and editor
|
||||
- Real-time chat interface
|
||||
### Technical Details
|
||||
- Backend: Modified `/claude/api/claude/sessions` to accept `?project=` query parameter
|
||||
- Frontend: Added `viewSessionDetails()`, `continueSessionInChat()`, `duplicateSession()`, `terminateSession()`
|
||||
- Frontend: Added `loadSessionIntoChat()` for Chat view session restoration
|
||||
- Frontend: Added helper functions `getRelativeTime()`, `escapeHtml()`, `sendShellCommand()`
|
||||
- Styling: Added 450+ lines of CSS for session list and detail views
|
||||
|
||||
[1.3.0]: https://github.rommark.dev/admin/ClaudeCLI-Web/compare/v1.2.0...v1.3.0
|
||||
[1.2.0]: https://github.rommark.dev/admin/ClaudeCLI-Web/compare/v1.1.0...v1.2.0
|
||||
[1.1.0]: https://github.rommark.dev/admin/ClaudeCLI-Web/compare/v1.0.0...v1.1.0
|
||||
[1.0.0]: https://github.rommark.dev/admin/ClaudeCLI-Web/releases/tag/v1.0.0
|
||||
|
||||
60
README.md
60
README.md
@@ -6,12 +6,70 @@
|
||||
[](https://expressjs.com/)
|
||||
[](https://www.sqlite.org/)
|
||||
[](LICENSE)
|
||||
[](https://github.rommark.dev/admin/ClaudeCLI-Web)
|
||||
[](https://github.rommark.dev/admin/ClaudeCLI-Web)
|
||||
|
||||
---
|
||||
|
||||
## Version History
|
||||
|
||||
### v1.3.0 (2026-01-20)
|
||||
|
||||
**🚀 Major Feature: OpenCode-Style Session Management**
|
||||
|
||||
This release transforms the Sessions view into a clean history browser following OpenCode desktop patterns, removing duplicate UI and implementing seamless Chat view integration.
|
||||
|
||||
#### Changes
|
||||
|
||||
**✨ New Features**
|
||||
- **Project-Based Session Filtering** - Sessions view now filters by current project
|
||||
- Respects `?project=` URL parameter
|
||||
- Only shows sessions from current project directory
|
||||
- Prevents confusion from seeing unrelated sessions
|
||||
- **Read-Only Session Browser** - Transformed Sessions view from command interface to history viewer
|
||||
- Removed duplicate command input (use Chat view for active work)
|
||||
- Added "Continue in Chat" action to switch to workspace
|
||||
- Added "Duplicate" action to create new session with same working directory
|
||||
- Added "Terminate" action for running sessions
|
||||
- **Enhanced Session Details** - Comprehensive session information display
|
||||
- Session metadata (created, last activity, message count)
|
||||
- Token usage progress bar
|
||||
- Output preview (first 50 entries with scroll)
|
||||
- Clear status badges (🟢 Running vs ⏸️ Stopped/Historical)
|
||||
- **Seamless Chat Integration** - Continue sessions from Sessions view
|
||||
- Click "Continue in Chat" to switch views with session loaded
|
||||
- Pending session detection in Chat view
|
||||
- Automatic message restoration (both user and assistant)
|
||||
- Subscribe to live updates for running sessions
|
||||
|
||||
**🔧 Improvements**
|
||||
- **Relative Time Display** - Shows "5m ago", "2h ago", "3d ago" instead of timestamps
|
||||
- **Sorted Session List** - Sessions sorted by last activity (newest first)
|
||||
- **Better Empty States** - Helpful messages when no sessions exist
|
||||
- **Comprehensive Error Handling** - Clear error messages for 404, 500, etc.
|
||||
- **XSS Prevention** - All dynamic content properly escaped
|
||||
|
||||
**🐛 Bug Fixes**
|
||||
- Fixed session status showing all sessions as "running" regardless of actual state
|
||||
- Fixed sessions from other projects appearing in current project view
|
||||
- Fixed "sendShellCommand is not defined" error in Full Stack mode
|
||||
- Fixed duplicate command input in Sessions view causing confusion
|
||||
|
||||
**📝 Technical Details**
|
||||
|
||||
- Backend API: `GET /claude/api/claude/sessions?project=<path>` filters by working directory
|
||||
- Frontend: `loadSessions()` extracts project from URL and filters session list
|
||||
- Frontend: `viewSessionDetails()` shows read-only session information
|
||||
- Frontend: `continueSessionInChat()` stores pending session for Chat view pickup
|
||||
- Frontend: `loadSessionIntoChat()` restores session messages in Chat view
|
||||
- Frontend: `sendShellCommand()` helper for Full Stack mode shell commands
|
||||
|
||||
**🔒 Security**
|
||||
- All session operations require authentication
|
||||
- HTML escaping prevents XSS in session display
|
||||
- Session validation prevents unauthorized access
|
||||
|
||||
---
|
||||
|
||||
### v1.2.0 (2026-01-20)
|
||||
|
||||
**🚀 Major Feature: CLI Session-Based Full Stack Mode**
|
||||
|
||||
Reference in New Issue
Block a user