Feature description
Add an optional Twitch website search backend based on the merged upstream implementation in anxdpanic/plugin.video.twitch#706.
The website backend uses Twitch's GQL searchFor endpoint and adapts its results to the add-on's existing Helix-shaped data model. It provides fuzzy matching and relevance ranking closer to twitch.tv while retaining the current Helix search as an explicit option and fallback.
Expected behavior
- Add a Search method setting with website GQL and Helix choices.
- Use website GQL for stream, channel, and game searches when selected.
- Preserve the existing Kodi routes and list-item conversion contracts.
- Fall back to Helix when GQL fails or returns an unusable response.
- Keep the current Helix behavior available without requiring extra credentials.
- Make the first-page-only limitation of the GQL search explicit. Do not present it as a fix for game/category live-stream pagination.
Source and attribution
Use upstream PR anxdpanic#706 and its merged commit as the primary implementation reference. Preserve original authorship and licensing when reusing code. Compare it with the current fork's develop branch and with upstream release PR anxdpanic#707 before porting, because the fork already contains independent HEVC, playback, and quality-selection changes.
Acceptance criteria
- Deterministic tests cover streams, channels, and games result adaptation.
- Tests cover fuzzy GQL success, live-only filtering, empty and malformed responses, request failures, and Helix fallback.
- Switching the setting changes only search behavior.
- Existing game/category browsing and cursor pagination remain unchanged.
- Settings XML, English source strings, Python compilation, unit tests, and add-on validation pass.
Feature description
Add an optional Twitch website search backend based on the merged upstream implementation in anxdpanic/plugin.video.twitch#706.
The website backend uses Twitch's GQL
searchForendpoint and adapts its results to the add-on's existing Helix-shaped data model. It provides fuzzy matching and relevance ranking closer to twitch.tv while retaining the current Helix search as an explicit option and fallback.Expected behavior
Source and attribution
Use upstream PR anxdpanic#706 and its merged commit as the primary implementation reference. Preserve original authorship and licensing when reusing code. Compare it with the current fork's
developbranch and with upstream release PR anxdpanic#707 before porting, because the fork already contains independent HEVC, playback, and quality-selection changes.Acceptance criteria