I have been using Kodi for years with various Greek builds and add-ons. Recently, Trakt synchronization has completely stopped working for me. I’ve tested this with Fen, Fen Light, Umbrella, and Seren, and it fails to sync watchlist, history, and progress in all of them. I even performed a clean, fresh install of Kodi without any builds, but the issue persists. Authorization is successful, but data is not updating.
Tag your post with new and/or classic, along with the platform (eg: iOS, android, web) to help us assist you faster.
The creators of the Kodi addon are looking at this; they do need some testers before the fix is released.
main ← yitzhaq:fix-watched-episode-pull
opened 12:27PM - 09 Jul 26 UTC
**What**
Trakt's 2026 API change (enforced after 2026-06-30) broke the Trakt→Ko… di watched-status pull: `/sync/watched/shows` no longer returns the season/episode breakdown unless `extended=progress` is sent, and all `/sync` endpoints are now force-paginated (100/page default).
The new REST client added `_get_all_pages`, but `getShowsWatched` calls a bare `_get` with no `extended=progress` (→ episode watched-state can't sync, #713), and `getShowsWatched`/`getShowsCollected`/`getMoviesWatched` don't page (→ silently truncated to the first 100 items).
**Change**
- `getShowsWatched`: send `extended=progress` and page via `_get_all_pages`.
- `getShowsCollected`, `getMoviesWatched`: route through `_get_all_pages`.
- `_get_all_pages`: accept optional extra query params (merged per page).
- Tests for the above.
**Verification** (live account, `/sync/watched/shows` page 1)
| `extended=progress` | shows | w/ seasons | episodes | page-count |
|---|---|---|---|---|
| off | 100 | 0 | 0 | 5 |
| on | 100 | 100 | 1235 | 5 |
`extended=progress` restores the breakdown; `page-count=5` confirms pagination is required.
**Note:** rebased onto the REST-client rewrite (supersedes the earlier version of this PR, which targeted the pre-rewrite `traktapi.py`). `Refs #713`. Heads-up: on current `main`, a sync still can't complete end-to-end due to a separate object-contract regression (unrelated to pagination) — reported in #715. This PR fixes the pagination/`extended` half.
🤖 Generated with [Claude Code](https://claude.com/claude-code)