Commit graph

1642 commits

Author SHA1 Message Date
tapframe
c1022e2eb5 fix(simkl): enforce compliant sync cadence 2026-07-23 00:26:51 +05:30
tapframe
b1a7f0757e refactor(tracking): isolate progress provider policy 2026-07-23 00:26:49 +05:30
tapframe
e7349dd28f refactor(tracking): remove shared feature coupling 2026-07-23 00:26:48 +05:30
tapframe
eb5bf78c37 refactor(tracking): register progress read providers 2026-07-23 00:26:48 +05:30
tapframe
617bfe298e refactor(tracking): register watched read providers 2026-07-23 00:26:47 +05:30
tapframe
410a9d4c4b refactor(tracking): register library read providers 2026-07-23 00:26:46 +05:30
tapframe
5bbe3b9ef0 feat(tracking): add provider-aware settings 2026-07-23 00:26:45 +05:30
tapframe
2dffff3520 feat(tracking): fan out real player scrobbles 2026-07-23 00:26:45 +05:30
tapframe
0f12e61430 feat(simkl): wire tracker state into app repositories 2026-07-23 00:26:44 +05:30
tapframe
caf124e1b4 feat(simkl): add application state projections 2026-07-23 00:26:43 +05:30
tapframe
e4278a2391 feat(simkl): add batched tracking mutations 2026-07-23 00:26:42 +05:30
tapframe
615098e976 feat(simkl): add atomic sync store 2026-07-23 00:26:42 +05:30
tapframe
f7c17e656e feat(simkl): centralize API policy 2026-07-23 00:26:41 +05:30
tapframe
8f2f7221c2 feat(simkl): add secure PKCE authentication 2026-07-23 00:26:40 +05:30
tapframe
857311cce7 refactor(tracking): add provider-neutral foundation 2026-07-23 00:26:38 +05:30
guuilp
5037f26532 fix(mdblist): replace PNG with cairosvg render — correct centering, 3.2KB 2026-07-20 21:56:07 +00:00
guuilp
b5bbed9e66 fix(mdblist): replace PNG with XML VectorDrawable — native Android vector format 2026-07-20 21:52:55 +00:00
guuilp
9ac946e4ea fix(mdblist): replace MAL SVG with PNG — Android does not support SVG in painterResource 2026-07-20 21:51:53 +00:00
guuilp
720c6d8b6e fix(mdblist): reorder ratings — MAL before Rotten Tomatoes pair, fix source_mal import 2026-07-20 21:46:13 +00:00
guuilp
6366142e0b fix(mdblist): invert MAL SVG colors — blue bg, white text 2026-07-20 21:46:13 +00:00
guuilp
397d0e2ce0 feat(mdblist): add MAL rating icon and display in detail screen 2026-07-20 21:46:13 +00:00
guuilp
a8e64fdfe2 feat(mdblist): add MyAnimeList (MAL) rating from MDBList API 2026-07-20 21:46:13 +00:00
guuilp
05a5f9d7d3 fix: per-profile isolation for Trakt auth and storage
1. TraktAuthStorage: Added profileId parameter to loadPayload(profileId)
   and savePayload(profileId, payload) in Android and iOS actual
   implementations, passing it explicitly to ProfileScopedKey.of().

2. TraktAuthRepository: Added currentProfileId and profileGeneration
   for cross-profile operation detection. Methods now accept explicit
   profileId to isolate auth state per profile. loadFromDisk() and
   persist() use the scoped storage key.

3. TraktCredentialSync: Updated to pass profileId to currentStateForSync()
   and replaceStateFromSync().

4. ProfileRepository/LibraryRepository: Updated calls to
   TraktAuthRepository.onProfileChanged(profileId).

5. WatchedRepository/WatchProgressRepository: Fixed
   pullFromServer/forceSnapshotRefreshFromServer to pass profileId
   to TraktAuthRepository.ensureLoaded() before checking
   activeOperationGeneration.

