- Add session detail windows with dedicated view per session
- Enhance menu bar to show clickable session list (up to 5 sessions)
- Implement terminal window focus using AppleScript on macOS
- Add project credits to welcome flow
- Fix compilation errors in tray_menu.rs
All Mac app features are now available in the Tauri version, achieving
full feature parity while maintaining Tauri's additional capabilities.
- Remove entire recording/cast functionality from Tauri app
- Fix settings window UI issues:
- Remove black line below macOS title bar
- Increase window size to 1200x800 for two-column display
- Remove Feature Flags section from debug tab
- Fix System Paths to show actual paths
- Fix Developer Tools buttons functionality
- Remove non-existent API Testing and Terminal Colors sections
- Fix server URLs to use 127.0.0.1 instead of localhost
- Prevent main window from showing on startup (app runs in tray only)
- Update menu handlers to open dashboard in browser
- Fix server restart logic to properly handle app handle
- Implement left sidebar navigation matching Electron app design
- Add dark/light theme support with CSS variables
- Increase default window size to 950x720 for better layout
- Remove duplicate "Preferences" title, keep only macOS native title
- Add glassmorphism effects and smooth animations
- Update color scheme to use VibeTunnel green (#10b981)
- Add team credits in About section
- Improve responsive design for settings cards
- Add theme-aware styling for all UI elements
- Add polished main window UI with dashboard access and status checking
- Fix Unix socket server initialization to handle async runtime properly
- Serve web assets from the server for browser dashboard access
- Add server status monitoring and real-time updates
- Improve error handling and user feedback
- Add Unix socket server implementation for IPC communication
- Enhance settings.html with improved UI and animations
- Add terminal color preferences support
- Improve tray menu with recent connections
- Add state management for connected clients
- Fix various lint warnings and improve code quality
This commit adds feature parity between the Mac and Tauri apps:
High Priority Features:
- Enhanced welcome flow with 6 pages (already existed)
- Menu bar enhancements with session counter and server status
- Single instance enforcement using tauri_plugin_single_instance
Medium Priority Features:
- Window centering and management improvements
- Application mover functionality with dialog prompts
- Terminal session activity tracking with real-time updates
Additional Improvements:
- Added keychain integration for secure password storage
- Updated settings with prompt_move_to_applications field
- Fixed compilation errors in app_mover and terminal spawn service
- Enhanced tray menu to dynamically update session count
- Improved main window handling with proper close event management
- Added comprehensive README explaining Tauri development workflow
The Tauri app now provides the same core functionality as the native Mac app while maintaining cross-platform compatibility.
- Enhanced settings UI with hover effects, animations, and visual polish
- Added floating and glow animations for app icon in About tab
- Implemented animated status indicators with pulse effects
- Added ripple effects for buttons and smooth transitions
- Expanded welcome screen from 4 to 7 pages matching Mac app flow
- Added VT Command installation page with CLI status
- Added permissions request page with proper UI
- Added terminal selection page with hover effects
- Added dashboard protection page for security setup
- Enhanced page indicators with pulse animations
- Improved copy button with visual state transitions
- Added success/error status dots with animations
- Polished permission UI with checkmark animations
- Enhanced dark/light mode color definitions
- Added smooth hover effects throughout all UI components
This brings the Tauri app to feature parity with the Mac app's UI/UX.
- Add rustfmt.toml with comprehensive formatting rules
- Add clippy.toml with linting configuration
- Add .cargo/config.toml with clippy warning flags
- Fix unused imports and variables warnings
- Connect unused functions in terminal.rs, server.rs, tray_menu.rs, and session_monitor.rs
- Add proper error handling and cleanup on app quit
- Apply formatting to all Rust code files
- Ensure feature parity with Mac app implementation
This improves code quality, consistency, and maintainability of the Tauri app.
- Move all public files from tauri/src-tauri/public/ to tauri/public/
- Update tauri.conf.json to remove public/** from resources
- Update file dialog to use download directory instead of blocking API
- Add new modules to lib.rs (app_mover, terminal_spawn_service, fs_api)
- Update app_mover and terminal integrations implementations
- Remove server_mode field from AdvancedSettings struct
- Remove server mode handling from update_setting command
- Remove server mode display from settings UI debug tab
- Simplify server status display to only show running state and port
- Add comprehensive manager system for various features:
- Notification manager for in-app notifications
- Permission manager for system permissions
- Update manager for app updates
- Backend manager for server backend management
- Debug features manager for debugging tools
- API testing manager for API test suites
- Auth cache manager for credential caching
- Terminal integrations manager for terminal emulator support
- Session monitor for tracking active sessions
- Port conflict resolver for port management
- Network utilities for network information
- TTY forward manager for TTY forwarding
- Cast manager for terminal recording
- App mover for macOS app location management
- Terminal spawn service for launching terminals
- File system API for file operations
- Add settings UI pages (settings.html, server-console.html)
- Update tauri.conf.json with new configuration
- Enhance server implementation with better state management
- Add comprehensive command system for all managers
- Update dependencies in Cargo.toml
- Add welcome screen manager for onboarding
- Implement proper state management across all components
- Create welcome.html with 4-page onboarding flow
- Support system light/dark mode with appropriate color schemes
- Add smooth page transitions and keyboard navigation
- Include finish button that closes the welcome window
- Copy app icon to public folder for welcome screen
- Update tauri.conf.json to include public folder resources
This commit adds the Tauri desktop app as a completely separate project
in the /tauri folder without modifying anything in the web project.
- Created /tauri folder with standalone Tauri system tray application
- Configured as menu bar/system tray app (matching Mac app architecture)
- Runs embedded HTTP server on port 4020
- Opens web dashboard in default browser
- No embedded web view or frontend code
- Minimal package.json with only Tauri CLI dependency
The web folder remains completely untouched, ensuring clean separation
between the web and desktop projects.
Wraps the connection form in a ScrollView to improve usability on small screens, landscape orientation, and when accessibility text sizes are increased. The scroll bounce behavior is intelligently set based on content size.
The shadow utility was using theme(colors.accent.green) which is not
supported in arbitrary value syntax. Replaced with direct hex value #00ff88.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add Monaco Editor (v0.52.2) as dependency
- Create MonacoEditor Lit component with normal and diff modes
- Support inline/side-by-side diff switching with responsive behavior
- Replace CodeMirror in file browser with Monaco
- Add /api/fs/diff-content endpoint for fetching original/modified content
- Update build system to use esbuild with Monaco plugin
- Add proper Monaco asset handling and bundling
- Style Monaco with VibeTunnel dark theme
Note: There are rendering artifacts that need to be addressed
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Document automatic shell alias resolution feature
- Add debug logging instructions using VIBETUNNEL_DEBUG
- Include examples of using aliases with vt command
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add automatic shell alias resolution via ProcessUtils.resolveCommand()
- Support aliases like 'claude-danger' by running through user's shell
- Detect user's shell properly on all platforms (zsh, bash, pwsh, cmd, etc.)
- Replace --debug CLI flag with VIBETUNNEL_DEBUG environment variable
- Update spec.md with new functionality
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- When 'which' fails, now calls 'bash -i -c "alias"' to get all aliases
- Parses the alias output (key='value' format) into a Map
- Checks if the executable is an alias and resolves it
- Extracts the actual command from alias value (handles arguments)
- Attempts to resolve the aliased command to an absolute path
This allows using shell aliases like 'll' or custom aliases as commands.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Resolve command executables to absolute paths before spawning PTY
- Use 'which' command to find executables in PATH
- Handle absolute paths, relative paths, and PATH lookups
- Log the final resolved command for debugging
- Store resolved command in session info
This ensures consistent behavior regardless of how commands are specified
and helps with debugging by showing exact paths being executed.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The uuid package is used in runtime code (server.ts, hq-client.ts,
pty-manager.ts) so it needs to be in dependencies, not devDependencies.
This fixes the esbuild bundling errors during the build process.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change error to warning when hash file is not found
- Force full rebuild instead of failing when hash is missing
- This fixes build failures when the hash calculation phase hasn't run
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>