Commit graph

20 commits

Author SHA1 Message Date
Peter Steinberger
83a4bf0f75
fix: apply formatters to pass CI checks (#19) 2025-06-19 01:39:27 +02:00
Peter Steinberger
1ece7b2fd5 feat: add comprehensive unit tests for Rust server and update dependencies
- Add unit tests for protocol.rs (24 tests)
  - SessionInfo serialization/deserialization
  - AsciinemaHeader and event handling
  - StreamWriter UTF-8 and escape sequence processing

- Add unit tests for sessions.rs (23 tests)
  - Session listing and management
  - PID tracking and process lifecycle
  - Signal handling and cleanup operations
  - Named pipe operations with timeout protection

- Add unit tests for api_server.rs (12 tests)
  - API response serialization
  - MIME type detection
  - File operations and path resolution

- Add unit tests for http_server.rs (12 tests)
  - HTTP request parsing and response generation
  - Server-Sent Events (SSE) handling
  - Edge cases for malformed requests

- Update Rust dependencies
  - jiff: 0.1 -> 0.2
  - nix: 0.29.0 -> 0.30.1
  - Update term_socket.rs for nix 0.30 API changes

- Update npm dependencies
  - Express: ^4.18.2 -> ^5.1.0
  - Various dev dependencies updated

Test coverage: 24.22% overall (489/2019 lines)
- http_server.rs: 82.65% coverage
- sessions.rs: 76.88% coverage
- api_server.rs: 26.55% coverage
- protocol.rs: 5.48% coverage
2025-06-18 19:32:39 +02:00
Peter Steinberger
6a8f472832 feat: adopt Blacksmith CI runners and comprehensive updates
- Migrate GitHub Actions to Blacksmith runners for faster CI
  - Update ubuntu-latest to blacksmith-4vcpu-ubuntu-2404
  - Update actions/setup-node@v4 to useblacksmith/setup-node@v5
  - Update Swatinem/rust-cache@v2 to useblacksmith/rust-cache@v3

- Fix all linting warnings across all platforms
  - TypeScript: Fix any type warnings with proper type annotations
  - Rust: All clippy warnings resolved
  - Swift: Fix SwiftLint violations and format code

- Update all dependencies to latest versions
  - npm: Major updates including Express 5 compatibility fixes
  - Rust: Update 7 crates to latest compatible versions
  - Swift: Dependencies already up-to-date

- Add comprehensive test suite using Vitest
  - API endpoint tests for session CRUD operations
  - WebSocket connection and streaming tests
  - Session management lifecycle tests
  - Frontend component tests (terminal, session-list)
  - Critical functionality tests covering core features
  - Test infrastructure with proper mocking and utilities

- All tests passing, ready for production use
2025-06-18 19:10:03 +02:00
Peter Steinberger
b90986c354 remove macos stuff 2025-06-18 14:14:03 +02:00
Peter Steinberger
e7480c3f59 Spawn new Terminal 2025-06-18 04:52:11 +02:00
Armin Ronacher
4fa8229b6f Add multiplex streaming 2025-06-17 21:18:15 +02:00
Peter Steinberger
9642c7ed85 Add app-calling logic 2025-06-17 13:52:58 +02:00
Armin Ronacher
f23dc80a38 spawn now works via the terminal once peter finishes that 2025-06-17 11:41:52 +02:00
Armin Ronacher
b79d5a1fb4 SIGKILL ueber alles 2025-06-16 23:36:06 +02:00
Armin Ronacher
db752fc39c Added browse command 2025-06-16 20:39:46 +02:00
Armin Ronacher
f328e2c1cb Added password protection 2025-06-16 20:27:07 +02:00
Armin Ronacher
8fcc8f0310 Add hardcore ctrlc handler 2025-06-16 16:10:37 +02:00
Armin Ronacher
f917e18d68 Added a multi stream endpoint 2025-06-16 15:57:59 +02:00
Armin Ronacher
10c1379922 Vendor blocking-http-server 2025-06-16 14:46:09 +02:00
Armin Ronacher
c30f16531e Started port of server into tty-fwd 2025-06-16 14:45:19 +02:00
Armin Ronacher
0032b3c7af Port to jiff 2025-06-16 00:28:29 +02:00
Armin Ronacher
6b8bf43444 Read initial terminal size for reporting in the header 2025-06-16 00:12:16 +02:00
Armin Ronacher
3bf7ce2c25 Add timestamps to session info 2025-06-15 23:55:15 +02:00
Armin Ronacher
c3f5744494 Update session status 2025-06-15 22:17:38 +02:00
Armin Ronacher
e439e1dba9 Initial changes for tty forwarding 2025-06-15 21:30:57 +02:00