Commit graph

303 commits

Author SHA1 Message Date
Peter Steinberger
b363355543 recompile native authenticate_pam for custom node 2025-06-24 01:16:38 +02:00
Peter Steinberger
6d7fcacbd0 restore session id opening (regression after auth) 2025-06-24 01:12:01 +02:00
Peter Steinberger
022a9c57a3 kill the padding for grid 2025-06-24 01:01:04 +02:00
Peter Steinberger
fd0abeeeee really ensures terminals close even for claude 2025-06-24 01:01:04 +02:00
Peter Steinberger
e4783fa807 kill padding around terminals 2025-06-24 01:01:04 +02:00
Peter Steinberger
3d28de87c4 don't use interactive shells for commands, make terminal close 2025-06-24 01:01:04 +02:00
Mario Zechner
bb17f4adcd Async fsync, so writes from PTY to host terminal are fast again. 2025-06-24 00:52:45 +02:00
Helmut Januschka
e9b395b726
Implement comprehensive user authentication with SSH key management (#43)
* Implement comprehensive user authentication system

- Add SSH-first authentication with password fallback
- Implement JWT token-based session management (24h expiry)
- Create browser-based SSH agent with key storage and signing
- Add challenge-response SSH authentication protocol
- Integrate PAM for system password authentication
- Build comprehensive authentication UI components
- Add SSH key manager for key generation and management
- Update middleware to support JWT tokens alongside existing auth
- Maintain backwards compatibility with existing HQ/remote auth
2025-06-24 00:31:13 +02:00
Peter Steinberger
24416d2c27 Better session name 2025-06-24 00:23:33 +02:00
Peter Steinberger
94fc980b0b use new clipboard helper 2025-06-24 00:23:00 +02:00
Peter Steinberger
d1b0c43a09 Don't expand home dir for grid view 2025-06-24 00:19:40 +02:00
Peter Steinberger
a51ecb174f make grid fixed size 2025-06-24 00:07:45 +02:00
Peter Steinberger
ab3acca054 Add back button to log viewer 2025-06-24 00:07:45 +02:00
Armin Ronacher
77dc0993c4 Try to detect what triggers the bell 2025-06-23 23:54:48 +02:00
Peter Steinberger
9dd5c2a3af server: small test fixes 2025-06-23 17:28:22 +02:00
Peter Steinberger
3351cc08c2 fixes linter issues 2025-06-23 16:55:53 +02:00
Peter Steinberger
9101613351 server: Allow empty username to restore b2 behaviour. Fixes #59 2025-06-23 16:55:26 +02:00
Armin Ronacher
5361ef167c Remove asset serving from service worker 2025-06-23 16:16:32 +02:00
Armin Ronacher
70e89ee8a7 Fix notification icon 2025-06-23 16:10:00 +02:00
Peter Steinberger
ed9ea0e373 TS fixes 2025-06-23 15:28:20 +02:00
Armin Ronacher
0a349e72dd Kill it again 2025-06-23 15:24:19 +02:00
Peter Steinberger
03cb7b4774 fix remaining ts issues 2025-06-23 15:22:47 +02:00
Peter Steinberger
530109fa4d Add Slack notifications for CI results
- Notify on all main branch pushes and PR builds
- Include job status, commit info, and failure details
- Setup guide in .github/SLACK_SETUP.md
2025-06-23 15:19:14 +02:00
Armin Ronacher
88261c3781 Remove this indicator dot thing 2025-06-23 15:10:42 +02:00
Armin Ronacher
79b82e4977 Removed push notification banner 2025-06-23 15:07:49 +02:00
Armin Ronacher
a4525bacb6 Try to fix notification icon 2025-06-23 15:01:52 +02:00
Peter Steinberger
c7e0675d5c Support bind for server 2025-06-23 14:58:11 +02:00
Armin Ronacher
4a3f7d4722 Better filtering for OSC bells 2025-06-23 14:12:46 +02:00
Armin Ronacher
0ac9f81b90 Added push notifications for bells 2025-06-23 13:51:49 +02:00
Armin Ronacher
cb9e7c640c Improve UI session names to use human-readable format
Replace ugly timestamp-based session names (session_1703123456789)
with human-readable format like "claude (~/Dev/vibetunnel/web)".

- Extract session naming logic into shared utility
- Update UI session creation to use same naming as CLI
- Consolidate abbreviatePath and generateSessionName functions
- Both CLI and UI sessions now use consistent readable names

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 09:52:47 +02:00
Armin Ronacher
3c7b2855d3 Make the session exited clearer 2025-06-23 09:45:38 +02:00
Armin Ronacher
3758e2d375 Allow navigating to arbitrary paths and make the location clickable in the browser 2025-06-23 09:30:30 +02:00
Mario Zechner
eb4f358fa2 Merge main into monaco branch 2025-06-23 05:59:04 +02:00
Mario Zechner
c07279a161 Fix Monaco editor diff view and improve file browser UI
- Fixed diff view highlighting by completely disabling workers
- Changed from ES modules to AMD loading for Monaco
- Extracted 356 lines of icon code to file-icons.ts utility
- Fixed git status detection with proper path handling
- Added recursive git changes view with flat listing
- Improved title bar with blue path color and better back button
- Made file browser fullscreen with mobile swipe support
- Moved git toggles to file list header to save space
- Made preview header responsive with 2-column grid on mobile
- Fixed server-side git show HEAD command with ./ prefix

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 05:56:58 +02:00
Mario Zechner
f71b6d4bd7 feat: Create test infrastructure for component testing
- Rename terminal test bundle to generic test bundle (test.js)
- Create organized test structure in src/client/test/
- Move test HTML files to src/client/assets/test/
- Fix terminal-test component API usage and styling
- Fix Monaco editor worker loading issues by disabling workers
- Use AMD loader approach for Monaco initialization
- Apply Tailwind classes instead of inline CSS

The test infrastructure now supports isolated component testing with
individual HTML pages for each component. Monaco editor works with
syntax highlighting using the default vs-dark theme.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 04:25:56 +02:00
Peter Steinberger
c7063d4544 tone down bounce 2025-06-23 04:07:16 +02:00
Peter Steinberger
011d6ae815 remove the fab 2025-06-23 04:07:16 +02:00
Peter Steinberger
b884986203 update favicon 2025-06-23 04:07:15 +02:00
Peter Steinberger
0a75e27948 Update PWA icon 2025-06-23 04:07:15 +02:00
Mario Zechner
6e5af13f7f fix: Replace invalid Tailwind theme() function with hex color value
The shadow utility was using theme(colors.accent.green) which is not
supported in arbitrary value syntax. Replaced with direct hex value #00ff88.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 03:22:10 +02:00
Peter Steinberger
fce126cf5d use flex-grid for terminals 2025-06-23 03:22:01 +02:00
Mario Zechner
762ebc0196 feat: Replace CodeMirror with Monaco Editor
- Add Monaco Editor (v0.52.2) as dependency
- Create MonacoEditor Lit component with normal and diff modes
- Support inline/side-by-side diff switching with responsive behavior
- Replace CodeMirror in file browser with Monaco
- Add /api/fs/diff-content endpoint for fetching original/modified content
- Update build system to use esbuild with Monaco plugin
- Add proper Monaco asset handling and bundling
- Style Monaco with VibeTunnel dark theme

Note: There are rendering artifacts that need to be addressed

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 03:14:45 +02:00
Peter Steinberger
dd2ca4042f span all width 2025-06-23 02:56:01 +02:00
Peter Steinberger
40899a3612 properly apply black hole effect 2025-06-23 02:55:27 +02:00
Peter Steinberger
6377a3189c add phosphor decay effect for dead terminals 2025-06-23 02:55:19 +02:00
Mario Zechner
402143716e Add shell alias support and improve debug logging
- Add automatic shell alias resolution via ProcessUtils.resolveCommand()
- Support aliases like 'claude-danger' by running through user's shell
- Detect user's shell properly on all platforms (zsh, bash, pwsh, cmd, etc.)
- Replace --debug CLI flag with VIBETUNNEL_DEBUG environment variable
- Update spec.md with new functionality

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 02:45:54 +02:00
Armin Ronacher
f25194d3c8 Fixed home path detection (hopefully) 2025-06-23 01:22:13 +02:00
Armin Ronacher
96460fa5e4 Fix path insert 2025-06-23 01:14:54 +02:00
Armin Ronacher
a8f96f8129 Replace monaco with codemirror for previews (works now) 2025-06-23 00:52:50 +02:00
Mario Zechner
4ab8d6bb46 Add font size control to terminal settings dropdown
- Fix keyboard event handling to allow typing in terminal width input field
- Add font size adjustment controls (8-32px range) with +/- buttons and reset
- Store font size preference in localStorage for persistence
- Trigger terminal resize events when font size changes to update PTY dimensions
- Improve UX by preventing input event bubbling in settings dropdown

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 00:48:46 +02:00