Skip to content

Add configurable Twitch ad proxy playback#3

Open
namecallfilter wants to merge 8 commits into
masterfrom
ad-proxy
Open

Add configurable Twitch ad proxy playback#3
namecallfilter wants to merge 8 commits into
masterfrom
ad-proxy

Conversation

@namecallfilter

Copy link
Copy Markdown
Owner

Summary

  • Add configurable HTTP proxy support for Twitch playback with ordered fallbacks and authentication.
  • Proxy only Twitch playback hosts and pass proxy settings through the Android Media3 player.
  • Add settings for enabling proxies, proxy URLs, channel whitelists, and subscriber-based exemptions.
  • Sync subscription status through Twitch GraphQL and persist ad proxy preferences.
  • Add navigation, playback, settings, API, and proxy client coverage.

Testing

  • Not run (PR description generation only).
  • Added Kotlin proxy parsing, fallback, host filtering, and authentication tests.
  • Added Flutter tests for settings, preferences, API, browse, tabs, and player behavior.

- Route Twitch playback through authenticated HTTP proxy fallbacks
- Add proxy settings, channel whitelists, and subscription syncing
- Improve tab back navigation and add proxy/API coverage
Comment thread lib/features/player/player_screen.dart
Comment thread lib/features/player/player_screen.dart
Comment thread android/app/src/main/kotlin/com/namecallfilter/flow/TwitchPlayerView.kt Outdated
Comment thread lib/app/app_settings_store.dart
- Make proxy client creation nullable when all URLs are invalid
- Serialize subscription whitelist updates through app settings
- Route only HLS manifests through the ad proxy
- Add data source routing tests and update settings text
Comment thread android/app/src/main/kotlin/com/namecallfilter/flow/TwitchPlayerView.kt Outdated
Comment thread lib/features/settings/settings_screen.dart Outdated
- Detect stitched ads and fetch clean proxy playlists
- Match proxy renditions and preserve direct media downloads
- Add coordinator, variant index, and coverage tests
Comment thread android/app/src/main/kotlin/com/namecallfilter/flow/TwitchPlaybackCoordinator.kt Outdated
Comment thread lib/features/settings/settings_screen.dart Outdated
- Reject malformed or non-overlapping proxy playlists
- Coordinate concurrent settings loads and block premature interaction
- Mask proxy credentials and reduce sensitive diagnostics
Comment thread android/app/src/main/kotlin/com/namecallfilter/flow/TwitchPlaybackCoordinator.kt Outdated
Comment thread lib/features/settings/settings_screen.dart Outdated
Comment thread android/app/src/main/kotlin/com/namecallfilter/flow/TwitchPlaybackCoordinator.kt Outdated
- Require usable clean Twitch playlists before fallback
- Allow replacement playlists without sequence alignment
- Distinguish manually whitelisted subscribed channels
Comment thread lib/features/settings/settings_screen.dart
Comment thread android/app/src/main/kotlin/com/namecallfilter/flow/TwitchPlaybackCoordinator.kt Outdated
- Select supported codecs from Android decoder capabilities
- Require clean direct playlists before proxy replacement
- Match proxy replacements across renditions and update tests
- Show a retry action when settings loading fails
- Test retry recovery and restored interaction
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