Commit graph

685 commits

Author SHA1 Message Date
Peter Steinberger
39d35d0655 Bump version to 1.0.0-beta.13 2025-07-17 19:47:28 +02:00
Peter Steinberger
87454cf4b2
Fix vt test for conditional installation (#393) 2025-07-17 19:04:30 +02:00
Peter Steinberger
5bdc7f7b1b
Fix missing public directory in Mac app bundle (#392) 2025-07-17 14:12:34 +02:00
Peter Steinberger
ed61d41b95 fix: resolve all lint errors with proper type annotations
- Replace any types with proper type assertions
- Fix unused imports and variables
- Apply formatting fixes
2025-07-17 13:30:08 +02:00
Peter Steinberger
fd2737b8a1 Merge PR #391: Add comprehensive vt command tests
- Add vitest integration test for vt command functionality
- Add shell script test for build-time validation
- Include vt tests in main check script to run in CI
- Tests cover: syntax validation, help functionality, error handling, npm package config
- Add pnpm run test:vt script for easy testing
- Exclude vt symlink from package.json bin section to avoid conflicts with other vt installations

Co-authored-by: hewigovens <360470+hewigovens@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-17 13:16:16 +02:00
Peter Steinberger
e5c6beb276 Fix bash syntax error in vt wrapper script
Add 'true' no-op command to empty if-then block to prevent 'syntax error near unexpected token fi' on Linux systems
2025-07-17 13:11:18 +02:00
Peter Steinberger
986fa3a9ff
refactor: clean up stray files in web/ directory (#386) 2025-07-17 09:37:45 +02:00
Peter Steinberger
84b7467e83 fix: handle authenticate-pam as optional dependency in npm package
- Modified postinstall script to extract authenticate-pam prebuilds when npm skips optional deps
- Updated authenticate-pam-loader to load from optional-modules directory
- Prepared beta.12 release with all fixes consolidated
- Moved Docker test script to scripts folder
- Updated documentation in npm.md
2025-07-17 09:32:42 +02:00
Peter Steinberger
693565d9ea
Fix npm package to handle authenticate-pam as optional dependency (#390) 2025-07-17 09:30:28 +02:00
Alex Mazanov
5fac9e5e2b fix: resolve PAM module and npm_config_prefix issues on Ubuntu (issue 380)
This commit addresses the Ubuntu installation issues reported in issue 380:

  **PAM Module Fix:** - Fix .npmignore to include authenticate-pam module in npm package - Previously node_modules/ exclusion prevented
  authenticate-pam from being packaged - Resolves \"PAM Authentication Warning: The native authenticate-pam module isn't found\"

  **npm_config_prefix Conflict Detection:** - Add detection for npm_config_prefix conflicts with NVM in postinstall script - Warn users when
  npm_config_prefix overrides NVM's per-version configuration - Provide clear instructions to resolve the conflict - Document
  troubleshooting steps in docs/npm.md
2025-07-17 03:34:36 +02:00
Peter Steinberger
a1328a90c6
Fix SSH key generation errors on non-localhost HTTP connections (#384) 2025-07-17 03:15:53 +02:00
Peter Steinberger
bbea65d274 fix: unify READMEs and fix npm package documentation (#381)
- Use web/README.md as single source of truth for npm package
- Remove generated README from build-npm.js, now copies from web/
- Fix incorrect --auth parameter (should be --no-auth)
- Add complete CLI options based on actual code parsing
- Remove non-existent --username/--password CLI flags (env vars only)
- Add missing options: --vapid-email, --repository-base-path, etc.
- Clarify installation differences between npm and source
- Add troubleshooting section for npm installation issues
- Keep port as 4020 (our standard port)

Closes #381
2025-07-17 02:47:10 +02:00
Peter Steinberger
a3d6666eec Unify npm and web readme 2025-07-17 02:35:23 +02:00
Peter Steinberger
bf65e7275b Improve release process and remove stray node folder 2025-07-17 02:34:59 +02:00
Peter Steinberger
d85f7657b1 fix: remove verbose output from vt script (#383)
The vt script now operates silently by default, removing the
'# Using VibeTunnel from Mac app bundle' debug message that was
printed to stderr. Error messages are still shown when appropriate.

Closes #383
2025-07-17 02:23:09 +02:00
Peter Steinberger
d69a4c1ef3
Fix npm package installation issues (#377) 2025-07-17 00:50:33 +02:00
Peter Steinberger
19f80eaf5c
Fix screencap authentication (fixes #264) (#374) 2025-07-16 23:15:45 +02:00
Peter Steinberger
253d0ae3e7
Fix npm package build and installation issues (#360)
Co-authored-by: Alex Mazanov <alexandr.mazanov@gmail.com>
2025-07-16 23:05:26 +02:00
Peter Steinberger
2f3a4217d0
Fix control message loop and simplify welcome screen repository display (#372) 2025-07-16 09:30:56 +02:00
Peter Steinberger
500c75ebc8
Hide screen sharing button when Mac app is not connected (#367) 2025-07-16 03:37:33 +02:00
Peter Steinberger
12a2468f01
Replace bell icon with settings icon (#366) 2025-07-16 03:26:01 +02:00
Peter Steinberger
d40a78b4f2
Synchronize repository base path from Mac app to web UI (#358) 2025-07-16 03:09:19 +02:00
Peter Steinberger
1481b490e4 Update to version 1.0.0-beta.11 build 200 2025-07-16 03:05:12 +02:00
Peter Steinberger
32d92e306a
feat: add verbosity control to vt command (#356) 2025-07-15 22:43:38 +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
7cef4c1641
Fix file browser constant refresh issue (#354) 2025-07-15 21:06:38 +02:00
Peter Steinberger
6c4adfe10f fix: resolve Tailwind CSS content pattern performance warning
- Remove redundant content patterns
- Add explicit node_modules exclusion
- Prevents accidental matching of node_modules files
2025-07-15 20:45:52 +02:00
Peter Steinberger
f09eb9a493 fix: increase file browser z-index to appear above modal backdrop
The file browser was rendering behind the session create form modal because its z-index (200) was lower than the modal backdrop (1000). Increased FILE_BROWSER z-index to 1100 to ensure proper layering.

Also added debug logging to handleBrowse method for better troubleshooting.
2025-07-15 09:31:39 +02:00
Igor Tarasenko
4f1dd36be5
fix: allow browser keyboard shortcuts to work properly (#298)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-07-15 05:38:23 +02:00
Luke
2b8db854d9
fix: prevent duplicating sessions (#345)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-07-15 03:50:51 +02:00
Peter Steinberger
7545e86e6a
feat: Set Dracula as default theme for new users (#349)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-15 03:44:42 +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
Marek Šuppa
e8191181c9
feat(web): Add repository discovery to web client (#301)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-07-15 03:23:28 +02:00
Tao Xu
e89abc9dc6
Fix SSH key manager modal layout and test compatibility (#325)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-15 02:52:49 +02:00
Peter Steinberger
68e6456aef
docs: Add Linux setup instructions and authentication documentation (#344)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-15 02:47:25 +02:00
Peter Steinberger
34b596a010
Enable keyboard navigation on session grid (#322) 2025-07-12 23:23:28 +02:00
Peter Steinberger
00933690a8
Fix Safari clipboard paste (#336)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-12 23:13:35 +02:00
Peter Steinberger
29f938dcc1
Terminal theme improvements (#332)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-12 22:11:30 +02:00
Peter Steinberger
d019559f2b feat(web): add terminal theme preference 2025-07-12 19:45:27 +02:00
Peter Steinberger
93ba0064bd feat: add compression, security headers, and caching optimizations
Implement several performance and security improvements for Express 5:

Performance:
- Add compression middleware with Brotli support for all responses
- Enable WebSocket compression (perMessageDeflate) for terminal data
- Exclude compression for SSE streams (/api/sessions/:id/stream) to prevent asciicast issues
- Add intelligent caching headers for static assets:
  - Immutable assets (JS, CSS, fonts, images): 1 year cache
  - HTML files: 1 hour cache
  - Enable ETags and Last-Modified headers

Security:
- Add Helmet middleware for security headers
- Disable CSP and COEP to maintain compatibility with terminal features

Additional improvements:
- Remove obsolete @ts-expect-error directives (Express 5 properly types res.flush)
- Balanced compression level (6) for optimal performance

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:42:54 +02:00
Peter Steinberger
c2d9039e45 chore: update all dependencies to latest versions (except Tailwind)
Update all project dependencies to their latest versions while keeping
Tailwind CSS at v3.4.17 to avoid breaking changes.

Notable updates:
- Express: 4.19.2 → 5.1.0 (major version upgrade)
- Chalk: 4.1.2 → 5.4.1 (major version upgrade to ESM)
- CodeMirror packages: Updated to latest v6 versions
- TypeScript types: Updated to latest versions
- Development tools: Biome, Playwright, Puppeteer, etc.

All code quality checks pass successfully after the updates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:30:47 +02:00
Peter Steinberger
cd2378c665 fix: add user ID for no-auth mode and improve TypeScript imports
Extract improvements from PR #318:

1. Set default user ID in no-auth mode for auth middleware
   - Ensures consistent behavior when authentication is disabled
   - Prevents potential issues with undefined user IDs

2. Convert to type-only imports in push notification service
   - Use TypeScript type imports for better tree shaking
   - Remove .js extensions from imports for consistency
   - Minor logging improvement for service worker registration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:21:29 +02:00
Peter Steinberger
1052354394 feat: add keyboard navigation to session grid
- Enable arrow key navigation (up/down/left/right) through sessions
- Press Enter to open selected session
- Add visual feedback for keyboard-selected sessions
- Fix global event listener conflict by scoping to component
- Make session-list focusable with proper focus indicators
- Pass selected state to session-card for visual highlighting

Adopts PR #322 with improvements based on review feedback
2025-07-12 12:48:22 +02:00
Peter Steinberger
e3d0d9655b
Add professional light mode with theme toggle (#314) 2025-07-12 01:42:42 +02:00
Peter Steinberger
2dc37db0bb
Extract mobile detection to shared utility and reduce mobile font size (#310) 2025-07-11 10:24:06 +02:00
Peter Steinberger
0c617aed8d
Fix mobile terminal resize loop (#305) 2025-07-11 08:23:47 +02:00
Peter Steinberger
b16035b9f8
Remove activity indicator to prevent title jumping (#309) 2025-07-11 08:22:54 +02:00
Peter Steinberger
83fa3a22b8
Replace Microsoft node-pty with vendored fork to fix crashes (#304) 2025-07-11 07:19:32 +02:00
Peter Steinberger
25c8322b04
Fix mobile header overflow with dropdown menu (#295) 2025-07-10 07:50:34 +02:00
Jeff Hurray
d0e5bdacf2
Consolidate Z Index Logic (#291)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-10 06:34:50 +02:00