mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-03-25 09:25:50 +00:00
- Add auto-resubscribe logic to web push notification service - Automatically restore push subscription if notifications were previously enabled - Sync subscription state with saved preferences on initialization - Handle failed resubscription by updating preferences accordingly - Fix Mac app notification service startup check - Only establish SSE connection if notifications are enabled in config - Prevents unnecessary connection attempts when notifications are disabled - Ensures consistent behavior between web and native components This fixes the issue where notification settings appeared enabled but the SSE connection indicator was red and test button was disabled until the user manually toggled notifications off and on. |
||
|---|---|---|
| .. | ||
| docs | ||
| scripts | ||
| VibeTunnel | ||
| VibeTunnel-Mac.xcodeproj | ||
| VibeTunnelTests | ||
| .github-config | ||
| .gitignore | ||
| .swiftformat | ||
| .swiftlint.yml | ||
| bun.lock | ||
| CLAUDE.md | ||
| package-lock.json | ||
| package.json | ||
| Package.swift | ||
| README.md | ||
| VibeTunnel-Info.plist | ||
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 signingcreate-dmg.sh- Create a DMG for distributionrelease.sh- Full release processmonitor-ci.sh- Monitor CI build statussign-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.