Menu

how i made resume-anywhere work without a single account (indexeddb key design)
📰

how i made resume-anywhere work without a single account (indexeddb key design)

DEV Community·hammi·about 2 hours ago
#wfpAW4nI
Reading 0:00
15s threshold

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.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.