Fix tag pagination and persist viewer sort.
Load tag (and language) directories via Helix with client-side tag matching so scroll can continue past the GQL integrity wall. Re-sort lists locally after each fetch and store streamViewerSort in Settings. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
9d392d8d6a
commit
47150d0ab3
12 changed files with 214 additions and 113 deletions
|
|
@ -49,11 +49,9 @@ Key code: `lib/apis/twitch_gql_api.dart`, `lib/screens/home/search/`, `lib/widge
|
|||
|
||||
Settings → General → Stream languages (multi-select chips). Default `de`. Applied to Top, category, and tag lists.
|
||||
|
||||
- One language: Helix `language=` (paginates cleanly, `first=100`)
|
||||
- Several languages: Helix over-fetch + client filter (still paginated)
|
||||
- Tags / ascending sort: GQL with `languages: [Language!]`; page-2 often hits Twitch integrity — treated as end-of-list after the first page of 30
|
||||
|
||||
Also fixed infinite scroll: larger Helix pages, defensive cursors, scroll near-end load-more, and stop disposing shared Home scroll controllers.
|
||||
- Helix `language=` when one language; multi-language / tags via Helix over-fetch + client filter
|
||||
- Viewer sort is persisted (`streamViewerSort`); lists are re-sorted client-side after each fetch (Twitch GQL `VIEWER_COUNT_ASC` is unreliable)
|
||||
- Tag directories use Helix `tags[]` matching (not GQL) so infinite scroll works without Client-Integrity
|
||||
|
||||
## Build
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue