Skip to content

Conversation

@judicaelandria
Copy link
Contributor

No description provided.

- Update vite.config.ts with library build settings for UMD and ESM outputs
- Add vite-plugin-dts for TypeScript declaration generation with bundled types
- Create vite.dev.config.ts for development server serving examples from dist
- Configure proper asset handling and CSS compilation for plugin distribution
- Add @silvermine/video.js as peer dependency for plugin integration
- Configure package.json exports for proper UMD and ESM module resolution
- Update package metadata for remote playback functionality
- Add necessary development dependencies for TypeScript and Vite build process
- Create comprehensive TypeScript type definitions for Video.js integration
- Add plugin constants for events, CSS classes, and configuration
- Implement utility functions for media element handling and logging
- Add AirPlay icon asset and SCSS styling following Silvermine standards
- Establish proper project structure with modular organization
- Add AirPlayButton component with proper Video.js Button inheritance
- Implement AirPlayManager with Remote Playback API and WebKit fallback
- Add Safari/Apple device detection to show button only when appropriate
- Create comprehensive state management for connection status visualization
- Include proper error handling with user-friendly feedback messages
- Add support for both standard and large button variants with labels
- Create RemotePlaybackPlugin class with proper lifecycle management
- Implement automatic plugin registration using videojs.hook for seamless integration
- Add Video.js control bar integration with proper button placement
- Enable automatic initialization for all Video.js players without manual setup
- Provide clean plugin architecture following Video.js best practices
- Create AirPlayManager tests with proper browser detection mocking
- Add enhanced Video.js mock supporting plugin architecture and hooks
- Test device availability detection and state management
- Validate proper error handling and user feedback scenarios
- Ensure plugin initialization and lifecycle work correctly
@judicaelandria judicaelandria marked this pull request as draft November 10, 2025 15:41
@judicaelandria judicaelandria force-pushed the mandriamahandry/add-chromecast-support branch 3 times, most recently from 40bab87 to dd83b05 Compare November 11, 2025 05:12
- Create interactive test pages for AirPlay, Chromecast, and Remote Playback API
- Add detailed README with usage instructions and browser compatibility matrix
- Include development server setup for real-time testing during development
- Provide clear installation and integration examples
- Add examples documentation with testing guidelines and troubleshooting
- Update vite.dev.config.ts with proper file serving permissions
- Add dev:build script that builds plugin before starting dev server
- Ensure dist files are properly served at root path (/videojs-remoteplayback.*)
- Fix development workflow to eliminate asset loading issues
- Maintain clean separation between development and production builds
- Add Chromecast interfaces and type definitions
- Add component names and CSS classes constants
- Extend VideoJsPlayer interface with chromecast property
- Add Chromecast event constants and log messages
- Add ChromecastManager class with availability detection
- Implement Chromecast device discovery and connection
- Add browser detection utilities (Chrome, Google Cast support)
- Move hasRemotePlaybackSupport to shared lib directory
- Support both Remote Playback API and Google Cast SDK fallback
- Add ChromecastButton class extending Video.js Button component
- Implement proper DOM structure with icon placeholder and control text
- Add Chromecast SCSS styling with hover states and icon support
- Include Chromecast SVG icons (default and connected states)
- Add click handler integration with ChromecastManager
- Add Chromecast button initialization alongside AirPlay
- Implement Chromecast availability detection and button management
- Add proper button positioning in Video.js control bar
- Extend plugin to support both AirPlay and Chromecast simultaneously
@judicaelandria judicaelandria force-pushed the mandriamahandry/add-chromecast-support branch from dd83b05 to fe3ba58 Compare November 11, 2025 05:40
@judicaelandria judicaelandria changed the title feat: add chromecast support feat: Implements Chromecast functionality for Video.js with remoteplayback API Nov 11, 2025
- Add dedicated Chromecast test page with Google Cast SDK integration
- Add comprehensive remote playback test page for cross-browser testing
- Update existing test suite to include Chromecast functionality
- Provide interactive examples for development and debugging
- Remove deprecated AirPlay files from old structure
- Delete unused constants and utility files
- Update AirPlay button import paths to new structure
- Remove duplicate silvermine-videojs.d.ts declarations
- Update SCSS asset paths to use src/assets directory
- Clean up obsolete image files and consolidate assets
@judicaelandria judicaelandria force-pushed the mandriamahandry/add-chromecast-support branch from fe3ba58 to f92a3dc Compare November 11, 2025 07:06
- Add @types/**/* to tsconfig.json include and vite.config.ts dts plugin
- Simplify @silvermine/video.js module declaration to use standard video.js types
- Remove unnecessary ButtonComponent casting workarounds
- Fix options_ property access with proper type casting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant