Shell App
Changelog
Changelog
All notable changes to Shell App are documented here.
[Unreleased]
Added
- Documentation site integration with FlowState docs system
- Comprehensive user documentation
Changed
- Improved session sync reliability between shell server and RxDB
Fixed
- Session reconnection handling edge cases
[1.0.0] - 2026-01-22
Added
- Terminal Emulation: Full xterm.js terminal with ANSI color support, cursor handling, and bidirectional I/O
- Session Management: Create, rename, close, and delete terminal sessions
- Session Persistence: Sessions stored in RxDB for recovery and cross-device access
- Context-Aware Sessions: Associate sessions with workspace, project, milestone, and task hierarchy
- WebSocket Communication: Real-time bidirectional communication with shell server via JSON message protocol
- Multi-Session Support: Run multiple terminal sessions simultaneously with sidebar navigation
- Connection Status Display: Visual indicators for server connection status (connected, connecting, disconnected, error)
- Auto-Reconnect: Automatic reconnection with configurable backoff on connection loss
- Bottom Panel Integration: Embed terminal in FlowState's bottom panel system for use in other apps
- Electron Support: Automatic detection and integration with Electron shell server
- Plugin System: FlowState plugin registration with lazy loading and lifecycle hooks
- Keyboard Shortcuts: New terminal (
Ctrl+Shift+`), clear terminal (Ctrl+K), focus terminal (Ctrl+`) - Toolbar Items: Quick access buttons for new, split, clear, and settings
- Settings Page: Terminal configuration options at
/shell/settings - About Page: Version and build information at
/shell/about
Technical Details
- Built with xterm.js for terminal rendering
- React hooks architecture (
useShellServer,useTerminalSessions) - Adapter pattern for terminal I/O abstraction
- Integration with FlowState App Framework
- RxDB React hooks for reactive data queries
Version Format
This changelog follows Keep a Changelog format.
- Added for new features
- Changed for changes in existing functionality
- Deprecated for soon-to-be removed features
- Removed for now removed features
- Fixed for bug fixes
- Security for vulnerability fixes