mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-03-25 09:25:50 +00:00
Add release process note to CLAUDE.md and prepare for beta 9 release
This commit is contained in:
parent
2dc37db0bb
commit
1a1cb13c95
2 changed files with 425 additions and 0 deletions
|
|
@ -11,6 +11,9 @@ VibeTunnel is a macOS application that allows users to access their terminal ses
|
|||
|
||||
## Critical Development Rules
|
||||
|
||||
### Release Process
|
||||
When the user says "release" or asks to create a release, ALWAYS read and follow `mac/docs/release.md` for the complete release process.
|
||||
|
||||
### ABSOLUTE CARDINAL RULES - VIOLATION MEANS IMMEDIATE FAILURE
|
||||
|
||||
1. **NEVER, EVER, UNDER ANY CIRCUMSTANCES CREATE A NEW BRANCH WITHOUT EXPLICIT USER PERMISSION**
|
||||
|
|
|
|||
422
mac/CHANGELOG.md
Normal file
422
mac/CHANGELOG.md
Normal file
|
|
@ -0,0 +1,422 @@
|
|||
# Changelog
|
||||
|
||||
## [1.0.0-beta.9] - 2025-01-11
|
||||
|
||||
### 🛡️ Stability & Reliability
|
||||
|
||||
#### **Critical Crash Fix**
|
||||
- **FIXED**: Eliminated random terminal crashes by replacing Microsoft's node-pty with a custom fork that provides thread-safe operations and better resource management. This resolves critical stability issues that affected VS Code and other Electron applications.
|
||||
|
||||
#### **Server Crash Detection**
|
||||
- **NEW**: Intelligent crash detection and recovery system that automatically detects server failures and provides immediate feedback with specific error codes, dramatically reducing troubleshooting time.
|
||||
|
||||
### 📱 Mobile Experience
|
||||
|
||||
#### **Terminal Stability on Mobile**
|
||||
- **FIXED**: Resolved the continuous resize loop that made terminals unusable on mobile devices. The terminal now maintains a stable view without jumping or unexpected scrolling.
|
||||
- **IMPROVED**: Better mobile terminal width management - user preferences are now properly respected throughout the session.
|
||||
- **ENHANCED**: Support for smaller grid sizes on compact mobile devices, providing better visibility on phones.
|
||||
|
||||
#### **Mobile Keyboard Support**
|
||||
- **NEW**: Added Alt+Delete/Left/Right keyboard shortcuts specifically for mobile users, improving text editing capabilities.
|
||||
- **FIXED**: Mobile header no longer overflows when using dropdown menus, providing a cleaner interface.
|
||||
|
||||
### 🚀 Features & Improvements
|
||||
|
||||
#### **Cloudflare Integration**
|
||||
- **ENHANCED**: Significantly improved Cloudflare tunnel setup with faster, more reliable stream-based monitoring instead of polling. Setup is now smoother with better error handling.
|
||||
|
||||
#### **Git Repository Discovery**
|
||||
- **IMPROVED**: Enhanced folder selection when creating new sessions - VibeTunnel now intelligently discovers Git repositories in your selected folder, making project navigation easier.
|
||||
- **FIXED**: Several bugs in repository discovery that could cause incorrect folder detection or errors.
|
||||
|
||||
### 🎨 UI Polish
|
||||
|
||||
#### **Visual Stability**
|
||||
- **FIXED**: Terminal titles no longer jump around due to activity indicators, providing a stable and professional interface.
|
||||
- **IMPROVED**: Consolidated z-index management throughout the interface, preventing UI elements from appearing in incorrect layers.
|
||||
|
||||
### 🔧 Under the Hood
|
||||
|
||||
- Enhanced event handling for better cross-platform compatibility
|
||||
- Improved file browser functionality with better click handling
|
||||
- Updated documentation with expanded specifications and data flow diagrams
|
||||
- Various test improvements for better code quality
|
||||
|
||||
## [1.0.0-beta.8] - 2025-07-08
|
||||
|
||||
#### **Homebrew Library Dependencies**
|
||||
- **FIXED**: Release builds now correctly bundle all Homebrew library dependencies
|
||||
- **FIXED**: App launches reliably on systems without developer tools installed
|
||||
- Updated build scripts to handle dynamic library dependencies properly
|
||||
|
||||
#### **File Browser Enhancements**
|
||||
- **FIXED**: File browser going dark due to event bubbling issues with modal handling
|
||||
|
||||
## [1.0.0-beta.7] - 2025-07-08
|
||||
|
||||
### 🎯 Major Features
|
||||
|
||||
#### 🖥️ **Remote Screen Sharing (Beta) **
|
||||
- Share your Mac screen remotely through any web browser - perfect for demonstrations, pair programming, or remote support
|
||||
- Ultra-low latency using WebRTC technology with automatic quality adjustment based on network conditions
|
||||
- Privacy-focused with deferred permission requests (only asks for screen recording when you actually start sharing)
|
||||
- Automatic 4K resolution capping for 5K+ displays to prevent web interface clipping
|
||||
- Clear visual indicators when screen sharing is active
|
||||
|
||||
#### 🪄 **Magic Wand for AI Sessions**
|
||||
- Instantly inject helpful context into Claude.ai sessions with a single click
|
||||
- Automatically detects Claude browser windows and adds project information
|
||||
- Includes git repository details, current branch, and recent commit history
|
||||
- Configurable prompts to match your workflow
|
||||
- More forceful prompt injection to prevent AI from directly using the injected title
|
||||
|
||||
### 🚀 Performance & Stability Improvements
|
||||
|
||||
#### **Terminal Performance**
|
||||
- **FIXED**: Critical flow control issue that caused xterm.js buffer overflow and terminal freezing
|
||||
- **FIXED**: Infinite scroll loop in terminal output that could freeze the browser
|
||||
- **FIXED**: Race conditions in terminal output handling causing corrupted or out-of-order text
|
||||
- Improved memory management for long-running sessions
|
||||
- Better handling of high-volume terminal output
|
||||
|
||||
#### **UI Performance**
|
||||
- Removed all UI animations that were causing 1-2 second delays when reopening sessions
|
||||
- Disabled View Transitions API for instant session navigation
|
||||
- Fixed modal backdrop pointer-events issues preventing interaction
|
||||
- Smoother menu bar UI without jumping when copy icon appears
|
||||
|
||||
### 📱 Touch Device & Mobile Improvements
|
||||
|
||||
#### **iPad/Tablet Support**
|
||||
- Unified keyboard layout for all mobile devices (removed separate iPad layout)
|
||||
- Universal touch device detection for better keyboard mode handling
|
||||
- Inline-edit pencil now always visible on touch devices
|
||||
- Reorganized touch device layout with better button placement
|
||||
- Fixed touch interaction issues with modals and overlays
|
||||
|
||||
#### **Mobile Keyboard**
|
||||
- New compact keyboard layout optimized for tablets
|
||||
- Better handling of keyboard shortcuts on touch devices
|
||||
- Improved responsiveness for mobile web browsers
|
||||
|
||||
### 🐚 Shell Support Enhancements
|
||||
|
||||
#### **Fish Shell Integration**
|
||||
- Full support for Fish shell command expansion and completions
|
||||
- Proper handling of Fish-specific syntax and features
|
||||
- Fixed shell configuration files not being loaded correctly
|
||||
|
||||
### 🔧 Developer Experience
|
||||
|
||||
#### **Build System Improvements**
|
||||
- Preserve Swift package resolution in build.sh for faster builds
|
||||
- Better Node.js detection that handles fnm/homebrew conflicts
|
||||
|
||||
#### **Version Management**
|
||||
- Implemented hash-based vt script version detection
|
||||
- Delete old sessions automatically when VibeTunnel version changes
|
||||
- Better handling of version mismatches between components
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
#### **Session Management**
|
||||
- Fixed session state synchronization between web and native clients
|
||||
- Resolved memory leaks in long-running sessions
|
||||
- Fixed connection timeout issues on slower networks
|
||||
- Better cleanup of terminal processes and resources
|
||||
|
||||
#### **UI/UX Fixes**
|
||||
- Fixed various UI glitches and visual artifacts
|
||||
- Resolved sidebar animation issues
|
||||
- Fixed file browser problems
|
||||
- Corrected ngrok documentation about free static domains
|
||||
|
||||
### 🔍 Other Improvements
|
||||
|
||||
#### **Control Protocol**
|
||||
- Unified control protocol for better terminal and screen sharing integration
|
||||
- Improved Unix socket handling with better error recovery
|
||||
- Enhanced WebRTC connection management
|
||||
|
||||
#### **Documentation**
|
||||
- Updated ngrok docs to clarify one free static domain per user
|
||||
- Added comprehensive ScreenCaptureKit documentation
|
||||
- Removed outdated debug documentation
|
||||
|
||||
## [1.0.0-beta.6] - 2025-07-03
|
||||
|
||||
### ✨ New Features
|
||||
|
||||
#### **Git Repository Monitoring** 🆕
|
||||
- **Real-time Git Status** - Session rows now display git information including branch name and change counts
|
||||
- **Visual Indicators** - Color-coded status: orange for branches, yellow for uncommitted changes
|
||||
- **Quick Navigation** - Click folder icons to open repositories in Finder
|
||||
- **GitHub Integration** - Context menu option to open repositories directly on GitHub
|
||||
- **Smart Caching** - 5-second cache prevents excessive git commands while keeping info fresh
|
||||
- **Repository Detection** - Automatically finds git repositories in parent directories
|
||||
|
||||
#### **Enhanced Command-Line Tool**
|
||||
- **Terminal Title Management** - `vt title` can set the title of your Terminal. Even Claude can use it!
|
||||
- **Version Information** - `vt help` now displays binary path, version, build date, and platform information for easier troubleshooting
|
||||
- **Apple Silicon Support** - Automatic detection of Homebrew installations on ARM Macs (/opt/homebrew path)
|
||||
|
||||
#### **Menu Bar Enhancements**
|
||||
- **Rich Session Interface** - Powerful new menu bar with visual activity indicators and real-time status tracking
|
||||
- **Native Session Overview** - See all open terminal sessions and even Claude Code status right from the menu bar.
|
||||
- **Sleep Prevention** - Mac stays awake when running terminal sessions
|
||||
|
||||
#### **Web Interface Improvements**
|
||||
- **Modern Visual Design** - Complete UI overhaul with improved color scheme, animations, and visual hierarchy
|
||||
- **Collapsible Sidebar** - New toggle button to maximize terminal viewing space (preference is remembered)
|
||||
- **Better Session Loading** - Fixed race conditions that caused sessions to appear as "missing"
|
||||
- **Responsive Enhancements** - Improved adaptation to different screen sizes with better touch targets
|
||||
|
||||
### 🚀 Performance & Stability
|
||||
|
||||
#### **Terminal Output Reliability**
|
||||
- **Fixed Output Corruption** - Resolved race conditions causing out-of-order or corrupted terminal output
|
||||
- **Stable Title Updates** - Terminal titles now update smoothly without flickering or getting stuck
|
||||
|
||||
#### **Server Improvements**
|
||||
- **Logger Fix** - Fixed double initialization that was deleting log files
|
||||
- **Better Resource Cleanup** - Improved PTY manager cleanup and timer management
|
||||
- **Enhanced Error Handling** - More robust error handling throughout the server stack
|
||||
|
||||
#### **Simplified Tailscale Setup**
|
||||
- Switched to Tailscale's local API for easier configuration
|
||||
- Removed manual token management requirements
|
||||
- Streamlined connection UI for minimal setup
|
||||
|
||||
## [1.0.0-beta.5] - 2025-01-29
|
||||
|
||||
### 🎨 UI Improvements
|
||||
- **Version Display** - Web interface now shows full version including beta suffix (e.g., v1.0.0-beta.5)
|
||||
- **Build Filtering** - Cleaner build output by filtering non-actionable Xcode warnings
|
||||
- **Mobile Scrolling** - Fixed scrolling issues on mobile web browsers
|
||||
|
||||
### 🔧 Infrastructure
|
||||
- **Single Source of Truth** - Web version now automatically reads from package.json at build time
|
||||
- **Version Sync Validation** - Build process validates version consistency between macOS and web
|
||||
- **CI Optimization** - Tests only run when relevant files change (iOS/Mac/Web)
|
||||
- **E2E Test Suite** - Comprehensive Playwright tests for web frontend reliability
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
- **No-Auth Mode** - Fixed authentication-related error messages when running with `--no-auth`
|
||||
- **Log Streaming** - Fixed frontend log streaming in no-auth mode
|
||||
- **Test Reliability** - Resolved flaky tests and improved test infrastructure
|
||||
|
||||
### 📝 Developer Experience
|
||||
- **Release Documentation** - Enhanced release process documentation with version sync requirements
|
||||
- **Test Improvements** - Better test fixtures, helpers, and debugging capabilities
|
||||
- **Error Suppression** - Cleaner logs when running in development mode
|
||||
|
||||
## [1.0.0-beta.4] - 2025-06-25
|
||||
|
||||
- We replaced HTTP Basic auth with System Login or SSH Keys for better security.
|
||||
- Sessions now show exited terminals by default - no more hunting for terminated sessions
|
||||
- Reorganized sidebar with cleaner, more compact header and better button placement
|
||||
- Added user menu in sidebar for quick access to settings and logout
|
||||
- Enhanced responsive design with better adaptation to different screen sizes
|
||||
- Improved touch targets and spacing for mobile users
|
||||
- Leverages View Transitions API for smoother animations with CSS fallbacks
|
||||
- More intuitive default settings for better out-of-box experience
|
||||
|
||||
## [1.0.0-beta.3] - 2025-06-23
|
||||
|
||||
There's too much to list! This is the version you've been waiting for.
|
||||
|
||||
- Redesigned, responsive, animated frontend.
|
||||
- Improved terminal width spanning and layout optimization
|
||||
- File-Picker to see files on-the-go.
|
||||
- Creating new Terminals is now much more reliable.
|
||||
- Added terminal font size adjustment in the settings dropdown
|
||||
- Fresh new icon for Progressive Web App installations
|
||||
- Refined bounce animations for a more subtle, professional feel
|
||||
- Added retro CRT-style phosphor decay visual effect for closed terminals
|
||||
- Fixed buffer aggregator message handling for smoother terminal updates
|
||||
- Better support for shell aliases and improved debug logging
|
||||
- Enhanced Unix socket server implementation for faster local communication
|
||||
- Special handling for Warp terminal with custom enter key behavior
|
||||
- New dock menu with quick actions when right-clicking the app icon
|
||||
- More resilient vt command-line tool with better error handling
|
||||
- Ensured vibetunnel server properly terminates when Mac app is killed
|
||||
|
||||
## [1.0.0-beta.2] - 2025-06-19
|
||||
|
||||
### 🎨 Improvements
|
||||
- Redesigned slick new web frontend
|
||||
- Faster terminal rendering in the web frontend
|
||||
- New Sessions spawn new Terminal windows. (This needs Applescript and Accessibility permissions)
|
||||
- Enhanced font handling with system font priority
|
||||
- Better async operations in PTY service for improved performance
|
||||
- Improved window activation when showing the welcome and settings windows
|
||||
- Preparations for Linux support
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
- Fixed window front order when dock icon is hidden
|
||||
- Fixed PTY service enhancements with proper async operations
|
||||
- Fixed race condition in session creation that caused frontend to open previous session
|
||||
|
||||
## [1.0.0-beta.1] - 2025-06-17
|
||||
|
||||
### 🎉 First Public Beta Release
|
||||
|
||||
This is the first public beta release of VibeTunnel, ready for testing by early adopters.
|
||||
|
||||
### ✨ What's Included
|
||||
- Complete terminal session proxying to web browsers
|
||||
- Support for multiple concurrent sessions
|
||||
- Real-time terminal rendering with full TTY support
|
||||
- Secure password-protected dashboard
|
||||
- Tailscale and ngrok integration for remote access
|
||||
- Automatic updates via Sparkle framework
|
||||
- Native macOS menu bar application
|
||||
|
||||
### 🐛 Bug Fixes Since Internal Testing
|
||||
- Fixed visible circle spacer in menu (now uses Color.clear)
|
||||
- Removed development files from app bundle
|
||||
- Enhanced build process with automatic cleanup
|
||||
- Fixed Sparkle API compatibility for v2.7.0
|
||||
|
||||
### 📝 Notes
|
||||
- This is a beta release - please report any issues on GitHub
|
||||
- Auto-update functionality is fully enabled
|
||||
- All core features are stable and ready for daily use
|
||||
|
||||
### ✨ What's New Since Internal Testing
|
||||
- Improved stability and performance
|
||||
- Enhanced error handling for edge cases
|
||||
- Refined UI/UX based on internal feedback
|
||||
- Better session cleanup and resource management
|
||||
- Optimized for macOS Sonoma and Sequoia
|
||||
|
||||
### 🐛 Known Issues
|
||||
- Occasional connection drops with certain terminal applications
|
||||
- Performance optimization needed for very long sessions
|
||||
- Some terminal escape sequences may not render perfectly
|
||||
|
||||
### 📝 Notes
|
||||
- This is a beta release - please report any issues on GitHub
|
||||
- Auto-update functionality is fully enabled
|
||||
- All core features are stable and ready for daily use
|
||||
|
||||
## [1.0.0] - 2025-06-16
|
||||
|
||||
### 🎉 Initial Release
|
||||
|
||||
VibeTunnel is a native macOS application that proxies terminal sessions to web browsers, allowing you to monitor and control terminals from any device.
|
||||
|
||||
### ✨ Core Features
|
||||
|
||||
#### Terminal Management
|
||||
- **Terminal Session Proxying** - Run any command with `vt` prefix to make it accessible via web browser
|
||||
- **Multiple Concurrent Sessions** - Support for multiple terminal sessions running simultaneously
|
||||
- **Session Recording** - All sessions automatically recorded in asciinema format for later playback
|
||||
- **Full TTY Support** - Proper handling of terminal control sequences, colors, and special characters
|
||||
- **Interactive Commands** - Support for interactive applications like vim, htop, and more
|
||||
- **Shell Integration** - Direct shell access with `vt --shell` or `vt -i`
|
||||
|
||||
#### Web Interface
|
||||
- **Browser-Based Dashboard** - Access all terminal sessions at http://localhost:4020
|
||||
- **Real-time Terminal Rendering** - Live terminal output using asciinema player
|
||||
- **WebSocket Streaming** - Low-latency real-time updates for terminal I/O
|
||||
- **Mobile Responsive** - Fully functional on phones, tablets, and desktop browsers
|
||||
- **Session Management UI** - Create, view, kill, and manage sessions from the web interface
|
||||
|
||||
#### Security & Access Control
|
||||
- **Password Protection** - Optional password authentication for dashboard access
|
||||
- **Keychain Integration** - Secure password storage using macOS Keychain
|
||||
- **Access Modes** - Choose between localhost-only, network, or secure tunneling
|
||||
- **Basic Authentication** - HTTP Basic Auth support for network access
|
||||
|
||||
#### Remote Access Options
|
||||
- **Tailscale Integration** - Access VibeTunnel through your Tailscale network
|
||||
- **ngrok Support** - Built-in ngrok tunneling for public access with authentication
|
||||
- **Network Mode** - Local network access with IP-based connections
|
||||
|
||||
#### macOS Integration
|
||||
- **Menu Bar Application** - Lives in the system menu bar with optional dock mode
|
||||
- **Launch at Login** - Automatic startup with macOS
|
||||
- **Auto Updates** - Sparkle framework integration for seamless updates
|
||||
- **Native Swift/SwiftUI** - Built with modern macOS technologies
|
||||
- **Universal Binary** - Native support for both Intel and Apple Silicon Macs
|
||||
|
||||
#### CLI Tool (`vt`)
|
||||
- **Command Wrapper** - Prefix any command with `vt` to tunnel it
|
||||
- **Claude Integration** - Special support for AI assistants with `vt --claude` and `vt --claude-yolo`
|
||||
- **Direct Execution** - Bypass shell with `vt -S` for direct command execution
|
||||
- **Automatic Installation** - CLI tool automatically installed to /usr/local/bin
|
||||
|
||||
#### Server Implementation
|
||||
- **Dual Server Architecture** - Choose between Rust (default) or Swift server backends
|
||||
- **High Performance** - Rust server for efficient TTY forwarding and process management
|
||||
- **RESTful APIs** - Clean API design for session management
|
||||
- **Health Monitoring** - Built-in health check endpoints
|
||||
|
||||
#### Developer Features
|
||||
- **Server Console** - Debug view showing server logs and diagnostics
|
||||
- **Configurable Ports** - Change server port from default 4020
|
||||
- **Session Cleanup** - Automatic cleanup of stale sessions on startup
|
||||
- **Comprehensive Logging** - Detailed logs for debugging
|
||||
|
||||
### 🛠️ Technical Details
|
||||
|
||||
- **Minimum macOS Version**: 14.0 (Sonoma)
|
||||
- **Architecture**: Universal Binary (Intel + Apple Silicon)
|
||||
- **Languages**: Swift 6.0, Rust, TypeScript
|
||||
- **UI Framework**: SwiftUI
|
||||
- **Web Technologies**: TypeScript, Tailwind CSS, WebSockets
|
||||
- **Build System**: Xcode, Swift Package Manager, Cargo, npm
|
||||
|
||||
### 📦 Installation
|
||||
|
||||
- Download DMG from GitHub releases
|
||||
- Drag VibeTunnel to Applications folder
|
||||
- Launch from Applications or Spotlight
|
||||
- CLI tool (`vt`) automatically installed on first launch
|
||||
|
||||
### 🚀 Quick Start
|
||||
|
||||
```bash
|
||||
# Monitor AI agents
|
||||
vt claude
|
||||
|
||||
# Run development servers
|
||||
vt npm run dev
|
||||
|
||||
# Watch long-running processes
|
||||
vt python train_model.py
|
||||
|
||||
# Open interactive shell
|
||||
vt --shell
|
||||
```
|
||||
|
||||
### 👥 Contributors
|
||||
|
||||
Created by:
|
||||
- [@badlogic](https://mariozechner.at/) - Mario Zechner
|
||||
- [@mitsuhiko](https://lucumr.pocoo.org/) - Armin Ronacher
|
||||
- [@steipete](https://steipete.com/) - Peter Steinberger
|
||||
|
||||
### 📄 License
|
||||
|
||||
VibeTunnel is open source software licensed under the MIT License.
|
||||
|
||||
---
|
||||
|
||||
## Version History
|
||||
|
||||
### Pre-release Development
|
||||
|
||||
The project went through extensive development before the 1.0.0 release, including:
|
||||
|
||||
- Initial TTY forwarding implementation using Rust
|
||||
- macOS app foundation with SwiftUI
|
||||
- Integration of asciinema format for session recording
|
||||
- Web frontend development with real-time terminal rendering
|
||||
- Hummingbird HTTP server implementation
|
||||
- ngrok integration for secure tunneling
|
||||
- Sparkle framework integration for auto-updates
|
||||
- Comprehensive testing and bug fixes
|
||||
- UI/UX refinements and mobile optimizations
|
||||
Loading…
Reference in a new issue