Commit graph

194 commits

Author SHA1 Message Date
Peter Steinberger
c2f0b79cec Fix logs API test by including lastModified in all responses
- Add lastModified: null when log file doesn't exist
- Ensures consistent API response structure
2025-07-02 00:00:53 +01:00
Peter Steinberger
a6488b5ad9 Improve session display and button state management
- Fix menu bar button highlighting using state instead of highlight()
- Extract process name from command path for cleaner display
- Show session name next to command with dash separator
- Fix corner radius on new session dialog
- Make Create button darker green for better visibility
- Update editing to properly handle session names
2025-07-02 00:00:53 +01:00
Peter Steinberger
f60bd2d5a0 Implement side-rounded menu borders for macOS menu bar
- Create custom SideRoundedRectangle shape with flat top/bottom borders
- Apply custom shape to both SwiftUI background and NSWindow mask layer
- Update CustomMenuContainer to use the new shape for consistent styling
- Maintain rounded corners only on left and right sides as requested

This gives the menu bar dropdown a more integrated appearance with the
menu bar while keeping the modern rounded aesthetic on the sides.
2025-07-02 00:00:53 +01:00
Luis Nell
f1f99be514 Add Apple Silicon Homebrew path check for VT tool
Updates CLIInstaller to check for the VT command-line tool in both:
- /usr/local/bin/vt (default/Intel Macs)
- /opt/homebrew/bin/vt (Apple Silicon Homebrew)

