Skip to content

Release vv1.5.2

Choose a tag to compare

@doublegate doublegate released this 07 Jan 07:17
· 1 commit to master since this release

v1.5.2 - Technical Debt Remediation

Major technical debt remediation release focused on code quality, security, testing, and maintainability improvements. This release establishes a solid foundation for future development with zero ESLint warnings, comprehensive test coverage, and significantly reduced security vulnerabilities.

Highlights

Metric Before After Improvement
ESLint Warnings 25 0 100%
Security Vulnerabilities 10 2 80%
Test Coverage 0% Initial New capability
main.ts Lines 810 372 54% reduction

Code Quality Improvements

  • ESLint Warnings: Reduced from 25 to 0 (100% resolution)
    • Fixed 16 unused variable warnings across the codebase
    • Resolved 9 any type warnings with proper TypeScript types
  • Prettier Formatting: Applied consistent formatting to 63 files
  • Dependency Cleanup: Replaced vulnerable cpx package with copyfiles

Security Improvements

  • Vulnerability Reduction: Reduced from 10 to 2 vulnerabilities (80% reduction)
  • Vite Update: Updated to fix moderate CVE
  • ESLint JSON Plugin: Updated @eslint/json to fix vulnerability
  • Remaining: 2 low-severity vulnerabilities in transitive dependencies (acceptable risk)

Code Refactoring

  • Network Interceptor Extraction: Extracted network interception logic from main.ts
    • New module: src/electron/network/interceptor.ts
    • main.ts reduced from 810 to 372 lines (54% reduction)
    • Improved separation of concerns and maintainability
  • DiagnosticsPanel Componentization: Split into reusable components
    • src/overlay/components/diagnostics/StatusIndicator.tsx
    • src/overlay/components/diagnostics/TabButton.tsx

Testing Infrastructure

  • Vitest Framework: Added modern testing framework
  • Test Configuration: Created vitest.config.ts with proper TypeScript support
  • Initial Test Suite: 8 passing tests for tryPatchBody function
    • Tests cover resolution override, FPS override, codec selection
    • Tests verify edge cases and malformed input handling
  • New npm Scripts:
    • npm run test - Run tests once
    • npm run test:watch - Run tests in watch mode
    • npm run test:coverage - Run tests with coverage report

CI/CD Improvements

  • PR Validation Workflow: Added .github/workflows/ci.yml
    • Runs Prettier format check
    • Runs ESLint linting
    • Runs TypeScript build
    • Runs test suite
    • Triggers on all pull requests to master

Files Added

  • src/electron/network/interceptor.ts - Network interception module
  • src/overlay/components/diagnostics/StatusIndicator.tsx - Reusable status indicator
  • src/overlay/components/diagnostics/TabButton.tsx - Reusable tab button
  • .github/workflows/ci.yml - PR validation workflow
  • vitest.config.ts - Vitest configuration
  • tests/interceptor.test.ts - Network interceptor tests

Installation

Visit our Release page for the latest builds in various formats: zip, deb, AppImage, rpm, and exe.

Also available via Flatpak (Flathub) and AUR.


Full changelog: CHANGELOG.md