i'm the developer of rkmovies, a 0.91 MB 4K media player for Android and Windows. no accounts, no telemetry, no cloud sync. which raises an obvious question: how does "continue watching" work if there's nowhere to sync to?
answer: a composite key in indexeddb, one per profile.
the key
const hkey = ( dp , se , ep ) => PROFILE + " | " + dp + " | " + se + " | " + ep ;
Enter fullscreen mode
Exit fullscreen mode
PROFILE is the active profile id (stored in localStorage as rk_profile , default p1 ). dp is the detail path of the title, se / ep are season and episode (0/0 for movies). so watching episode 4 of something on profile 2 stores a record under p2|/detail/xyz|1|4 .
the hist object store uses keyPath: "key" , and each record also carries pid , detailPath , se , ep , pos (seconds), dur , watched (0/1) and tot (total episodes) as plain fields.…