Releases: MiguVT/ChatterinoWatch
Releases · MiguVT/ChatterinoWatch
📦 v2.0.2 - The "Oops, Fixed That" Update
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
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
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 abstractionutils/channel.ts: Channel extraction and validationutils/debounce.ts: Rate limiting utilitiesutils/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
ChatterinoConnectionfor connection managementChannelStatefor 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
✨ What's New
🔧 Error Handling Improvements
- Added robust error handling for:
chrome.runtime.connectNativeinsrc/background.jsto gracefully manage native messaging connection failures.chrome.tabs.getandchrome.windows.getinsrc/background.jsto prevent crashes when tab/window info is missing.chrome.runtime.sendMessageinsrc/content.jsto catch and manage message delivery issues.
⏱ Debounce Enhancements
- Introduced debounce logic to reduce redundant executions and improve performance:
chrome.tabs.onActivatedandchrome.tabs.onUpdatedinsrc/background.js.sendChannelToBackgroundinsrc/content.js.
🚀 Function Optimization
connectPortoptimized to maintain persistent connections.sendToChatterinonow checks port availability before attempting connection.MutationObserverinsrc/content.jsnow observes only target-specific elements.
🧠 Code Clarity & Maintainability
- Added detailed inline comments in
src/background.jsandsrc/content.jsto improve code readability and future maintainability.