Commit graph

1510 commits

Author SHA1 Message Date
Peter Steinberger
b7a1d00a64 Fix Sparkle signature for v1.0.0-beta.8 2025-07-08 11:26:08 +01:00
Peter Steinberger
9128be3d48 Update appcast for v1.0.0-beta.8 with build 172 2025-07-08 10:42:39 +01:00
Peter Steinberger
5312cd9ecc Bump build number to 172 for beta.8 re-release 2025-07-08 10:36:50 +01:00
Peter Steinberger
d2b516959c restore LD RUNPATH 2025-07-08 10:35:00 +01:00
Peter Steinberger
c1ac908d05 Update appcast for v1.0.0-beta.8 2025-07-08 10:19:00 +01:00
Peter Steinberger
9c81ed9969 Fix unbound variable error in node-path-setup.sh
The script was failing with "VIBETUNNEL_BUILD_CLEAN_ENV: unbound variable"
when running under strict bash error checking (set -u). Fixed by using
parameter expansion with default value ${VAR:-} to handle cases where
the variable is not set.
2025-07-08 10:10:42 +01:00
Peter Steinberger
6b93fdbf41
Fix Homebrew library dependencies in release builds (#269) 2025-07-08 09:55:52 +01:00
Jeff Hurray
32caa7ac4f Make file picker a distinct route 2025-07-08 08:15:20 +01:00
Jeff Hurray
10987e6290 Remove modal wrapper bc it breaks things 2025-07-08 08:09:12 +01:00
Peter Steinberger
99b8c44b5c Document lessons learned from v1.0.0-beta.7 release
- Repository name parsing issue in generate-appcast.sh
- False positive warnings in preflight check
- CHANGELOG location confusion
- Release script interruption handling
- Manual recovery process documentation
2025-07-08 02:44:15 +01:00
Peter Steinberger
35cb3c3b3c Fix generate-appcast.sh to correctly parse repository name from git remote URL
- Strip .git suffix from repository name when parsing git remote URL
- This fixes the issue where gh api calls were failing with 404
2025-07-08 02:41:58 +01:00
Peter Steinberger
66a3319458 Update appcast for v1.0.0-beta.7 release 2025-07-08 02:37:23 +01:00
Peter Steinberger
1707dc1238 Add CHANGELOG.md for beta 7 release 2025-07-08 02:30:20 +01:00
Peter Steinberger
3b1436553d Document release process improvements 2025-07-08 02:15:04 +01:00
Peter Steinberger
b7b5aa2004
feat: add magic wand button to web frontend for AI sessions (#262)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-08 02:13:34 +01:00
Peter Steinberger
8c2fcc7488 Improve release process and fix configuration issues
- Add proper --dry-run support to release.sh that prevents file modifications
- Fix iOS Info.plist to use $(MARKETING_VERSION) and $(CURRENT_PROJECT_VERSION)
- Update CHANGELOG.md lookup to prefer project root location
- Add comprehensive RELEASE_PROCESS.md documentation
- Improve error messages and parameter validation in release script
- Fix confusing warnings about CHANGELOG.md location

These changes make the release process more robust and less error-prone.
2025-07-08 02:08:23 +01:00
Peter Steinberger
5f4c870d67 Update changelog for v1.0.0-beta.7 release
- Add comprehensive user-focused changelog entries for beta.7
- Update release date to July 8, 2025
- Include all major features: screen sharing, magic wand, performance fixes
- Document critical bug fixes including terminal freezing and UI performance
- Add mobile/tablet improvements and developer experience enhancements
2025-07-08 01:34:39 +01:00
Peter Steinberger
079b6ab1c1 cleanup 2025-07-08 01:19:57 +01:00
Peter Steinberger
4fc7a5da5b Remove environment variable features and add 4K resolution limit
- Remove VIBETUNNEL_FLIP_Y and VIBETUNNEL_USE_WARP environment variables
- Simplify coordinate transformation configuration
- Add automatic 4K resolution capping for displays above 4K (like 5K displays)
- Scale down proportionally to maintain aspect ratio (e.g., 5120×2880 → 3840×2160)
- Prevent web interface clipping on high-resolution displays
- Remove MOUSE_CLICK_DEBUG.md and test_display_coordinates.sh
- Fix linting issues in various files
2025-07-08 01:19:22 +01:00
Peter Steinberger
53b4aff571 Fix build warnings
- Fix 'variable was never mutated' warning in ScreencapService.swift
- Fix fnm env command syntax error in node-path-setup.sh
- Remove incorrect --use-on-cd flag usage

The duplicate rpath warning remains (needs Xcode project fix)
2025-07-08 01:16:42 +01:00
Peter Steinberger
1f1ca110dc Preserve Swift package resolution in build.sh
- Use Xcode's default derived data path by default
- Only use custom derived data in CI or when explicitly requested
- Prevents Swift packages from being re-resolved after each build
- No more need to close/reopen Xcode after building

Set USE_CUSTOM_DERIVED_DATA=YES to use the old behavior
2025-07-08 01:13:54 +01:00
Peter Steinberger
55a852881c Implement hash-based vt script version detection
- Add SHA256 hash comparison for vt script updates
- Check vt script version on app startup
- Show welcome dialog when vt script is outdated
- Add update prompts in both Welcome and Settings views
- Ensures users always have the latest vt features (like 'vt title')

Fixes #245
2025-07-08 01:05:15 +01:00
Peter Steinberger
d9a30e299d Fix menu bar UI jumping when copy icon appears
Always reserve space for copy icon, use opacity instead of conditional rendering.
This prevents layout shifts when hovering over server addresses.

Fixes #247
2025-07-08 00:53:14 +01:00
Peter Steinberger
efa754d692 Fix ngrok documentation: clarify one free static domain per user
Fixes #258
2025-07-08 00:49:00 +01:00
Peter Steinberger
e65843064c Remove unnecessary Fish shell expansion comment 2025-07-08 00:47:11 +01:00
Raghav Sethi
966c671755
feat: add fish shell expansion support (#228) (#242)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: raghav-latte <131696988+raghav-latte@users.noreply.github.com>
2025-07-08 00:44:31 +01:00
Raghav Sethi
48ea8898fa
fix: resolve Xcode Node.js detection issues with fnm/homebrew conflicts (#246) (#253) 2025-07-08 00:44:05 +01:00
Peter Steinberger
ea3c22fba1 Remove remaining animations and fix file browser issues
- Swap file picker and settings buttons in session header (settings now at the end)
- Disable all button transitions in session view with body.in-session-view
- Disable modal backdrop fade-in animation (0.3s) in session view
- Fix file browser briefly showing then going dark by preventing event bubbling
- Add stopPropagation to file browser button click to prevent duplicate modals

The session detail page should now have zero animations when toggling sidebar
or opening modals.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08 00:43:51 +01:00
Peter Steinberger
d7a8b565d2 Fix 1-2 second animation delay when reopening session sidebar
- Remove animate-fade-in class from compact mode session list items
- Prevent sessions-showing/hiding animation classes when in session detail view
- Disable View Transitions API for navigating back from session detail view
- Add body.in-session-view class to disable all animations in session view
- Remove transition-all duration-200 from compact session list items
- Disable grid transitions when in session view

This eliminates all staggered animations and transitions that were causing
the perceived 1-2 second delay when toggling the sidebar in session detail view.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08 00:43:51 +01:00
Peter Steinberger
35e523f051 Fix touch device UI issues and remove session view animations
- Make inline-edit pencil always visible on touch devices with CSS media query
- Remove terminal resize animation (transition: all 0.3s ease-out)
- Remove magic wand AI button that was confusing users
- Reorganize touch device layout: close button left of time
- Disable View Transitions API for session navigation
- Add CSS overrides to disable all button transitions in session view
- Fix TypeScript errors by adding missing handleDeleteSession method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08 00:43:51 +01:00
Peter Steinberger
24b0e9b2be Disable create session modal animation in session detail view
- Add check for session detail view in handleCreateSession()
- Add check for session detail view in handleCreateModalClose()
- Modal now appears/disappears instantly in session detail view
- Animation preserved in grid view where it works properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08 00:43:51 +01:00
Peter Steinberger
5f408753b3 Reorganize UI buttons and move settings to session detail view
- Remove duplicate screen share button from sidebar
- Remove file browser button from sidebar
- Remove file picker/upload button from session header
- Move settings/notification icon from sidebar to session header (next to file browser)
- Disable sidebar slide animations to prevent terminal resize issues
- Simplify sidebar to only show Create Session button and User menu
- Settings button is now in session detail view for better context

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08 00:43:51 +01:00
Peter Steinberger
f39e8dedd5 Remove iPad-specific keyboard layout, use same layout for all mobile devices
- Remove tablet-specific renderTabletLayout() method
- Remove deviceType property from terminal-quick-keys component
- Remove tablet-specific CSS classes (.tablet-layout, .compact)
- Simplify code to use the same 3-row keyboard for all mobile devices
- Provides consistent experience across iPhone and iPad

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08 00:43:51 +01:00
Peter Steinberger
e31554981a Add universal touch device detection for keyboard mode
- Replace user agent detection with capability-based detection
- Support any touch device (iPad, Android, Surface, etc.)
- Add smart detection for hybrid devices (touch + trackpad)
- Add user preference support (auto/always/never)
- Add keyboard mode toggle button in mobile controls
- Fix landscape mode detection on all touch devices
- Use hardware capabilities instead of brittle UA strings

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08 00:43:51 +01:00
Peter Steinberger
2815f77b0a fix: Ensure tablets receive all mobile features
- Pass isMobile instead of isPhone to setupMobileFeatures and setupEventListeners
- Tablets need VirtualKeyboard API, Visual Viewport API, and touch event listeners
- Only the keyboard layout should differ between phones and tablets, not core mobile features
2025-07-08 00:43:51 +01:00
Peter Steinberger
ef0f928a89 feat: Add compact keyboard layout for iPads
- Detect device type (phone vs tablet) based on screen size
- Show custom keyboard on iPads with optimized compact layout
- Portrait mode: 2 rows with essential terminal keys
- Landscape mode: Single row with most important keys
- Properly handle device rotation and window resizing
- Add TypeScript declarations for window.__deviceType

Fixes #223
2025-07-08 00:43:51 +01:00
Peter Steinberger
56db25efe2 Fix: Make magic wand prompt more forceful to prevent direct title injection
The magic wand feature now uses emphatic language to ensure AI assistants
use the 'vt title' command instead of injecting terminal escape sequences.
This prevents Claude from being "too smart" and bypassing our title filtering.

Fixes #248
2025-07-08 00:43:33 +01:00
Peter Steinberger
85d9f3d17a
Unified control protocol and deferred screen recording permissions (#239) 2025-07-08 00:42:13 +01:00
Peter Steinberger
7e697d6774
Delete old sessions when VibeTunnel version changes (#254) 2025-07-07 00:05:26 +01:00
Peter Steinberger
9db8fd284b Fix shell configuration files not being loaded
- Ensure bash, zsh, and fish spawn as login shells to read config files
- Add -i and -l flags for bash/zsh, --interactive and --login for fish
- Avoid duplicate flags if already present
- Add user feedback when starting shells in login mode

Fixes #251
2025-07-06 23:30:41 +01:00
Peter Steinberger
7f7b4b682b
Fix terminal flow control to prevent xterm.js buffer overflow (#223) 2025-07-06 12:45:31 +01:00
Armin Ronacher
36337cfd7a Fix linter 2025-07-06 11:25:27 +01:00
Armin Ronacher
6fd74b6282 Move screencap out of /api to fix auth issues 2025-07-06 11:25:27 +01:00
Peter Steinberger
732210f333
Fix: Defer screen recording permission check until actual use (#238) 2025-07-06 09:36:08 +01:00
Peter Steinberger
db6ac03bf5 Bump version to 1.0.0-beta.7 build 170 2025-07-06 03:51:53 +01:00
Peter Steinberger
ebf9d27f86 Bump version to 1.0.0-beta.7 build 161 2025-07-06 03:50:49 +01:00
Peter Steinberger
a6fbd5b115 Update changelog 2025-07-06 03:48:23 +01:00
Peter Steinberger
fa31976ad6 Merge branch 'node-path-setup' 2025-07-06 03:41:28 +01:00
Sandeep Aggarwal
0a61369673
feat: Added Paste button on the quick keyboard for iOS (#225) (#227)
Co-authored-by: Sandeep Aggarwal <aggarwal.sandeep77@gmail.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-07-06 03:39:52 +01:00
Peter Steinberger
2f829215bc fix: correct SCRIPT_DIR detection for zsh compatibility in install-node.sh
The redundant SCRIPT_DIR assignment on line 20 used ${BASH_SOURCE[0]:-} which
would expand to an empty string in zsh, causing dirname "" to return the current
directory instead of the script's directory. This led to script failures when
not run from its own directory.

Since SCRIPT_DIR is already correctly set earlier (lines 11-15) with proper
zsh handling, the redundant line has been removed.
2025-07-06 03:38:47 +01:00