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/), 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). 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 ### Added
- CLI session-based Full Stack mode for direct shell command execution - Project-based session filtering in Sessions view (respects `?project=` URL parameter)
- `executeShellCommand()` method to ClaudeService for spawning bash processes - Read-only session history browser following OpenCode desktop patterns
- `POST /claude/api/shell-command` API endpoint for terminal commands - "Continue in Chat" action to switch from Sessions view to Chat workspace
- Smart command detection to differentiate shell commands from conversational messages - "Duplicate Session" action to create new session with same working directory
- Auto-mode switching suggestions when non-shell commands are sent in Terminal mode - "Terminate Session" action for running sessions
- Real-time stdout/stderr capture with event emission - 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 ### Changed
- Replaced WebContainer-based Full Stack mode with Claude Code CLI session approach - Transformed Sessions view from command interface to read-only browser
- Simplified terminal mode architecture by removing 350KB WebContainer bundle - Removed duplicate command input from Sessions view
- Improved session filtering with path-based project matching - Sessions view now filters by current project directory
- Updated `handleWebContainerCommand()` to use CLI sessions instead of WebContainers - Session status detection now correctly identifies running vs stopped processes
- Improved session list with better visual hierarchy and styling
### Fixed ### Fixed
- Terminal creation failure in Full Stack mode ("Failed to create terminal" error) - All sessions showing as "running" regardless of actual process state
- WebContainer SharedArrayBuffer serialization errors (no longer applicable with CLI approach) - Sessions from other projects appearing in current project view
- Session filtering showing unrelated sessions in project view - "sendShellCommand is not defined" error in Full Stack mode
- Memory leaks from setInterval() calls in context-panel.js and landing.js - Duplicate command input in Sessions view causing user confusion
- XSS vulnerability in autocomplete (file names now properly escaped) - Missing HTML escaping causing potential XSS vulnerabilities
- sendMessage() undefined errors in chat-message-enhanced.js
- terminalManager reference errors (changed to window.terminalManager)
### Removed ### Technical Details
- WebContainer dependency (no longer needed for Full Stack mode) - Backend: Modified `/claude/api/claude/sessions` to accept `?project=` query parameter
- COOP/COEP header requirements (eliminated with CLI session approach) - Frontend: Added `viewSessionDetails()`, `continueSessionInChat()`, `duplicateSession()`, `terminateSession()`
- Frontend: Added `loadSessionIntoChat()` for Chat view session restoration
### Security - Frontend: Added helper functions `getRelativeTime()`, `escapeHtml()`, `sendShellCommand()`
- All shell command endpoints require authentication - Styling: Added 450+ lines of CSS for session list and detail views
- 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
[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.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.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 [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/) [![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/) [![SQLite](https://img.shields.io/badge/SQLite-3.0-orange)](https://www.sqlite.org/)
[![License](https://img.shields.io/badge/License-ISC-blue)](LICENSE) [![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 ## 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) ### v1.2.0 (2026-01-20)
**🚀 Major Feature: CLI Session-Based Full Stack Mode** **🚀 Major Feature: CLI Session-Based Full Stack Mode**