tapframe
26e7b23f02
Merge branch 'simkl' of https://github.com/NuvioMedia/NuvioMobile into simkl
2026-07-26 10:00:29 +05:30
tapframe
011cee0dab
Merge branch 'cmp-rewrite' into simkl
2026-07-26 10:00:23 +05:30
tapframe
b60995324b
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-07-26 09:56:37 +05:30
skoruppa
f2bf839e29
feat: Simkl anime tracking — per-season MAL/Kitsu ID resolution
...
Write path:
- resolveAnimeEpisodeForSimkl() overrides IDs from video ID (Path B)
- Only the anime-specific ID from videoId is sent (no shared IDs)
- videoId flows through WatchedItem → push/delete → Simkl API
Read path:
- animeAlternateWatchedKeys() emits extra watched keys under alternate IDs
- Observer on Simkl snapshot keeps watchedKeys reactive
- SimklAnimeWatchedFallback handles franchise-parent content IDs
- Optimistic removals prevent stale fallback reads
Bootstrap:
- full_anime_seasons + episode_tvdb_id + language=en for both bootstrap and changes
Library:
- Anime entries use type 'anime' and supportedContentTypes includes 'anime'
Infrastructure:
- WatchedItem.videoId field for episode video ID propagation
- WatchedSyncAdapter.observeExtraWatchedKeys() for reactive extra keys
- WatchedRepository observes provider extra keys and re-publishes
2026-07-26 02:57:39 +02:00
tapframe
7f254a9f2e
refactor: remove catalog header accent line
2026-07-25 16:34:53 +05:30
tapframe
44fc3fa62f
fix(tracking): close early scrobble sessions
2026-07-25 13:04:33 +05:30
tapframe
d8ffd18c4d
fix(simkl): pace requests after completion
2026-07-24 19:34:52 +05:30
Nayif
2fda777249
Merge pull request #1610 from Laskco/feat/cloud-library-search
...
feat(library): Search the cloud library
2026-07-24 19:12:46 +05:30
tapframe
c85831df26
feat(simkl): improve sync guidance navigation
2026-07-24 18:42:39 +05:30
tapframe
085b136e5a
fix(simkl): hide on-hold items from continue watching
2026-07-24 18:18:25 +05:30
tapframe
327d49d31d
fix(simkl): refresh hidden progress immediately
2026-07-24 16:30:41 +05:30
tapframe
94ec538c10
fix(simkl): reconcile completed and dropped progress
2026-07-24 16:09:09 +05:30
tapframe
a69b7efd8b
fix(simkl): gate sync reads by activity
2026-07-24 14:25:51 +05:30
tapframe
beecece7e3
Merge branch 'cmp-rewrite' into simkl
2026-07-23 21:41:32 +05:30
Nayif
755f6ff9b8
Merge pull request #1591 from guuilp/feat/mal-rating
...
feat(mdblist): add MyAnimeList (MAL) rating from MDBList API
2026-07-23 21:30:26 +05:30
tapframe
9b278e6cb0
fix(simkl): refresh watch state after manual sync
2026-07-23 21:27:27 +05:30
tapframe
4f3eaee2cc
fix(simkl): reconcile watched playback
2026-07-23 21:02:19 +05:30
YLaskco
79269f461a
feat(library): search the cloud library
...
The Cloud view only had provider and type filters, so finding a specific
release in a large debrid account meant scrolling the whole list, even
though the item names and file names are already loaded on the client.
Adds a local search field under the toolbar that narrows the already
loaded items. It matches the item name or any of its file names, since
the useful identifier is often in the filename rather than the title,
and it stacks on top of the existing provider and type filters.
2026-07-23 10:20:23 -04:00
tapframe
200851c6f6
fix: scope removal animations to tracking source
2026-07-23 18:06:46 +05:30
tapframe
0aaea4fd2b
change tracking icon
2026-07-23 17:09:32 +05:30
tapframe
bb609bc308
refactor(details): remove Simkl source action
2026-07-23 16:30:07 +05:30
tapframe
38e3e89618
feat(settings): add Simkl attribution
2026-07-23 16:22:36 +05:30
tapframe
544c776bb8
ref: update descriptions for Trakt and Simkl
2026-07-23 15:49:37 +05:30
tapframe
2bca3ffa6b
fix(profiles): activate selected profile once
2026-07-23 15:46:40 +05:30
tapframe
237d2308f2
chore(simkl): trace refresh request origins
2026-07-23 15:35:29 +05:30
tapframe
96d0a31f45
fix(simkl): deduplicate startup activity checks
2026-07-23 14:59:51 +05:30
tapframe
1906518322
fix(library): simplify Simkl watchlist presentation
2026-07-23 00:27:05 +05:30
tapframe
4df54ab89f
fix(simkl): confirm destructive library removals
2026-07-23 00:27:05 +05:30
tapframe
7fb8206107
feat(tracking): redesign tracking settings
2026-07-23 00:27:04 +05:30
tapframe
b817eb5b14
feat(simkl): explain sync cadence
2026-07-23 00:27:04 +05:30
tapframe
b4eba6e0c5
fix(simkl): fetch historical episode state
2026-07-23 00:27:03 +05:30
tapframe
002a54e022
fix(sync): retry incomplete foreground pulls
2026-07-23 00:27:02 +05:30
tapframe
7210e7cc68
fix(sync): restore foreground refresh behavior
2026-07-23 00:27:02 +05:30
tapframe
2f19d06fd3
fix(trakt): restore seek scrobble updates
2026-07-23 00:27:01 +05:30
tapframe
cac2c891c0
fix(trakt): preserve episode mapping identity
2026-07-23 00:27:00 +05:30
tapframe
58e57f2b17
fix(watched): preserve failed Nuvio writes
2026-07-23 00:26:59 +05:30
tapframe
6c61ab150b
fix(simkl): sanitize sync diagnostics
2026-07-23 00:26:59 +05:30
tapframe
dbf2308c9f
fix(tracking): preserve provider attribution
2026-07-23 00:26:58 +05:30
tapframe
9798482fff
fix(simkl): refresh settings from activity changes
2026-07-23 00:26:57 +05:30
tapframe
e020b9700a
fix(simkl): map anime episode coordinates
2026-07-23 00:26:57 +05:30
tapframe
942a111eec
fix(simkl): parse resolved history mutations
2026-07-23 00:26:56 +05:30
tapframe
b0aa543f26
fix(simkl): align request retry policies
2026-07-23 00:26:56 +05:30
tapframe
65817ad73b
fix(simkl): separate completion from library status
2026-07-23 00:26:55 +05:30
tapframe
3064c7aa25
chore(simkl): add watched marker diagnostics
2026-07-23 00:26:55 +05:30
tapframe
e32445238d
fix(simkl): enrich progress and correct artwork
2026-07-23 00:26:54 +05:30
tapframe
e408a2f48c
fix(progress): isolate continue watching sources
2026-07-23 00:26:54 +05:30
tapframe
e930699ae9
fix(simkl): restore compliant library sync
2026-07-23 00:26:53 +05:30
tapframe
56a496a384
chore(simkl): log sync HTTP responses
2026-07-23 00:26:53 +05:30
tapframe
32449a7a15
feat(tracking): expose manual provider refresh
2026-07-23 00:26:52 +05:30
tapframe
adcc829a1a
fix(simkl): centralize oauth request policy
2026-07-23 00:26:52 +05:30