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:
uroma
2026-01-20 16:25:47 +00:00
Unverified
parent db711d5bdf
commit 5638f7ca23
2 changed files with 90 additions and 57 deletions

View File

@@ -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

View File

@@ -6,12 +6,70 @@
[![Express](https://img.shields.io/badge/Express-4.22-blue)](https://expressjs.com/)
[![SQLite](https://img.shields.io/badge/SQLite-3.0-orange)](https://www.sqlite.org/)
[![License](https://img.shields.io/badge/License-ISC-blue)](LICENSE)
[![Version](https://img.shields.io/badge/Version-1.2.0-brightgreen)](https://github.rommark.dev/admin/ClaudeCLI-Web)
[![Version](https://img.shields.io/badge/Version-1.3.0-brightgreen)](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**