Commit graph

25 commits

Author SHA1 Message Date
Mario Zechner
e27657a9fe WIP: Interactive session view needs refinement
- Basic routing and keyboard handling implemented
- Terminal display and input sending functional
- Still needs polish and bug fixes before fully working

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 05:54:15 +02:00
Mario Zechner
09cc9edb43 Implement interactive session view with keyboard input
- Add session-view.ts component for full-screen terminal interaction
- Implement real-time keyboard input handling for all key types
- Add routing between session list and interactive session view
- Support special keys, Ctrl combinations, and regular text input
- Remove compiled JS files from git tracking (should be build artifacts)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 05:51:27 +02:00
Mario Zechner
ba4a86c5db Improve terminal preview layout for better space utilization
- Change asciinema player fit mode from 'both' to 'width' for horizontal expansion
- Add overflow-hidden to prevent vertical overflow from breaking layout
- Terminal previews now always use full card width

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 05:48:50 +02:00
Mario Zechner
64c97832c3 FUUUUU 2025-06-16 05:44:51 +02:00
Mario Zechner
a7dce56757 Fix live streaming for terminal previews with asciinema player
- Configure asciinema player with eventsource driver for SSE support
- Update server stream endpoint to properly format SSE for asciinema
- Session preview cards now display live terminal output

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 05:43:04 +02:00
Mario Zechner
9cbda0d4eb Very good commit 2025-06-16 05:11:09 +02:00
Mario Zechner
79509ea251 Simplify UI with clean header and button styling
- Replace complex ASCII header with simple "VibeTunnel" text
- Remove ASCII brackets from buttons: CREATE, CLEAN, CLEAN EXITED, kill
- Add border to header for visual separation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 05:11:09 +02:00
Mario Zechner
179d0db754 Clean up file naming by removing -new suffixes
- Renamed server-new.ts → server.ts
- Renamed app-new.ts → app.ts
- Renamed app-new-entry.ts → app-entry.ts
- Updated package.json scripts to remove all -new references
- Updated custom element name from vibetunnel-app-new to vibetunnel-app
- Updated index.html to reference cleaned up files
- Added CLAUDE.md with development notes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:55:18 +02:00
Mario Zechner
2eeb996be4 Improve create button styling when disabled
- Added disabled:opacity-50 to make button appear grayed out when disabled
- Added disabled:cursor-not-allowed for better UX when button is disabled
- Added disabled:hover:bg-vs-user to prevent hover effects on disabled button
- Button is disabled when command field is empty or only whitespace

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:39:06 +02:00
Mario Zechner
12a9659de1 Optimize cleanup functionality using tty-fwd bulk cleanup
- Discovered that tty-fwd --cleanup (without session ID) cleans all exited sessions
- Added new /api/cleanup-exited endpoint that uses bulk cleanup command
- Updated client to use single API call instead of multiple individual deletions
- Improved performance and reliability for cleaning multiple exited sessions
- Simplified error handling with single bulk operation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:33:46 +02:00
Mario Zechner
6e22984ee8 Add Clean Exited button and improve button row styling
- Added handleCleanExited method to delete all exited sessions in batch
- Added cleaningExited state to track cleaning progress
- Added Clean Exited button with proper styling and disabled state
- Improved button row layout with grouped buttons on left and checkbox on right
- Added transition-colors for smooth hover effects
- Button automatically disables when no exited sessions exist

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:31:01 +02:00
Mario Zechner
ab36c56836 Rebuild client components to make Create Session button visible
Updated compiled JavaScript files to include the latest TypeScript changes
for the Create Session button and modal functionality.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:24:59 +02:00
Mario Zechner
a868752e40 Fix Create Session button visibility by removing duplicate form
Removed the duplicate session-create-form component from the main app since
the session list now manages its own modal. Added session-created event
handler to the session-list component.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:21:16 +02:00
Mario Zechner
77706ab1f5 Improve session card filtering and new session handling
- Add checkbox filter to hide exited sessions with custom styling
- Limit responsive grid to max 3 columns instead of 4
- Add smart delay for new session snapshots (3 seconds)
- Load existing session snapshots immediately
- Prevent asciinema player errors on new sessions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:14:10 +02:00
Armin Ronacher
8f2219f9f9 We apparently need to ignore some files 2025-06-16 04:09:08 +02:00
Mario Zechner
26d0624333 Add missing components.js to .gitignore
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:02:45 +02:00
Mario Zechner
48ce0c6b98 Remove all build artifacts from git tracking
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:02:27 +02:00
Mario Zechner
56edbebe4c Fix dev script to use server-new.ts
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:01:49 +02:00
Mario Zechner
3fdcd1b926 Revert "Clean up old unused files and components"
This reverts commit 0bee6f13aa.
2025-06-16 04:01:28 +02:00
Mario Zechner
99bd45271c Add build artifacts to .gitignore and remove from tracking
- Add all JavaScript build outputs to .gitignore
- Remove compiled files from git tracking
- Keep source files in TypeScript only

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 04:01:10 +02:00
Mario Zechner
7f63c9e168 Fix session card UI and file browser issues
- Update asciinema player CSS to use proper aspect ratios
- Fix file browser z-index and layout issues
- Remove old unused app.ts and server.ts files
- Keep working app-new components structure

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 03:59:39 +02:00
Mario Zechner
0bee6f13aa Clean up old unused files and components
- Remove old app-new entry points and components
- Remove duplicate/experimental files
- Keep only active session-list and file-browser components

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 03:50:22 +02:00
Mario Zechner
920b040b61 Improve session card UI with asciinema players
- Add proper card layout with compact header and footer
- Auto-load asciinema players for all sessions
- Change aspect ratio to 640/480 for better terminal display
- Fix z-index issues with file browser overlays
- Center and fit players within card bounds
- Change kill button from 'x' to 'kill' with loading state
- Remove session list header and borders for more space

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 03:49:42 +02:00
Mario Zechner
2324be0706 Web WIP 2025-06-16 03:35:14 +02:00
Mario Zechner
6830517221 Add complete web frontend for terminal multiplexer
- Implement TypeScript/Express server with tty-fwd integration
- Add real-time terminal streaming via Server-Sent Events using tail -f
- Create asciinema player integration with dynamic resize support
- Implement global keyboard capture for full terminal interaction
- Add session management (create, list, kill) with proper cleanup
- Support instant playback of existing content + real-time new content
- Include directory browser for working directory selection
- Add hot reload development workflow with concurrent build processes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 00:29:33 +02:00