Commit graph

1526 commits

Author SHA1 Message Date
Jeff Hurray
8cab4e6caa fix playwright tests
This was an unrelated issue on main

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 16:38:49 +02:00
Jeff Hurray
14f5315ab0 Fix lint errors in file browser test
- Remove non-null assertion in favor of proper null check
- Add z-index comments for clarity in modal overlays
- Remove unused Z_INDEX imports after switching to comments

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 16:38:49 +02:00
Jeff Hurray
913cce61d2 lint fix 2025-07-09 16:38:49 +02:00
Jeff Hurray
274d9aeceb Add debugging and stopPropagation to file browser button
- Add stopPropagation to Browse button click handler in session-create-form
- Add debug logging to track state changes
- Match the pattern used in session-header for consistency
2025-07-09 16:38:49 +02:00
hewigovens
bf32367fee add alt+delete/left/right support 2025-07-09 16:33:04 +02:00
Peter Steinberger
48762bd47c docs: expand spec with data flows 2025-07-09 16:25:03 +02:00
Jan Remeš
ac2f3da586
Better folder selection with git repo discovery (#274)
* added folder selection with git repo discovery

* Increase touch target for repository and folder selection buttons

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-07-09 09:24:30 +02:00
Peter Steinberger
43c98cac4b bump to b9 2025-07-09 09:18:08 +02:00
Jeff Hurray
9a2b642e3c
Fix mac file selection (#279)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-09 09:11:00 +02:00
Jeff Hurray
ad6f335c17 Remove unnecessary iOS CI triggers on web changes
The iOS app is a native client that connects to VibeTunnel servers and doesn't embed any web code. It only needs to rebuild when iOS-specific files change, not when web files are modified.

This optimization will save CI time by avoiding unnecessary iOS builds when only web UI changes are made.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 09:10:10 +02:00
Peter Steinberger
4a75129ca6
Update issue templates 2025-07-09 07:05:28 +02:00
Peter Steinberger
8d808faf6e
Update issue templates 2025-07-09 07:04:50 +02:00
Peter Steinberger
015c9ca828 Add safeguards to prevent Sparkle signature key mismatches
- Updated generate-appcast.sh with prominent warnings about using -f flag
- Added critical warnings to release documentation (RELEASE.md and release-guide.md)
- Created validate-sparkle-signature.sh script to verify signatures before release
- Added pre-release checklist items for signature validation
- Documented the beta 8 incident and resolution

This ensures we always use the correct file-based private key and never accidentally use the keychain key that produces incompatible signatures.
2025-07-08 22:25:32 +02:00
Peter Steinberger
04c4a6e560 Update sparkle-stats-store.md with accurate Stats.store information
- Corrected Stats.store description as privacy-first analytics backend
- Fixed benefits section to reflect actual features (not CDN)
- Clarified that Stats.store is a transparent proxy, not hosting files
- Added details about anonymous data collection
- Stats.store cache confirmed to be 1 minute as documented
2025-07-08 22:15:49 +02:00
Peter Steinberger
e5cfe075a4 Fix Sparkle signature for beta 8 - use correct private key
- Updated appcast-prerelease.xml with correct signature generated from file-based private key
- Added comprehensive documentation about Sparkle/Stats.store integration
- Documented the beta 8 incident and resolution
- The issue was caused by using the wrong private key (keychain vs file)
2025-07-08 22:09:36 +02:00
Peter Steinberger
dc0676b0a0 change server cleanup logic to only kill zombies 2025-07-08 22:05:01 +02:00
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