Skip to content

Modernized Streaming & Advanced Controls

Choose a tag to compare

@github-actions github-actions released this 04 Jun 04:12

This major release introduces significant enhancements to stream reliability, client-side resource optimization, and interactive card controls, alongside a modernized development and testing framework.

Bug Fixes & Improvements

  • Backend: Isolated camera HTTP client sessions to prevent PHPSESSID cookie and stream bleeding between multiple camera entities.
  • Backend: Added automatic token invalidation and refresh logic to the HLS proxy view when detecting expired tokens, empty playlists, or copyright warning pages.
  • Backend: Implemented a thread-safe LRU cache (up to 15 chunks) in the camera entity to store binary .ts chunks, speeding up card startup and reducing upstream server load.
  • Lovelace Card: Implemented viewport pausing via IntersectionObserver to automatically pause HLS loading and playback when cards are off-screen, saving network bandwidth and CPU.
  • Lovelace Card: Added a custom interactive controls overlay with manual Play/Pause, Picture-in-Picture (PiP), and Fullscreen toggle buttons.
  • Lovelace Card: Integrated page visibility listener to correctly play/pause and recover player instances on tab change.
  • Lovelace Card: Introduced the show_link config option to display direct links to the original webcams on SkylineWebcams.

Maintenance

  • Tooling: Set up a dedicated frontend workspace with TypeScript, Rollup, Prettier, and ESLint.
  • Testing: Rebuilt the frontend testing architecture from scratch using Vitest, Happy DOM, and clean prototype mocks.
  • Workflows: Automated version updates, frontend bundling, and draft release generation triggered by git tags in GitHub Actions.