6. SyncManager: Passes profileId to ensureLoaded().
2026-07-20 21:46:13 +00:00
tapframe
d514468fef fix(navigation): defer route cleanup until pop completes 2026-07-20 18:27:13 +05:30
tapframe
cc13ee9c9f build(android): vendor Nuvio Engine AAR 2026-07-20 18:05:37 +05:30
tapframe
1b88c5abef feat: integrate Nuvio Engine 2026-07-20 16:50:04 +05:30
tapframe
66f4d433ea Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-07-20 13:15:05 +05:30
KhooLy
70bdafab48 fix: recycled bitmap crash in Now Playing metadata 2026-07-19 23:38:13 +03:00
tapframe
e695b213bf Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
# Conflicts:
#	composeApp/src/commonMain/composeResources/values/strings.xml
2026-07-19 16:01:55 +05:30
tapframe
109515f17a fix(settings): normalize section headings 2026-07-19 15:47:18 +05:30
tapframe
1e4c125ca1 feat: add separate upcoming continue watching row 2026-07-19 14:06:02 +05:30
tapframe
0ac38dce43 fix: apply poster depth to remaining surfaces 2026-07-19 03:15:02 +05:30
tapframe
b55be263d9 feat(library): add sortable shelf and grid layouts 2026-07-18 20:16:05 +05:30
tapframe
623844ed84 Merge branch 'pr/ios-profile-hold-menu-fixes' into cmp-rewrite 2026-07-18 18:28:10 +05:30
tapframe
d9eaca52e6 fix(player): update sourceStreamsState to use mutableStateOf 2026-07-18 17:37:08 +05:30
tapframe
9113b5567a fix(player): make forced subtitle selection audio-aware 2026-07-18 17:35:56 +05:30
tapframe
079b3a7e97 fix(player): enforce preferred-language subtitle filtering 2026-07-18 17:05:32 +05:30
tapframe
a8d6d8d270 fix(player): match forced subtitles to language preferences 2026-07-18 16:54:50 +05:30
tapframe
65e38b0da6 feat: add show catalog type option
Closes #1556
2026-07-18 14:17:39 +05:30
Nayif
99d1cf345f
Merge pull request #1567 from luqmanfadlli/fix-ios-collection-header
Fix(iOS): Collection Folder catalog filters being obstructed by the native iOS navigation bar
2026-07-18 13:20:15 +05:30
tapframe
f5b75adccb fix: show player streams progressively 2026-07-18 13:17:01 +05:30
tapframe
83ac09bac3 fix: preserve download metadata and nav layout 2026-07-18 13:05:02 +05:30
tapframe
824f2a22ad Merge branch 'playerui/tvparity' into cmp-rewrite 2026-07-18 03:46:00 +05:30
tapframe
78b826fdf7 Merge PR #1331: fix Torbox cloud library on Android 2026-07-18 03:41:12 +05:30
tapframe
50bb2bcc52 fix: bound generic Android raw responses 2026-07-18 03:40:53 +05:30
tapframe
03c6d598ba feat(player): match overlays to TV UI 2026-07-18 03:29:55 +05:30
tapframe
20d091e907 Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-07-18 02:06:23 +05:30
Nayif
77049f4e00
Merge pull request #1562 from skoruppa/modern-menu
modern floating pill navigation bar with scroll-responsive labels
2026-07-18 02:06:19 +05:30
Nayif
0cc804198a
Merge pull request #1558 from Laskco/codex/tmdb-release-date-toggle
Add TMDB release date controls and fix episode availability
2026-07-18 02:05:12 +05:30
Nayif
2adf4bacf2
Merge pull request #1509 from kgenovz/feat/default-video-id
feat(details): support behaviorHints.defaultVideoId for series initial play
2026-07-18 01:56:25 +05:30
Nayif
5218ca86b1
Merge pull request #1545 from emgeje/cmp-rewrite
Updated Hungarian translations (Add diagnostics and Sentry reporting strings)
2026-07-18 01:55:23 +05:30
tapframe
0165392f75 Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-07-18 01:54:49 +05:30
Nayif
7f6feddafd
Merge pull request #1552 from neerajlovecyber/feature-player-episode-watched-tick
Show watched checkmarks in player episode switcher
2026-07-18 01:54:01 +05:30
tapframe
0cb0e20918 fix(trakt): invalidate rejected refresh tokens 2026-07-17 23:29:03 +05:30
haveAnIssue
2f236e9e3b
Update AppLanguage.kt
Enable Hebrew
2026-07-17 14:33:42 +03:00
haveAnIssue
54f6ca9112
Create strings.xml
Add Hebrew Translation
2026-07-17 14:28:33 +03:00
skoruppa
e7322071ff feat: modern floating pill navigation bar with scroll-responsive labels
- New floating pill-shaped bottom nav bar
- Scroll down to collapse labels, scroll up to expand (snap animation)
- Haze blur-through effect on the pill background
- Selected tab uses accent color from theme
- Dynamic pill width: shrinks when collapsed, expands with labels
- Settings option (Android only): Adaptive, Always Expanded, Always Compact, Classic
- Classic mode preserves original flat navigation bar
- NavBarStyle syncs to cloud (ignored on iOS where LiquidGlass is used)
- iOS LiquidGlass tab bar remains untouched
- Polish translations added
2026-07-17 10:40:05 +02:00
YLaskco
f4ff269d45 Fix episode release date handling 2026-07-16 16:41:41 -04:00
Luqman Fadlli
6de66cfa76 fix(ios): restore back gesture and navigation 2026-07-17 00:11:44 +07:00
tapframe
c68d996881 fix: fix collection keys dupliation causing sigsegv 2026-07-16 22:40:38 +05:30
tapframe
4ba92f3926 perf: optimize metadata screen scrolling 2026-07-16 22:24:46 +05:30
tapframe
e56fb2e87e feat: reveall spoiler comments by tapping 2026-07-16 13:50:33 +05:30
tapframe
6ae6f60926 feat: hero overscroll 2026-07-16 13:46:12 +05:30
tapframe
57a8405a54 feat: add hero auto rotation 2026-07-16 12:41:21 +05:30
tapframe
1dbbbdecbc Refine iOS sheets and ratings 2026-07-16 12:33:27 +05:30
tapframe
f9b5ef8aef Fix metadata rail scrolling 2026-07-15 23:59:26 +05:30
neerajlovecyber
acaec75b54 Show watched checkmark on player episode list rows.
Reuse NuvioAnimatedWatchedBadge so completed episodes match the series detail page.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 16:45:48 +05:30
tapframe
1050bc0771 ref: remove contribution summary 2026-07-15 16:09:22 +05:30
tapframe
78ec152b9c ref: adjust progress color based on theme in AppUpdateBanner 2026-07-15 16:01:18 +05:30
tapframe
cc59387588 feat: update banner layout 2026-07-14 23:12:02 +05:30
emgeje
479153e943
Add diagnostics and Sentry reporting strings
Added new strings for diagnostics and Sentry reporting features.
2026-07-14 14:45:42 +02:00
tapframe
409a2e9b01 remove unused seekToMs func 2026-07-14 17:04:49 +05:30
tapframe
0f155c752c remove duplicate strings 2026-07-14 16:51:46 +05:30
Nayif
5230f2b975
Merge pull request #1471 from nosvasedis/fix-greek-translations
Fix and complete Greek (el) translations
2026-07-14 16:38:05 +05:30
tapframe
d2a6206357 Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-07-14 16:36:19 +05:30
Nayif
f314cfea35
Merge pull request #1530 from luqmanfadlli/crossplatform-nowplayingcontrol
feat(android): Add Android support for Now Playing media controls
2026-07-14 16:36:00 +05:30
tapframe
d924a46ca0 Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-07-14 16:29:03 +05:30
Nayif
ab71682ef6
Merge pull request #1516 from WhiteGiso/translations-it
Added new Italian translations
2026-07-14 16:22:44 +05:30
Nayif
d7c88d35f2
Merge pull request #1536 from darkflame91/pipmode
fix(android): fix issues with PiP window
2026-07-14 16:22:27 +05:30
tapframe
89149fb063 fix: stabilize continue watching scroll position 2026-07-14 16:20:29 +05:30
tapframe
f74ae8182e refactor: update library sync logic while in active pull state 2026-07-14 16:02:33 +05:30
WhiteGiso
cc650d0950 fix(ios): stabilize profile switcher menu 2026-07-14 11:06:38 +02:00
Trần Khánh
a1649b0e1b Update strings.xml 2026-07-14 14:58:17 +07:00
Trần Khánh
b38d446a9f Update strings.xml 2026-07-14 14:43:46 +07:00
Cursor Agent
0342070fe7
Sync Greek translations with upstream and fix remaining corruption
- Add 31 missing settings_card_depth_* strings from upstream Card Depth Effect feature
- Fix remaining mixed Greek/English corruption artifacts (Όχι/no, partial word swaps)
- Translate newly surfaced untranslated strings in continue watching, debrid, trakt, and cloud library areas
- Bring values-el/strings.xml to full parity with the 1958-key English base

