vibetunnel/mac
Peter Steinberger 3beb90a0fd Fix array bounds checking in window parsing
- Add proper bounds checking in TerminalLauncher.swift when parsing AppleScript results
- Add safe array access in WebRTCManager.swift for SDP line parsing
- Add detailed error logging for debugging parsing failures
- Prevents crashes when activity titles contain multiple words

Fixes parsing errors like "Fixed CI build - added native dependencies"
where AppleScript returns unexpected formats.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:38:22 +02:00
..
docs Improve release scripts based on beta 9 lessons learned 2025-07-11 11:29:49 +02:00
scripts Improve release scripts based on beta 9 lessons learned 2025-07-11 11:29:49 +02:00
VibeTunnel Fix array bounds checking in window parsing 2025-07-12 19:38:22 +02:00
VibeTunnel-Mac.xcodeproj Add debug development server mode for hot reload (#316) 2025-07-12 10:57:03 +02:00
VibeTunnelTests Add debug development server mode for hot reload (#316) 2025-07-12 10:57:03 +02:00
.gitignore Integrate screencap functionality for remote screen sharing (#209) 2025-07-06 03:31:34 +01:00
.swiftformat Move files to apple subdir 2025-06-22 14:35:42 +02:00
.swiftlint.yml Move files to apple subdir 2025-06-22 14:35:42 +02:00
bun.lock Disable create session modal animation in session detail view 2025-07-08 00:43:51 +01:00
CHANGELOG.md Add release process note to CLAUDE.md and prepare for beta 9 release 2025-07-11 10:33:53 +02:00
CLAUDE.md Integrate screencap functionality for remote screen sharing (#209) 2025-07-06 03:31:34 +01:00
package-lock.json Integrate screencap functionality for remote screen sharing (#209) 2025-07-06 03:31:34 +01:00
package.json Disable create session modal animation in session detail view 2025-07-08 00:43:51 +01:00
Package.swift Integrate screencap functionality for remote screen sharing (#209) 2025-07-06 03:31:34 +01:00
README.md refactor: major project restructuring - move macOS app to mac/ directory 2025-06-20 13:20:01 +02:00
VibeTunnel-Info.plist refactor: major project restructuring - move macOS app to mac/ directory 2025-06-20 13:20:01 +02:00

VibeTunnel macOS App

This directory contains the macOS version of VibeTunnel.

Quick Start

Building

# Using Xcode
xcodebuild -workspace VibeTunnel.xcworkspace -scheme VibeTunnel build

# Using build script
./scripts/build.sh

Running Tests

xcodebuild -workspace VibeTunnel.xcworkspace -scheme VibeTunnel test

Creating Release

./scripts/build.sh --configuration Release --sign
./scripts/create-dmg.sh build/Build/Products/Release/VibeTunnel.app

Project Structure

mac/
├── VibeTunnel/           # Source code
│   ├── Core/            # Core services and models
│   ├── Presentation/    # Views and UI components
│   └── Utilities/       # Helper utilities
├── VibeTunnelTests/     # Unit tests
├── scripts/             # Build and release scripts
├── docs/                # macOS-specific documentation
└── private/             # Signing keys (not in git)

Scripts

  • build.sh - Build the app with optional signing
  • create-dmg.sh - Create a DMG for distribution
  • release.sh - Full release process
  • monitor-ci.sh - Monitor CI build status
  • sign-and-notarize.sh - Code signing and notarization

Documentation

See docs/ for macOS-specific documentation:

  • Code signing setup
  • Release process
  • Sparkle update framework
  • Development signing

CI/CD

The app is built automatically on GitHub Actions:

  • On every push to main
  • On pull requests
  • For releases (tagged with v*)

See .github/workflows/swift.yml for the build configuration.