skoruppa
1d2ec889a0
add isMovieEntry
2026-08-04 13:50:41 +02:00
skoruppa
6e5e41f351
Fix anime movies watched checkmarks for simkl
2026-08-04 13:21:26 +02:00
skoruppa
989580e589
Stabilize in progress items and add coil cache control
2026-08-04 09:21:58 +02:00
halibiram
45c7d70c0f
i18n: complete Turkish translations
2026-08-04 02:58:17 +03:00
Jimmy
ea2c77cca2
Update Dutch (nl) strings and reorder nl locale
...
Update Dutch localization and reorder dutch lang palcement in settings to alphabetical order.
2026-08-04 00:16:48 +02:00
tapframe
b6c9764679
fix: expose app icon activities to Android lint
2026-08-03 15:53:54 +05:30
tapframe
aea841285c
Merge commit '7800cfecc3c9e630c0b846fdf240f4611b6cc3df' into cmp-rewrite
2026-08-03 15:53:54 +05:30
Nayif
ddbabeeedc
Merge pull request #1641 from Sumanth1602/fix/anime-skip-intro
...
fix: resolve anime skip intros (Kitsu/MAL routing & AniSkip query fix)
2026-08-03 15:53:53 +05:30
tapframe
1b1fa691ce
fix: match Trakt watched markers across IDs
2026-08-03 15:16:53 +05:30
tapframe
5a7d6dc77a
feat: add selectable app icons
2026-08-03 14:45:54 +05:30
mmsw
590a7e2777
Add new Slovak strings for Simkl integration
2026-08-02 15:59:33 +02:00
tapframe
47d788b68a
test: align Simkl anime regression coverage
2026-08-02 17:05:42 +05:30
tapframe
3b7d6f4b9e
fix: split plugin source cache from metadata (NUVIO-MOBILE-1)
2026-08-02 17:01:53 +05:30
tapframe
4f2c2b90d0
fix: dispatch playback service starts off main (NUVIO-MOBILE-Q0)
2026-08-02 16:42:27 +05:30
tapframe
7a491570af
fix: skip redundant Trakt watched refresh (NUVIO-MOBILE-Q3)
2026-08-02 16:35:47 +05:30
tapframe
15fcb8d25e
fix: serialize watched state snapshots (NUVIO-MOBILE-PW NUVIO-MOBILE-PY NUVIO-MOBILE-Q2)
2026-08-02 16:32:46 +05:30
tapframe
e0cbf447dc
fix: contain Trakt watched rate limits (NUVIO-MOBILE-Q1)
2026-08-02 16:23:48 +05:30
tapframe
9af5bd9b87
fix: preserve large Trakt watched responses (NUVIO-MOBILE-Q4)
2026-08-02 16:21:01 +05:30
tapframe
75153d89b5
remove expanded action button shadow
2026-08-02 16:11:58 +05:30
Nayif
e203dc883d
Merge pull request #1339 from anikettuli/fix/skip-outro-endtime-clamp
...
fix(player): clamp skip-outro seekTo against actual video duration
2026-08-02 13:55:31 +05:30
Nayif
e07798ec5f
Merge pull request #1573 from nosvasedis/cursor/greek-translations-49d0
...
Fix and complete Greek (el) translations
2026-08-02 13:46:13 +05:30
tapframe
289ea2c45f
Remove redundant xml declaration
2026-08-01 13:12:47 +05:30
tapframe
232a54fc5c
Merge branch 'simkl' into cmp-rewrite
2026-08-01 13:03:17 +05:30
tapframe
e356e373f9
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-08-01 13:02:29 +05:30
Nayif
a234646fe2
Merge pull request #1608 from NuvioMedia/simkl
...
feat(tracking): add Simkl integration and provider neutral tracking pipeline
2026-08-01 12:47:33 +05:30
tapframe
e9b4005391
Merge branch 'cmp-rewrite' into simkl
2026-08-01 12:45:12 +05:30
Nayif
fe22f4660c
Merge pull request #1637 from skoruppa/feat/simkl-anime-tracking
...
Simkl: port watched badge resolution and anime ID preference from TV
2026-08-01 12:33:44 +05:30
tapframe
a1e8c77d42
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-08-01 03:26:33 +05:30
tapframe
ad1b8b79c6
fix: handle torrent cache pressure on Android
2026-08-01 03:26:23 +05:30
skoruppa
ebbc9709fc
Take videoid from meta for track services in progress items
2026-07-31 23:20:45 +02:00
tapframe
d92b4d4c2e
fix(search): remove recent history icons
2026-07-31 23:37:39 +05:30
skoruppa
abbfb62b4e
Add badges to TmdbEntityBrowser
2026-07-31 12:46:59 +02:00
mmsw
2de02d53f0
Add Slovak language strings for settings and features
...
Added new Slovak language strings for various settings and features in the application.
2026-07-31 11:36:16 +02:00
mmsw
c53b21739f
Update Slovak translations for parental content strings
2026-07-31 10:57:37 +02:00
tapframe
db87075b6b
Remove realtime sync support
2026-07-31 14:12:32 +05:30
skoruppa
0e1e12a8fc
Fix "mark as unwatched" for whole series
2026-07-31 09:58:06 +02:00
tapframe
e4911b7742
fix(simkl): preserve posters during library updates
2026-07-30 15:52:59 +05:30
tapframe
15ec233025
Merge branch 'cmp-rewrite' into simkl
...
# Conflicts:
# composeApp/src/commonMain/kotlin/com/nuvio/app/features/library/LibraryRepository.kt
2026-07-30 14:42:22 +05:30
skoruppa
e51d2b047c
Add a setting to let user select anime ids, fix stale sibbilings watched checkmarks and don't use anime ids when providing seasons
2026-07-30 10:58:50 +02:00
tapframe
c2fc373234
fix(simkl): reconcile mutations locally
2026-07-30 14:27:10 +05:30
skoruppa
c96cda9287
Store sibilings and use correct meta path and change
2026-07-29 02:24:00 +02:00
tapframe
1b05c222b7
feat(library): add incremental delta sync
2026-07-29 01:06:46 +05:30
sumanth
14015ec652
fix: route Kitsu/MAL IDs for skip intro and correct AniSkip types query
2026-07-28 21:28:09 +05:30
skoruppa
1b57a66551
Merge branch 'simkl' into feat/simkl-anime-tracking
2026-07-28 15:43:02 +02:00
skoruppa
b21b36f8e0
fix: bulk watched badge resolution with sibling expansion and anime fallback
2026-07-28 11:11:34 +02:00
tapframe
247afcbf00
test(simkl): cover local scrobble reconciliation
2026-07-28 12:37:37 +05:30
tapframe
2ebaf3b5a9
fix(simkl): reconcile scrobble responses locally
2026-07-28 12:37:24 +05:30
tapframe
d55ed7ae2a
fix(auth): sanitize authentication errors
2026-07-27 23:49:58 +05:30
tapframe
db64bada04
Merge branch 'cmp-rewrite' into simkl
2026-07-27 22:00:21 +05:30
Nayif
4ba3df8b4e
Merge pull request #1631 from skoruppa/feat/simkl-anime-tracking
...
fix: Simkl anime - prevent show wipe, reactive CW update, next episode resolution
2026-07-27 21:53:57 +05:30
Nayif
a4e886fb6b
Merge pull request #1548 from darkflame91/imgsubs
...
fix(android): correct exoplayer image based subtitle rendering
2026-07-27 14:11:28 +05:30
skoruppa
82159fea47
fix: next episode calculation resolves anime watched via fallback
...
seriesPrimaryAction now accepts watchedKeys and synthesizes watched records
for episodes resolved via anime videoId fallback. This fixes next-up showing
S1E1 when entering via franchise parent MAL ID (e.g. mal:60636) while all
episodes are correctly shown as watched in the UI.
2026-07-27 10:28:26 +02:00
skoruppa
807f561f75
fix: skip series-level removal in Simkl delete to prevent wiping entire show
...
When reconcileSeriesWatchedState removes the series-level watched marker,
it calls delete() with a WatchedItem without season/episode. This was being
sent to Simkl as a show-level removal, which deleted the entire entry from
the user's library. Now we filter out items without season/episode — those
are local-only reconciliation markers.
2026-07-27 09:41:53 +02:00
Nayif
00cc012193
Merge pull request #1618 from quiettinkerer/fix/card-depth-effect-shape-clip
...
fix(ui): clip CardDepthEffect sheen overlay to container shape
2026-07-27 01:09:33 +05:30
tapframe
b3f22a6be2
feat(auth): register official client devices
2026-07-26 20:34:08 +05:30
tapframe
8937dc7b6b
Update Play account and foreground service compliance
2026-07-26 18:20:48 +05:30
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
Sobhan
6f4c69f536
fix(ui): clip CardDepthEffect sheen overlay to shape path
2026-07-26 04:46:00 +05:30
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
Cursor Agent
e1811f0e5e
Merge cmp-rewrite and complete Greek translations
...
Resolve the values-el conflict in favor of accurate Greek playback
labels, add translations for 39 new upstream strings (library filters,
P2P cache/profile, torrent status, Upcoming), and fix leftover typos.
Co-authored-by: Nasos V. <nvasedis@gmail.com>
2026-07-24 17:25:09 +00:00
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