Commit graph

1305 commits

Author SHA1 Message Date
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
Helmut Januschka
9aaac17150
Add Shift+Tab support for Claude Code planning mode (GitHub #100) (#105)
* Add Shift+Tab support for Claude Code planning mode (GitHub #100)

Added proper Shift+Tab key sequence handling to enable Claude Code mode switching.

Changes:
- Added 'shift_tab' to SpecialKey type definition
- Updated input-manager.ts to detect Shift+Tab combination (e.shiftKey)
- Updated direct-keyboard-manager.ts for mobile Shift+Tab support
- Added shift_tab mapping to PTY manager (sends \x1b[Z escape sequence)

This allows users to press Shift+Tab in VibeTunnel to switch between Claude Code
modes (autoaccept, planning, regular) as expected.

Technical Details:
- Shift+Tab sends the standard terminal escape sequence \x1b[Z (CSI Z)
- Both desktop and mobile input handlers now support the key combination
- Maintains backward compatibility with regular Tab functionality

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

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

* Fix Shift+Tab not being sent as special key

Added 'shift_tab' to the special keys list in input-manager.ts so it gets
sent as {"key": "shift_tab"} instead of {"text": "shift_tab"}.

This was the missing piece - the frontend was correctly detecting Shift+Tab
but then sending it as text instead of a special key, so the server couldn't
map it to the \x1b[Z escape sequence.

Now Shift+Tab will properly send {"key": "shift_tab"} in the API request.

* Fix failing CI test in session-list.test.ts

Updated test expectation to check for 'compactMode' instead of
non-existent 'showCreateModal' property. This was a stale test
that was unrelated to the Shift+Tab changes but was blocking CI.

All tests now pass.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-27 21:00:09 +02:00
Armin Ronacher
47ee08c652 Fix out of order writes 2025-06-27 14:59:35 +02:00
Armin Ronacher
47e475b967 Claude knows how to flexbox 2025-06-27 12:26:42 +02:00
Armin Ronacher
ae2b8a2298 Fixed session status detection 2025-06-27 11:50:38 +02:00
Peter Steinberger
1ba8d24d12 Update appcast for v1.0.0-beta.4 release 2025-06-27 02:36:18 +02:00
Peter Steinberger
0e044c7980 Update CHANGELOG.md for 1.0.0-beta.4 with detailed release notes 2025-06-27 02:13:23 +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
553dcff448 hide scoll down button when quick keyboard is active 2025-06-27 02:02:22 +02:00
Peter Steinberger
b84e6faea2 keyboard tweaks 2025-06-27 02:02:19 +02:00
Peter Steinberger
27416a7ce3 instead of transform, reduce terminal size with keyboard 2025-06-27 01:54:56 +02:00
Peter Steinberger
af44f2e7bb flip buttons 2025-06-27 01:54:40 +02:00
Peter Steinberger
664bdb75d4 reorganize header 2025-06-27 01:50:22 +02:00
Peter Steinberger
ddc0ea1b49 ensure keyboard shows up after tab key is pressed
works around Safari security, where focus only works when the user clicks and we dispatch sync
2025-06-27 01:50:17 +02:00
Peter Steinberger
86ba5eb78f keyboard tweaks 2025-06-27 01:38:19 +02:00
Peter Steinberger
924613bf55 use tailwind for blur 2025-06-27 01:38:13 +02:00
Peter Steinberger
24fe9043d1 create form moved up to be fully centered 2025-06-27 01:37:56 +02:00
Peter Steinberger
bf3e09a28c conect sidebar header 2025-06-27 01:37:42 +02:00
Peter Steinberger
4b7a073975 keyboard moves terminal up 2025-06-27 01:37:31 +02:00
Peter Steinberger
9d775e6b31 reduce heider height 2025-06-27 01:37:04 +02:00
Peter Steinberger
83137d25d6 dismiss sidebar in portrait mobile 2025-06-27 01:36:55 +02:00
Peter Steinberger
8eba43a536 Make sidebar dismissable 2025-06-27 01:09:18 +02:00
Peter Steinberger
35ed9556ca change ABC to Done to dismiss 2025-06-27 01:09:08 +02:00
Peter Steinberger
9cc2b9a195 direct mode is for mobile 2025-06-27 01:08:53 +02:00
Peter Steinberger
78659df911 ensure keyboard stays visible 2025-06-27 01:03:15 +02:00
Peter Steinberger
d19d275129 restore settings 2025-06-27 01:03:06 +02:00
Peter Steinberger
29ddfb9d8a add direct keyboard fob logic 2025-06-27 00:55:47 +02:00
Peter Steinberger
a571b59d0d unify settings with notifications 2025-06-27 00:55:36 +02:00
Peter Steinberger
76d520762f remove global fade 2025-06-27 00:54:55 +02:00
Peter Steinberger
f104974dce add blur to mobile fobs 2025-06-27 00:54:45 +02:00
Peter Steinberger
c78a162789 remove global view transition 2025-06-27 00:54:35 +02:00
Peter Steinberger
35ed9d2800 fix create session animation being stuttery om mobile 2025-06-27 00:42:23 +02:00
Peter Steinberger
b927d6665f restructure buttons 2025-06-27 00:41:53 +02:00
Peter Steinberger
77e3683802 Add keyboard fob 2025-06-27 00:41:37 +02:00
Peter Steinberger
7e089c3857 faster animations and consistent in/out 2025-06-27 00:41:20 +02:00
Peter Steinberger
4a63305cbf add postinstall step to patch native libs 2025-06-27 00:18:20 +02:00
Peter Steinberger
f41b54799a realign buttons 2025-06-27 00:03:22 +02:00
Helmut Januschka
f839822a01 build before dev for native modules 2025-06-26 23:31:53 +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
94fde5a75c Remove double buttons 2025-06-26 10:29:29 +02:00
Helmut Januschka
b61cd3be23 up 2025-06-25 22:12:11 +02:00
Mario Zechner
50c48f6533 Fix backpressure handling to prevent hanging on large paste operations
- Add backpressure handling for process.stdout.write() in PTY output forwarding
  - Pause PTY output when stdout buffer is full
  - Resume on drain event to prevent CPU spinning
- Add backpressure logging for socket writes in sendInput()
- Add backpressure logging for file stream writes in AsciinemaWriter
- Remove unused bell detection code (was already commented out)

These changes prevent the hanging issue when pasting large amounts of text
by properly handling stream backpressure instead of blindly writing data.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:02:29 +02:00
Mario Zechner
ec64433632 Add Claude debugger patch and disable bell character handling
- Add claude-patch.ts to enable debugging Claude Code with Node.js --inspect flag
- Temporarily disable bell character handling in pty-manager.ts due to VS Code terminal hanging issue
- Fix TypeScript linter errors across test files (replace any types with proper interfaces)

The bell character handling was causing VS Code terminals to hang when pasting certain content.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 20:05:41 +02:00
Armin Ronacher
2441453287 Special case ios detection for push (still broken) 2025-06-25 15:27:50 +02:00
Peter Steinberger
e847223a32 wip: focus management for text input 2025-06-25 15:00:28 +02:00
Peter Steinberger
54414e2aeb Add settings icon 2025-06-25 15:00:28 +02:00
Mario Zechner
4d0df004e9 Minimal pty test 2025-06-25 13:52:40 +02:00
Peter Steinberger
b441bc053c Move DeepWiki badge to badge row
Move the DeepWiki badge to the right side of the badge row, next to "Support us on Polar" for better visual consistency.
2025-06-25 12:28:59 +02:00