Commit graph

23 commits

Author SHA1 Message Date
Peter Steinberger
d4b7962800
Refactor notification preferences system (#469)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Alex Fallah <alexfallah7@gmail.com>
2025-07-27 13:32:11 +02:00
Peter Steinberger
f3a98ee058
feat: add comprehensive Git worktree management with follow mode and enhanced UI (#452) 2025-07-26 15:06:18 +02:00
Peter Steinberger
102f6c5e33
Improve Quick Start editor UI consistency across web and macOS (#448) 2025-07-21 17:11:49 +02:00
Peter Steinberger
690ac8fe48
Add image upload menu with paste, select, camera, and browse options (#432) 2025-07-20 19:46:49 +02:00
Peter Steinberger
ec5dd0a611
Fix timer continuing to run for exited sessions (#428) 2025-07-20 16:58:01 +02:00
Peter Steinberger
0ef15a0427
Remove screen sharing feature (#415) 2025-07-19 01:21:47 +02:00
Peter Steinberger
de2f5bcf59
Only show spawn window toggle when Mac app is connected (#357) 2025-07-15 22:41:51 +02:00
Peter Steinberger
192fd7e941
Improve asciicast clear offset caching (#333)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-15 03:24:15 +02:00
Peter Steinberger
7e697d6774
Delete old sessions when VibeTunnel version changes (#254) 2025-07-07 00:05:26 +01:00
Helmut Januschka
f3b2022d48
Integrate screencap functionality for remote screen sharing (#209)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-07-06 03:31:34 +01:00
Peter Steinberger
2a937eac4a
Make popover window sticky during new session creation (#194) 2025-07-02 16:49:34 +01:00
Peter Steinberger
acf91e228d
Add sidebar toggle button with collapse/expand functionality (#175) 2025-07-01 14:52:56 +01:00
Peter Steinberger
6196c55ded
Display Claude status in Mac menubar (#160) 2025-07-01 11:21:28 +01:00
Peter Steinberger
8bc6e81549
feat: add comprehensive terminal title management (#124) 2025-06-30 04:15:09 +01:00
Peter Steinberger
38b7846605
Fix terminal width overflow causing flickering in native terminals (#123) 2025-06-29 11:43:29 +01:00
Peter Steinberger
d0c42107f3 Switch to client-side path formatting with regex
- Remove all server-side path formatting logic
- Implement simple regex-based client-side formatting
- Support macOS, Linux, Windows, and root user paths
- Simpler implementation with no API changes needed
- Better separation of concerns (UI formatting in UI layer)
2025-06-28 15:22:05 +02:00
Peter Steinberger
856dc3ce91 Remove hardcoded home directory from client-side path formatting
- Deprecate client-side formatPathForDisplay function
- Remove hardcoded /Users/steipete path
- Add JSDoc comments explaining server-side formatting is preferred
- Add documentation to displayWorkingDir property in Session interface
2025-06-28 15:22:05 +02:00
Peter Steinberger
c05d91e1b2 Fix mobile header truncation and dynamic home directory display
- Replace hardcoded home directory with dynamic detection using os.homedir()
- Add server-side path formatting using existing abbreviatePath utility
- Add displayWorkingDir field to Session interface
- Fix mobile header overflow with proper width constraints
- Update clickable-path component to accept pre-formatted display paths

This fixes both the regression where ~ substitution was broken and the
mobile header pushing content off-screen when session paths are long.

Fixes #96
2025-06-28 15:22:05 +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
Peter Steinberger
60d4556a58 Add new terminal quick keyboard 2025-06-25 12:22:13 +02:00
Armin Ronacher
0ac9f81b90 Added push notifications for bells 2025-06-23 13:51:49 +02:00
Mario Zechner
e912b65c9e Fix Node.js detection in build-bun-executable.sh for Xcode builds
Add common Node.js installation paths to PATH including Homebrew, NVM, n, and MacPorts locations. This matches the approach used in build-web-frontend.sh and ensures the script can find Node.js when running in Xcode's restricted environment.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 04:04:52 +02:00
Mario Zechner
18a28992df Add comprehensive frontend component documentation
- Document all frontend components with JSDoc headers describing their purpose and events
- Add @fires and @listens tags for all component events with detailed parameter descriptions
- Update spec.md with complete Component Event Architecture section
- Add shared terminal-text-formatter.ts for consistent text formatting between client/server
- Implement event-driven activity detection replacing polling-based approach
- Add content-changed event to vibe-terminal-buffer for activity monitoring
- Remove ESC prompt detection in favor of general activity detection
- Add plain text endpoint with optional style formatting (/api/sessions/:id/text?styles)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 23:14:30 +02:00