This ensures users who have installed VT via Homebrew on M1/M2 Macs
will see it as already installed in the welcome flow.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 23:42:51 +01:00
Billy Irwin
852078d024
fix: simplify Tailscale integration using local API (#184) 2025-07-01 23:36:59 +01:00
Peter Steinberger
49a263d406
Mac menu bar UI improvements and Tailscale fixes (#180) 2025-07-01 18:53:46 +01:00
Peter Steinberger
b452251a47
Improve Mac menu bar UI with better form styling and animations (#179) 2025-07-01 17:46:46 +01:00
Billy Irwin
cef2e6bf03
Add more debug logs for Tailscale integration (#178) 2025-07-01 09:13:55 -07:00
Peter Steinberger
a7d5648c78
feat: Powerful Mac menu bar with rich view and session tracking (#176) 2025-07-01 14:54:30 +01:00
Peter Steinberger
6e18fa94e9 fix: Remove debug print and fix PID display for nil values
- Remove debug print statement from MenuBarView
- Fix SessionDetailView to display 'N/A' instead of '0' for nil PIDs
- Prevents confusion with actual PID 0 system process
2025-07-01 13:41:09 +01:00
Peter Steinberger
6c33e16565 feat: Add activity status display to menu bar session entries
- Display activity status (e.g., 'Browsing', 'Considering') below each session
- Show status inline with working directory path, separated by dot
- Match visual style from web frontend with orange status text
- Add compact path display with ~ for home directory
2025-07-01 13:41:09 +01:00
Peter Steinberger
4e5f100074 fix: Remove orphaned test files for non-existent modules
- Delete safe-pty-writer.test.ts and stream-analyzer.test.ts
- These tests were importing modules that no longer exist
- Fixes CI test failures
2025-07-01 13:41:09 +01:00
Peter Steinberger
dfe846cfce feat: Enhance macOS app session monitoring and UI
- Add debug logging for session fetching and status
- Display 'No sessions' text when session list is empty
- Add initial delay for auth token setup on app start
- Improve user feedback in menu bar interface
2025-07-01 13:41:09 +01:00
Peter Steinberger
bb272ce821 refactor: Simplify vt title implementation using fwd --update-title
- Add --update-title flag to fwd.ts for cleaner session title updates
- Replace complex bash/jq/python/sed logic with single fwd.ts call
- Leverage existing SessionManager for type-safe JSON handling
- Improve error handling and messaging
- Reorganize vt script to locate app path before processing commands

This eliminates the fragile bash JSON manipulation in favor of a
robust TypeScript implementation that reuses existing infrastructure.
2025-07-01 13:41:09 +01:00
Peter Steinberger
f6d529a1ab fix: Add error handling verification to vt title command
- Add proper error checking after session.json update
- Return appropriate exit codes on success/failure
- Improve error messaging for better debugging
2025-07-01 13:41:09 +01:00
Peter Steinberger
3fb5b463e8 fix: Security and reliability improvements for vt title
- Fix command injection vulnerability by using jq --arg for safe parameter passing
- Add Python fallback for systems without jq for safe JSON manipulation
- Improve sed fallback with proper escaping (last resort)
- Add debouncing (100ms) to file watcher to prevent rapid updates
- Add error handling for file watcher failures
- Clean up debounce timer on session cleanup
- Fix issue where lastSessionName wasn't properly tracked

Security fix prevents arbitrary command execution through malicious title strings.
Debouncing prevents performance issues from rapid file changes.
2025-07-01 13:41:09 +01:00
Peter Steinberger
a2d80f1fa3 test: Add comprehensive tests for vt title functionality
- Add error handling for 'vt title' when used outside a session
- Create unit tests for session.json watcher in PtyManager
- Add integration tests for vt title command with edge cases
- Test all 4 title modes (none, filter, static, dynamic)
- Test special characters, concurrent updates, and error scenarios
- Ensure proper cleanup of file watchers on session exit
2025-07-01 13:41:09 +01:00
Peter Steinberger
122253f947 feat: Add vt title command for dynamic session naming
- Add 'vt title' command that updates session names from within terminal sessions
- Implement file watcher in PtyManager to detect session.json changes
- Integrate title updates with all 4 title modes (none, filter, static, dynamic)
- Updates terminal titles in real-time when session name changes
- Works by directly editing session.json using the VIBETUNNEL_SESSION_ID env var

This allows users to easily set descriptive names for their terminal sessions,
making it easier to manage multiple VibeTunnel windows.
2025-07-01 13:41:09 +01:00
Peter Steinberger
6196c55ded
Display Claude status in Mac menubar (#160) 2025-07-01 11:21:28 +01:00
Peter Steinberger
3b3ded548b
Add Special Thanks section to About screen (#168) 2025-07-01 08:39:33 +01:00
devin-ai-integration[bot]
1d9112b9d3
Add SwiftLint and SwiftFormat Husky pre-commit hooks for iOS and mac (#165)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-07-01 06:24:59 +01:00
Igor Tarasenko
68ce36828a
fix: correct CLI installation verification after title mode args update (#153)
* fix: correct CLI installation verification after title mode args update (#153)

• Verify CLI install by matching `exec "$VIBETUNNEL_BIN" fwd` (ignores extra args) — resolves #152  
• Allow custom install dir (default `/usr/local/bin`); `vtTargetPath` now dynamic  
• Added regression + flaky-test fix
2025-07-01 07:09:43 +02:00
Peter Steinberger
4bdb21da41
chore: bump version to 1.0.0-beta.6 build 152 (#161)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-07-01 05:54:43 +01:00
Helmut Januschka
f2f5f5f67d
feat: add sleep prevention option to keep Mac awake during sessions (#146)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-06-30 11:13:21 +01:00
Peter Steinberger
884ca48dc3 docs: add release process improvements and quick reference guide
- Document lessons learned from v1.0.0-beta.5 release
- Add quick reference guide for common release tasks
- Include troubleshooting for timeout and appcast issues
- Clarify DMG notarization behavior (DMGs aren't notarized, only apps inside)
2025-06-30 07:48:14 +01:00
Peter Steinberger
8bc6e81549
feat: add comprehensive terminal title management (#124) 2025-06-30 04:15:09 +01:00
Billy Irwin
9cea558da8
feat: add Tailscale integration and improve networking documentation (#144)
- Add TailscaleService for status checking and integration
- Add Tailscale section in dashboard settings with status display
- Expand README with detailed setup guides for Tailscale and ngrok
- Show Tailscale hostname and IP when connected
- Add links to download/setup resources for both services

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-29 20:03:44 -07:00
Peter Steinberger
f1c0554644
Add Playwright E2E test framework (#120) 2025-06-30 02:51:21 +01:00
Billy Irwin
aeaecf9882
fix: handle missing .node-builds directory in build script (#142)
Check if .node-builds directory exists before attempting to find Node.js builds
to prevent errors when the directory hasn't been created yet.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-29 18:02:43 -07:00
Chris Reynolds
13b98308c9
fix: remove double shell-wrapping for aliases in vt script (#132) 2025-06-29 21:52:52 +01:00
Peter Steinberger
7f3fbe164a
feat: Add build output filtering to remove non-actionable warnings (#136) 2025-06-29 19:36:40 +01:00
Armin Ronacher
660880b396 Bring back the options for vt 2025-06-28 00:44:29 +02:00
Helmut Januschka
fc162ad55c
Prevent recursive VibeTunnel sessions (GitHub #95) (#104)
* Prevent recursive VibeTunnel sessions (GitHub #95)

Added detection and prevention of nested VibeTunnel sessions to avoid
recursive 'vt' command execution.

Changes:
- Set INSIDE_VIBETUNNEL and VIBETUNNEL_SESSION environment variables when creating PTY sessions
- Added check in vt script to detect if already inside a VibeTunnel session
- Shows helpful error message when recursive session is attempted

This prevents the confusing behavior where users could run 'vt' inside a
VibeTunnel session, creating nested terminal instances. Now users get a
clear error message explaining they're already in a VibeTunnel session.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Improve recursive session prevention based on PR feedback

- Consolidate to single environment variable VIBETUNNEL_SESSION_ID
- Add session ID for debugging purposes as requested
- Show session ID in error message for better user feedback
- Remove redundant environment variables (INSIDE_VIBETUNNEL, VIBETUNNEL_SESSION)

This addresses feedback from PR #104 to use a single, more informative
environment variable that serves both purposes: preventing recursion
and providing debugging information.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-27 21:05:36 +02:00
Peter Steinberger
c43bea3402 Prepare for 1.0.0-beta.4 release (build 114) 2025-06-27 02:06:18 +02:00
Peter Steinberger
c70330bcfd
Migrate to Microsoft node-pty v1.1.0-beta34 (#87) 2025-06-26 23:10:05 +02:00
Helmut Januschka
5a4b939564
Fix URL link detection for wrapped URLs on mobile terminals (#85)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-06-26 22:37:49 +02:00
Manuel Maly
328e000715
Split session view file (#89)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-06-26 21:15:07 +02:00
Peter Steinberger
875ed211b3 fix dashboard header separator line missing 2025-06-25 10:19:27 +02:00
Peter Steinberger
4cab4a735c fix welcome dialog spacing 2025-06-25 10:18:52 +02:00
Peter Steinberger
6db724c79b fixes window dismissal in welcome 2025-06-25 10:17:26 +02:00
Peter Steinberger
c3ad47baa4 fish hashing 2025-06-25 05:14:16 +02:00
Peter Steinberger
d1ed650261 igore file mod dates, just size 2025-06-25 04:46:04 +02:00
Peter Steinberger
f766efad82 improve stability 2025-06-25 04:32:21 +02:00
Peter Steinberger
df354e4c2d prep b4 2025-06-25 03:52:15 +02:00
Peter Steinberger
b59a3808d7 unfuck build 2025-06-25 03:36:20 +02:00
Peter Steinberger
566e7f62b3 fix mac 2025-06-25 02:11:51 +02:00
Peter Steinberger
d5f6919f9c Update dangerous NSException API 2025-06-25 02:11:51 +02:00
Peter Steinberger
aa87b2905f restore simple child terminator 2025-06-25 02:11:51 +02:00
Peter Steinberger
6dfc1eb7f4 re-patching somehow corrupts my build 2025-06-25 02:11:51 +02:00
Peter Steinberger
33abf13431 brute force clean 2025-06-25 02:11:51 +02:00