feat: add Streamlink integration with comprehensive settings UI#26
Merged
feat: add Streamlink integration with comprehensive settings UI#26
Conversation
- Implement complete Streamlink integration for external media player support - Add External Players settings section with quality selection and custom arguments - Include context menu options in both StreamerInfo and ChatroomTab components - Cross-platform Streamlink detection (Windows, macOS, Linux) - Optimized low-latency streaming defaults - Proper text input styling consistency with existing settings UI - Support for all quality options including audio_only - VLC as default player with mpv and custom player support - Settings validation and error handling throughout - IPC handlers for secure main-renderer communication Fixes #25
…ility - Add automatic fallback from specific quality to "best" when quality unavailable - Fix race condition between spawn/exit events causing false timeouts - Improve success detection for long-running Streamlink processes - Increase timeout for fallback attempts (25s) vs initial (20s) - Remove quality display from context menus to avoid stale information - Update settings tooltip to mention automatic fallback behavior Resolves issue where selecting unavailable stream quality (e.g. 1080p60) would fail instead of falling back to available quality.
…n\n- Validate username slug in main before launching Streamlink\n- Default player to empty string for auto-detect\n- Subscribe to store updates in StreamerInfo and ChatroomTab\n- Disable quality dropdown when Streamlink is disabled\n- Gate enabling Streamlink with availability check + alert\n- Add Streamlink Path field with Refresh in Settings\n- Update tooltip/placeholder to reflect auto-detect default
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements complete Streamlink integration for KickTalk, allowing users to open Kick streams in external media players like VLC, mpv, etc.
Features Added
Implementation Details
Technical Changes
src/main/index.js: Streamlink detection, launch logic, IPC handlerssrc/preload/index.js: Renderer API extensions for Streamlink functionsutils/config.js: Settings schema for Streamlink configurationsrc/renderer/src/components/Dialogs/Settings/: Complete settings UI implementationsrc/renderer/src/assets/styles/dialogs/Settings.scss: NewsettingTextInputstylingTest plan
Fixes #25