Co-authored-by: Nasos V. <nvasedis@gmail.com>
2026-07-14 06:56:05 +00:00
Nasos V.
d52ef9d4c5
Merge branch 'cmp-rewrite' into fix-greek-translations 2026-07-14 09:41:38 +03:00
Trần Khánh
f63b38dbcf Merge remote-tracking branch 'upstream/cmp-rewrite' into cmp-rewrite 2026-07-14 12:17:39 +07:00
Trần Khánh
a901abf914 Update strings.xml 2026-07-14 12:10:34 +07:00
tapframe
b3be03fb7f Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-07-14 01:31:36 +05:30
darkflame91
4db3231c2a fix(android): fix issues with PiP window 2026-07-14 01:28:11 +05:30
tapframe
b2973df144 Match Trakt CW with TV 2026-07-14 01:25:30 +05:30
tapframe
d9f3ac818c fix: cw enrichment retry and up next logic 2026-07-13 21:30:13 +05:30
Trần Khánh
fbc8e9534c Merge branch 'cmp-rewrite' of https://github.com/khanh71/NuvioMobile into cmp-rewrite 2026-07-13 18:51:56 +07:00
Luqman Fadlli
7c7dfbdf64 feat(android): add Now Playing media controls
Add Android Now Playing support using Media3 MediaSession and media notifications.

* Publish title, subtitle, artwork, duration, position, and playback state
* Add play, pause, seek, rewind, and fast-forward controls
* Support lock screen, notification, headset, and external media controls
* Integrate with both ExoPlayer and libmpv backends
* Keep playback active in the background while the media session is running
* Clean up the media session, notification, and foreground service when playback ends
2026-07-13 15:44:51 +07:00
Trần Khánh
800c9aa1c7 Update strings.xml 2026-07-13 15:15:05 +07:00
Trần Khánh
07148b0b76 Update strings.xml 2026-07-13 07:50:13 +07:00
i4mth3d4ng3r
c0b44c6a33 Update upstream for Parental Guidance api 2026-07-12 16:08:58 -05:00
Trần Khánh
bc4795dfbc Update strings.xml 2026-07-12 22:48:21 +07:00
tapframe
fc87a44adc revert: restore previous empty state UI 2026-07-12 19:36:11 +05:30
tapframe
e25e12df09 fix: prevent settings sync reset regression 2026-07-12 19:30:31 +05:30