Skip to content

Releases: MiguVT/ChatterinoWatch

📦 v2.0.2 - The "Oops, Fixed That" Update

13 Oct 20:11

Choose a tag to compare

Fixed

  • Fixed issues that extension version was strictly set to 2.0.0 in manifest and package.json instead of using the correct version.

Full Changelog: v2.0.1...v2.0.2

📦 v2.0.1 - Firefox Compatibility Fix & Code Quality

13 Oct 19:55

Choose a tag to compare

Fixed

  • Fixed Firefox build to use background scripts instead of service workers
    (service workers are not fully supported in Firefox extensions and are experimental if I'm not wrong)

Full Changelog: v2.0.0...v2.0.1

📦 v2.0.0 - Faster, Lighter & More Reliable

13 Oct 19:11

Choose a tag to compare

Major Rewrite

Complete rewrite with TypeScript and Bun.

No end-user breaking changes 😎

Added

  • Bun Runtime: Migrated from Node.js to Bun
  • TypeScript: Full TypeScript rewrite with strict type checking
  • Modular Architecture: Organized code into utility modules
    • utils/browser.ts: Cross-browser API abstraction
    • utils/channel.ts: Channel extraction and validation
    • utils/debounce.ts: Rate limiting utilities
    • utils/logger.ts: Structured logging
  • Type Definitions: Comprehensive types in src/types/
  • Performance Features:
    • Intersection Observer for visibility detection
    • Page Visibility API integration
    • Debounced updates (300ms)
  • Testing: Bun test runner with 95%+ coverage
  • Code Quality:
    • ESLint with TypeScript support
    • Prettier formatting
    • Validation scripts
  • CI/CD: GitHub Actions workflow
  • Error Handling: Retry logic and connection management

Changed

  • Build System: Bun native bundler
  • Background Script: Refactored with classes
    • ChatterinoConnection for connection management
    • ChannelState for state tracking
  • Content Script: Optimized with modern APIs
    • MutationObserver for navigation
    • IntersectionObserver for performance
  • Manifest: Updated to v2.0.0
  • Documentation: Rewritten for Bun/TypeScript
  • Package Scripts: Modernized with Bun commands

Improved

  • Bundle Size: Smaller bundles through tree shaking and minification
  • Build Speed: Faster builds with Bun
  • Test Speed: Instant test feedback with Bun test runner
  • Memory Usage: Reduced memory footprint with optimized observers
  • Code Quality: Strict TypeScript and linting rules
  • Developer Experience: Hot reload in dev mode, better error messages

Fixed

  • Improved handling of Twitch URL variations (with/without www)
  • Better cleanup on extension shutdown
  • More reliable connection retry logic
  • Fixed potential memory leaks in observers

Removed

  • Jest and related Node.js dependencies
  • fs-extra (using native Bun APIs)
  • Unnecessary polyfill overhead in Chrome builds
  • Legacy JavaScript files

Full Changelog: v1.2.0...v2.0.0

📦 v1.2.0 – Stability & Performance Upgrade

23 Apr 15:44

Choose a tag to compare

✨ What's New

🔧 Error Handling Improvements

  • Added robust error handling for:
    • chrome.runtime.connectNative in src/background.js to gracefully manage native messaging connection failures.
    • chrome.tabs.get and chrome.windows.get in src/background.js to prevent crashes when tab/window info is missing.
    • chrome.runtime.sendMessage in src/content.js to catch and manage message delivery issues.

⏱ Debounce Enhancements

  • Introduced debounce logic to reduce redundant executions and improve performance:
    • chrome.tabs.onActivated and chrome.tabs.onUpdated in src/background.js.
    • sendChannelToBackground in src/content.js.

🚀 Function Optimization

  • connectPort optimized to maintain persistent connections.
  • sendToChatterino now checks port availability before attempting connection.
  • MutationObserver in src/content.js now observes only target-specific elements.

🧠 Code Clarity & Maintainability

  • Added detailed inline comments in src/background.js and src/content.js to improve code readability and future maintainability.