Skip to content

feat(simkl): complete Simkl tracking, TV UI, scrobbling, and sync integration - #560

Merged
ProdigyV21 merged 7 commits into
ProdigyV21:mainfrom
Himanth-reddy:feat/simkl-android
Aug 12, 2026
Merged

feat(simkl): complete Simkl tracking, TV UI, scrobbling, and sync integration#560
ProdigyV21 merged 7 commits into
ProdigyV21:mainfrom
Himanth-reddy:feat/simkl-android

Conversation

@Himanth-reddy

Copy link
Copy Markdown
Collaborator

Overview

Adds native Simkl tracking, continuous library synchronization, scrobbling, and TV UI integration to ARVIO for Android TV & Mobile.

Key Features & Changes

  • Authentication: Native PIN code OAuth flow (POST /oauth/pin) with QR/URL display and background polling.
  • Two-Phase Continuous Sync Strategy:
    • Phase 1: Sequential full library fetch for movies, shows, and anime.
    • Phase 2: Lightweight delta synchronization using GET /sync/activities and GET /sync/all-items?date_from=....
    • Activity checks throttled to 15-minute intervals.
  • Real-Time Scrobbling: Playback progress scrobbler (POST /scrobble/start, pause, stop) with automatic 5-minute progress intervals.
  • Watchlist & History Management:
    • Compliant with official Simkl API schemas (POST /sync/add-to-list for Plan to Watch and POST /sync/history/remove for unwatching).
    • Watch history preservation when untoggling items from watchlist.
  • Rate Limiting & Headers: Built-in 1-second POST rate limiter, user agent, and API key interceptor.
  • Unit Tests: Full MockK integration test suite covering auth, sync, scrobbler, and error handling.

@github-actions github-actions Bot added the area: android Changes to the Android app or Gradle build label Aug 12, 2026
@ProdigyV21
ProdigyV21 merged commit b3e4dbd into ProdigyV21:main Aug 12, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: android Changes to the Android app or Gradle build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants