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
Trần Khánh
33d37748c4
Update strings.xml
2026-07-12 19:04:57 +07:00
Trần Khánh
7574a2ce09
Update strings.xml
2026-07-12 11:39:18 +07:00
Trần Khánh
9a3e2a0047
Update strings.xml
2026-07-12 07:27:19 +07:00
WhiteGiso
10e42a971e
Update Italian translations
2026-07-12 01:16:22 +02:00
tapframe
d9954c04e8
Refine store copy and empty states
2026-07-12 02:14:35 +05:30
nosvasedis
6de2b2b882
Merge upstream/cmp-rewrite, resolve Greek translation conflicts
...
- Resolved conflicts by keeping corrected Greek translations over old broken/English text
- Fixed additional corrupted strings introduced upstream (mixed Greek/English fragments) for Trakt rate-limit/request-failed messages, network error messages, and download body messages
- Added missing Greek translations for new upstream keys (settings_playback_parental_guide, settings_playback_parental_guide_description)
- Translated remaining untranslated item-count strings
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-07-11 21:10:18 +03:00
tapframe
a90ee2fcfb
feat: add card depth customization
2026-07-11 12:11:25 +05:30
tapframe
f19d3d1a08
bump version
2026-07-11 09:54:45 +05:30
Nayif
e0c5e31c79
Merge pull request #1257 from siriusvoid/feat/hide-parental-guide-overlay
...
feat: add "Content Warnings" toggle from tv version
2026-07-11 09:43:12 +05:30
Nayif
cc381eb186
Merge pull request #1429 from khanh71/cmp-rewrite
...
Add Vietnamese language support for Nuvio Mobile
2026-07-11 09:42:37 +05:30
Nayif
1b76778a6e
Merge pull request #1448 from milicevicivan18/cmp-rewrite
...
Minor Display section spacing fix
2026-07-11 09:42:19 +05:30
Nayif
bf5fb7830b
Merge pull request #1490 from v4n00/romanian-translation
...
Add Romanian translation
2026-07-11 09:41:06 +05:30
Nayif
5981d2d724
Merge pull request #1493 from mronion212/dutch-translation
...
Dutch translation
2026-07-11 09:40:52 +05:30
tapframe
de4e269879
fix: restore unaired next up episodes
2026-07-11 09:09:09 +05:30
tapframe
0112e33897
fix: LibraryLocalState for profile management
2026-07-11 08:58:24 +05:30
Kyle
36f50fa4a5
feat(details): support behaviorHints.defaultVideoId for series initial play
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 14:13:44 -06:00
tapframe
2e1af6ea1a
feat: add zoom overlay
2026-07-10 21:08:10 +05:30
tapframe
a1c1f8b82a
fix native profile switcher
2026-07-10 19:21:06 +05:30
tapframe
802a31fdf9
fix(ios): restore Compose tablet settings
2026-07-10 17:01:54 +05:30
tapframe
d8b3370faa
fix(ios): prevent carousel swipe-back
2026-07-10 16:28:09 +05:30
tapframe
070ef29ede
fix(ios): stabilize stream navigation and header insets
2026-07-10 15:40:41 +05:30
tapframe
5789af84aa
feat: migrate navigation to Nav3 and native iOS
2026-07-10 14:58:49 +05:30
tapframe
6d5281cdd2
fix: sync watch progress source
2026-07-10 01:21:55 +05:30
tapframe
d085bf8f7d
Revert "perf: reduce compose recomposition hotspots"
...
This reverts commit 62d4297063 .
2026-07-09 23:20:23 +05:30
tapframe
fc38e5fa86
fix: preserve home catalog sync keys
2026-07-09 21:40:37 +05:30
tapframe
b5f37e227d
fix: stream continue watching metadata enrichment
2026-07-09 20:41:48 +05:30
tapframe
ebffbb4ebd
fix(trakt): preserve continue watching sync
2026-07-09 20:28:01 +05:30
tapframe
2309970f20
fix: keep home tab mounted
2026-07-09 19:05:05 +05:30
tapframe
62d4297063
perf: reduce compose recomposition hotspots
2026-07-09 17:29:10 +05:30
tapframe
fb805b738b
fix ios player rotation via patched libmpv
2026-07-09 11:59:11 +05:30
Jimmy
69b164f702
add dutch language to enums
...
added dutch language values so it can be used in the app
2026-07-09 00:04:52 +02:00
Jimmy
66c247aa8c
add Dutch translation
...
Added values-nl for dutch app language
2026-07-08 23:54:26 +02:00
v4n
41cfd1bbcf
chore: add romanian language to enums
2026-07-08 22:27:01 +03:00
v4n
9bb53b8e02
i18n(ro): add romanian translation
2026-07-08 21:58:05 +03:00
tapframe
4639529c3a
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-07-08 23:40:07 +05:30
Nayif
dfc8accab1
Merge pull request #1480 from foXaCe/feat/i18n-fr-pass8
...
i18n(fr): backfill 26 missing translations + extract residual hardcoded string
2026-07-08 23:39:39 +05:30
tapframe
4fcf4fb542
add back periodic refresh
2026-07-08 21:02:38 +05:30
tapframe
3a61117041
feat: adding deeplinks for addons and detailscreen
2026-07-08 13:37:03 +05:30
Stéphane
6bc4815945
i18n(fr): backfill missing translations + extract residual hardcoded string
...
- Add 26 missing French (values-fr) translations for upstream-added strings
(Sentry crash reports, downloads open-directory, metadata Background Mode)
- Replace hardcoded contentDescription = "Play" in iOS player with the
existing action_play string resource
- Restores EN<->FR parity to 1921<->1921
2026-07-07 10:17:04 +02:00
tapframe
deddcc6744
Use TV Lottie loading spinner
2026-07-06 14:50:51 +05:30
Copilot
0afa968eb3
Fix and complete Greek (el) translations
...
- Translate 18 strings that were missing from the Greek locale entirely (Sentry crash report dialogs, downloads folder actions).
- Fix ~257 strings that were corrupted by a bad find/replace pass, which left garbled mixed Greek/English text (e.g. Αποθήκευσηd, ΑναπαραγωγήER, Όχιt available).
- Translate ~275 additional strings that were left in English (mainly the Collections/TMDB editor, plugin manager, and debrid settings screens).
- Keep brand names, codec/technical identifiers, and pure format strings in English as is conventional.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-07-06 01:09:00 +03:00
tapframe
9d41e9f769
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-07-06 02:44:13 +05:30
tapframe
cafb21dbe8
fix: keep home hero clear of continue watching
2026-07-06 02:44:06 +05:30
tapframe
aeb5e04321
fix: show donation progress percent
2026-07-06 02:29:12 +05:30
tapframe
0f7e9615e4
fix: open externalUrl streams externally
2026-07-06 02:17:47 +05:30
Nayif
150b0b2ba0
Merge pull request #1443 from emgeje/cmp-rewrite
...
Updated Hungarian translations in strings.xml
2026-07-06 02:04:02 +05:30
Nayif
a002dec6ed
Merge pull request #1426 from WhiteGiso/pr/additional-translations-ita
...
Add additional ita translations
2026-07-06 01:59:49 +05:30
Nayif
79cc4b4d17
Merge pull request #1457 from WhiteGiso/feat/ios-now-playing
...
Add iOS Now Playing integration
2026-07-06 01:59:03 +05:30
Nayif
848fc962ae
Merge pull request #1453 from nosvasedis/nosvasedis-upgraded-robot
...
Add Greek translations for 854 missing UI strings
2026-07-06 01:58:44 +05:30
tapframe
f3f120a57d
Sync Trakt credentials across clients
2026-07-06 01:36:32 +05:30
tapframe
4b6a15c950
Fix Trakt progress watched precedence
2026-07-06 00:59:53 +05:30
tapframe
94e1141bd1
fix: ignore unavailable episodes in watched state
2026-07-06 00:34:37 +05:30
tapframe
8c6741f5cb
feat(trakt): add pagination support for fetching watched movies
2026-07-05 19:09:28 +05:30
tapframe
7191e91dd6
feat(PlaybackAutoPlaySettings): add additional hours
2026-07-04 15:43:44 +05:30
tapframe
b3c96bd7b3
feat: sentry diagnostics
2026-07-04 14:29:45 +05:30
tapframe
0e78513031
feat: implement open downloads directory for Android and iOS
2026-07-04 00:57:17 +05:30
WhiteGiso
43b5a42fb2
feat(ios): add Now Playing support
2026-07-03 14:52:47 +02:00
nosvasedis
cb6fbe4a9e
Add Greek translations for 854 missing UI strings
...
Complete Greek (el) localization by translating all previously untranslated strings in values-el/strings.xml.
Changes:
- Added 854 Greek translations for UI strings
- Achieved 100% translation coverage (1903/1903 strings)
- Maintained format placeholders (%1\, %2\, etc.)
- Preserved existing Greek translations and terminology
- Ensured consistency with app UI context
Coverage before: ~50% (1049/1903 strings)
Coverage after: 100% (1903/1903 strings)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-07-03 12:43:05 +03:00
tapframe
caad155308
ref: fine tuning grains
2026-07-03 01:47:32 +05:30
tapframe
e6ef2fd3ae
feat: adjust library and cw cards removal animations
2026-07-03 01:40:48 +05:30
tapframe
173584b191
Ignore self-originated realtime sync events
2026-07-02 18:42:44 +05:30
tapframe
dccbfc43c2
Add realtime sync invalidation handling
2026-07-02 18:31:43 +05:30
Ivek
3818429b39
Update StreamsSettingsPage.kt
2026-07-02 00:09:43 +02:00
Ivan
e2a6436da2
Fixed mistake
2026-07-01 23:20:42 +02:00
Ivan
a4b6ef597c
Fix Display section spacing in Stream Settings
2026-07-01 23:17:26 +02:00
emgeje
c6e3b343c8
Updated various strings in Hungarian localization
2026-07-01 17:38:01 +02:00
emgeje
7e081edfda
To ensure the Hungarian localization remains accurate and up-to-date with the latest application string changes.
2026-07-01 17:25:23 +02:00
tapframe
bc7c79f7f7
Revert "Merge branch 'switchdb' into cmp-rewrite"
...
This reverts commit e883d89031 , reversing
changes made to 6885bbdee7 .
2026-07-01 20:34:49 +05:30
tapframe
3ca3953fe3
Fix Android dominant color extraction
2026-07-01 15:35:15 +05:30
tapframe
ef9aece790
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-07-01 14:37:52 +05:30
Nayif
2880cbb507
Merge pull request #1432 from IberianSoldierPC/cmp-rewrite
...
spanish translation reinforced and updated
2026-07-01 14:36:42 +05:30
Nayif
4d95e3ab22
Merge pull request #1433 from Pupon11/cmp-rewrite
...
Update strings.xml Updated Czech translations
2026-07-01 14:36:08 +05:30
Nayif
a032bb5b2d
Merge pull request #1434 from foXaCe/feat/i18n-fr-pass7
...
i18n(fr): backfill missing translations + extract residual hardcoded strings
2026-07-01 14:35:51 +05:30
tapframe
7dd20c9915
bump version
2026-07-01 14:33:53 +05:30
tapframe
dd0debb8b9
Use snapshot sync on mobile startup
2026-07-01 02:36:25 +05:30
tapframe
dccf264a27
Refresh series watched poster badges
2026-07-01 02:32:24 +05:30
tapframe
c17900ce0b
fix: stabilize home startup and watched badges
2026-06-30 21:56:34 +05:30
tapframe
b9caec19e7
fix: reconcile watched series outside details screen
2026-06-30 20:06:33 +05:30
Stéphane
02f578a986
i18n(fr): backfill missing translations + extract residual hardcoded strings
...
- Backfilled 34 missing French translations (vouvoiement) for recent upstream
features: app-store media server addons, playback engine / libmpv settings,
donation progress, debug backend switch, terms links, original language.
- Fixed 2 residual tutoiement imperatives ("Reconstruis" -> "Reconstruisez").
- Extracted 10 hardcoded user-facing strings + 1 plural to composeResources:
- Person detail sidebar labels (Born, Place of birth, Credits, Biography)
- TMDB entity browse sidebar labels (Country, Type, Catalogue, About)
+ a title-count plural
- External player subtitle overlay messages (loading / downloading)
- Key parity 1898/1898 strings, 3/3 plurals, 0 missing/orphan. Placeholders,
vouvoiement, French typography (non-breaking spaces, Mo/Go) preserved.
2026-06-30 15:59:52 +02:00
Pupon11
d033eb6e46
Update strings.xml
...
Updated Czech translations
2026-06-30 13:46:02 +02:00
IberianSoldierPC
3e0d04b56a
spanish translation reinforced and updated
2026-06-29 12:21:42 +02:00
Trần Khánh
7f13b201e8
Add Vietnamese language support
...
Add Vietnamese (vi) as an available language option with complete string translations. Updates include Android locale configuration, comprehensive Vietnamese translation file with 1927 strings, and AppLanguage enum to support Vietnamese selection in the app settings.
2026-06-29 11:32:53 +07:00
WhiteGiso
6916b0091f
Add additional ita translations
2026-06-28 02:03:37 +02:00
tapframe
03bdc1a61e
fix: stabilize dominant colour metadata background
2026-06-27 21:27:59 +05:30
tapframe
8a68d9e923
feat: add dominant colour bg
2026-06-27 21:01:08 +05:30
tapframe
35be889711
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-27 17:12:49 +05:30
tapframe
e4c84e0060
Add Bulgarian localization
2026-06-27 17:12:08 +05:30
tapframe
61c9096b8b
Add Slovak localization
2026-06-27 17:07:19 +05:30
tapframe
a7dc224098
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-27 17:03:22 +05:30
Nayif
07a35ddbbb
Merge pull request #1030 from emgeje/cmp-rewrite
...
Add Hungarian translation
2026-06-27 17:03:11 +05:30
Nayif
e8b1449cb5
Merge pull request #1412 from WhiteGiso/pr/translations-it
...
Add Italian translations for Mobile
2026-06-27 17:01:21 +05:30
tapframe
d5d342cc2e
ref: move external player button to top controls
2026-06-27 17:00:48 +05:30
tapframe
0d9efc4975
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-27 17:00:15 +05:30
Nayif
d7409923d7
Merge pull request #1422 from materemias/fix/debrid-device-auth-transient-poll
...
Fix debrid device-auth giving up on transient poll errors (#1409 )
2026-06-27 17:00:07 +05:30
tapframe
8a1efa2551
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-27 16:46:34 +05:30
tapframe
4aa29087df
Fix mobile home catalog cache invalidation
2026-06-27 16:19:17 +05:30
tapframe
f2eddbaf5b
ref: add validation for duplicate collection
2026-06-27 15:17:44 +05:30
YLaskco
c388bd45d2
fix(player): preserve stream loading during external prep
2026-06-26 18:54:46 -04:00
tapframe
23480f50b6
fix: tune streams blur panel
2026-06-27 02:54:18 +05:30
YLaskco
7efdf52748
fix(player): speed up skip-segment launch prep
2026-06-26 15:13:33 -04:00
tapframe
5c5276fd7a
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-26 23:41:06 +05:30
tapframe
749917bcd7
fix: source change not recreating playback
...
fixes #1421
2026-06-26 23:40:21 +05:30
Nayif
ade6935330
Merge pull request #1420 from Laskco/skip-intro-merge-providers
...
fix(player): merge skip-intro providers instead of first-match-wins
2026-06-26 23:08:44 +05:30
Nayif
468a87ad61
Merge pull request #1418 from Joe00011/feat/japanese-translation
...
Update Japanese translation
2026-06-26 23:08:07 +05:30
Nayif
3395abde5e
Merge pull request #1415 from Laskco/external-player-skip-segments
...
Send resolved intro/outro skip segments to external players
2026-06-26 23:07:51 +05:30
tapframe
d6a0d2da52
ref: rename files
2026-06-26 22:53:12 +05:30
tapframe
1b4d08bbba
feat: support for 6 profiles
2026-06-26 15:01:34 +05:30
Mate Remias
27c646eafa
Fix debrid device-auth giving up on transient poll errors
...
The device-authorization poll for debrid providers (TorBox/Premiumize)
treated any thrown redeem request as a fatal error and stopped polling,
showing "Could not start sign-in". The only thrown error it tolerated was
iOS request cancellation (isCancelledHttpRequest matched NSURLErrorDomain
/ code=-999); on Android a thrown request fell through to Failed(null)
and terminated the loop.
On aggressive ROMs (OxygenOS, MIUI, ...) the OS severs a backgrounded
app's sockets and fails its DNS while the user is in the browser approving
the code, so the in-flight poll throws UnknownHostException/IOException.
That terminated the login even though approval succeeded — reproduced on
OnePlus 13 / Android 16 (issue #1409 ): browser shows "logged in", app shows
"Could not start sign-in".
Treat a thrown redeem as Pending and keep polling instead of failing. To
avoid polling forever when the failure is persistent (airplane mode,
captive portal) rather than a brief background blip, a monotonic-clock
watchdog (DEVICE_AUTH_MAX_POLL_DURATION) bounds the throwing path and
surfaces failure once it elapses; a response-bearing expiry still stops
the loop earlier via the Expired branch. This also removes the now-unused,
iOS-only isCancelledHttpRequest helper.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:46:07 +02:00
YLaskco
cff97e3159
Skip Intro: merge providers instead of first-match-wins
...
SkipIntroRepository returned the result of the first provider that had
any data, so a provider with only a partial result (e.g. AniSkip with
just the intro) shadowed another provider that had the complete set
(e.g. IntroDB with intro + outro), silently dropping the outro.
Query IntroDB, Anime-Skip and AniSkip and merge their results by segment
category (opening / ending / recap), filling each category from the
highest-priority provider that has it (IntroDB, then Anime-Skip, then
AniSkip). The most complete set is always used and no provider shadows
another in either direction. The skipIntroEnabled gate and caching are
unchanged.
2026-06-26 01:46:18 -04:00
Joe00011
1ab467e810
Update Japanese strings.xml translation
2026-06-26 13:30:44 +09:00
YLaskco
0bfd611a45
Resolve skip segments on an app-lifetime scope
...
The skip lookup ran on the caller's composition-bound coroutine scope,
so navigating into the external player cancelled the in-flight network
request before it returned (and the cancelled lookup cached an empty
result, poisoning retries). Run resolution on a dedicated app scope so
it completes regardless of UI lifecycle.
2026-06-25 15:23:14 -04:00
YLaskco
af2e8ff926
Send resolved intro/outro skip segments to external players
...
Adds an opt-in External Player setting that hands resolved intro and
outro skip timestamps to external players via a skip_segments intent
extra, so a supporting player can auto-skip the opening and ending the
same way the internal player already does.
Resolution reuses the existing SkipIntroRepository (IntroDB, ARM,
AniSkip, Anime-Skip), so there is no new API, key, provider, or
dependency. The toggle is off by default and sits under Forward
Subtitles in the External Player settings. Resolution is bounded by a
timeout and only runs when the setting is on; players that do not read
the extra ignore it.
2026-06-25 14:38:45 -04:00
WhiteGiso
6e27baacda
Add Italian translations for Mobile
2026-06-25 16:56:08 +02:00
tapframe
19f1e1a656
Remove settings sidebar border
2026-06-25 11:38:35 +05:30
tapframe
b9c3e62eb0
ref: adjust authscreen layout and gradients
2026-06-25 02:46:53 +05:30
tapframe
a2d3fda686
ref: reorganize settings page
2026-06-25 01:45:50 +05:30
tapframe
d767f60d35
Apply profile mesh background to loading screens
2026-06-25 01:04:17 +05:30
tapframe
87670e7cb0
ref: remove startup observer causing stale catalog setting push
2026-06-24 20:40:55 +05:30
tapframe
9d32d238f4
fix: libmpv ass override.
...
fixes #1403
2026-06-24 19:55:30 +05:30
tapframe
df8b05f1c2
Adjust App Store settings policy and copy
2026-06-24 13:22:53 +05:30
tapframe
69f0dab65e
feat: local db switch for development
2026-06-23 19:43:27 +05:30
tapframe
3c1bdd3e18
update proguard rules and bump version
2026-06-22 21:12:43 +05:30
tapframe
6e815b91ed
feat: libmpv engine for android
2026-06-22 20:43:12 +05:30
Nayif
f3128f369b
Merge pull request #1370 from VenusIsJaded/fix/android-7-lets-encrypt
...
fix: Let's Encrypt trust on Android 7
2026-06-22 19:53:26 +05:30
tapframe
f0f5e583a3
Fix home collections refresh
...
Fixes #1368
2026-06-22 19:43:22 +05:30
tapframe
e2215b64a4
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-22 19:34:58 +05:30
Nayif
7f9cb51981
Merge pull request #1391 from VenusIsJaded/fix/imdb-rating-shows-tmdb-score
...
Fix: Keep addon IMDb rating instead of TMDB score
2026-06-22 19:34:51 +05:30
tapframe
85e1522712
Temporarily disable AVFoundation audio output
2026-06-22 19:31:21 +05:30
tapframe
7c7ab57334
Merge branch 'cmp-rewrite' into cmp
2026-06-22 19:04:48 +05:30
tapframe
6bd055d174
revert: rollback dependencies causing instablilty durign navigation and plugin fetches
2026-06-22 18:51:35 +05:30
tapframe
8498a5301d
Fix mobile compile after merge
2026-06-22 18:36:56 +05:30
tapframe
4935ffc75a
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-22 18:19:28 +05:30
Nayif
bff4fa798d
Merge pull request #1141 from jhojhocraazy/cmp-rewrite
...
i18n(pt-BR): Add complete Brazilian Portuguese
2026-06-22 18:18:42 +05:30
Nayif
d7eea90691
Merge pull request #1386 from Joe00011/feat/japanese-translation
...
feat: Add Japanese language support
2026-06-22 18:16:40 +05:30
Nayif
1441797d3e
Merge pull request #1259 from WhiteGiso/pr/liquid-glass-profile-switch
...
feat(ios): improve liquid glass profile switching
2026-06-22 18:15:52 +05:30
VenusIsJaded
0bfd086917
fix: ExoPlayer unpausing when leaving the app and coming back
...
The LifecycleEventObserver was only capturing playWhenReady at the
time the effect ran. When ON_START fired later, it would use the old
value and resume playback even if the user had paused before leaving
the app.
Use rememberUpdatedState so we always read the live value.
Fixes #1080
2026-06-22 07:16:03 -05:00
VenusIsJaded
fca06204e0
fix(details): keep addon IMDb rating instead of TMDB score
...
When a metadata addon (e.g. aiometadata) supplies a genuine IMDb rating,
the TMDB enrichment on the details page was overwriting it with TMDB's
vote_average because the copy() preferred enrichment.rating over the
existing value. This made the IMDb placeholder display the TMDB score on
mobile, even though the addon provided IMDb ratings (the TV version was
already correct).
Invert the precedence so the addon-provided imdbRating is kept and TMDB's
vote_average is only used as a fallback when no rating was supplied.
Fixes #1377
2026-06-22 06:37:24 -05:00
VenusIsJaded
cc89e07eed
fix: Let's Encrypt trust on Android 7
2026-06-22 05:38:31 -05:00
tapframe
389b990358
Handle deleted remote accounts on mobile
...
Fixes #81
2026-06-21 23:50:01 +05:30
Joe00011
029abadbe6
Add Japanese strings.xml translation
2026-06-21 20:30:48 +09:00
tapframe
e1cad830e9
Fix watch progress crash from concurrent updates
2026-06-21 16:51:20 +05:30
tapframe
3e49c78de7
fix: multiple ios crashes
2026-06-21 16:45:56 +05:30
tapframe
f2ef1e1383
refactor(plugin): unify dispatcher usage in PluginRuntime
2026-06-21 16:37:59 +05:30
tapframe
50a923d056
ref: remove entity outer box
2026-06-21 13:10:09 +05:30
tapframe
bdffcbb8bf
Refine wide cast loading layout
2026-06-21 13:06:14 +05:30
tapframe
f4a2ce8963
Add wide cast and production layouts
2026-06-21 12:57:29 +05:30
Joe00011
f5b32acd42
Add Japanese language support to AppLanguage enum
2026-06-21 15:51:28 +09:00
Joe00011
cb8072b470
Add Japanese locale to locale_config.xml
2026-06-21 15:44:55 +09:00
tapframe
6c9b926b0e
bump version
2026-06-20 22:23:13 +05:30
tapframe
41b732bbe5
fix(plugin): isolate runtime from default dispatcher
2026-06-20 22:16:43 +05:30
tapframe
c3da1cf36f
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-20 19:15:50 +05:30
Nayif
f6ce3f63d4
Merge pull request #1364 from skoruppa/cmp-rewrite
...
original audio parity with TV and fix for debrid instant download + Polish Translation Update
2026-06-20 18:16:18 +05:30
tapframe
3525673e70
Soften detail hero bottom gradient
2026-06-20 17:44:48 +05:30
tapframe
3fcf1aa752
Fix local continue watching removal with Trakt progress
2026-06-20 16:23:21 +05:30
tapframe
18305062a1
fix: adjust buffer duration
2026-06-20 15:41:18 +05:30
skoruppa
d52491d0b8
Merge remote-tracking branch 'upstream/cmp-rewrite' into cmp-rewrite
...
# Conflicts:
# composeApp/src/commonMain/kotlin/com/nuvio/app/App.kt
2026-06-19 21:54:07 +02:00
paregi12
4c667e402f
Merge branch 'NuvioMedia:cmp-rewrite' into cmp
2026-06-19 19:46:08 +05:30
tapframe
3adee555c5
feat: add torrent not supported message
2026-06-19 17:09:30 +05:30
tapframe
963ace0211
update dependencies.
2026-06-19 16:18:32 +05:30
paregi12
adf5d18462
fix(plugins): map plugin subtitles to StreamItem.externalSubtitles
2026-06-19 10:00:39 +05:30
paregi12
5fd0ab6ea2
fix(streams): resolve redeclaration and unresolved reference build errors
2026-06-19 08:57:41 +05:30
paregi12
fadf8e2831
Merge remote-tracking branch 'upstream/cmp-rewrite' into cmp
...
# Conflicts:
# composeApp/src/commonMain/kotlin/com/nuvio/app/App.kt
2026-06-19 08:34:04 +05:30
Nayif
264df05335
Merge pull request #1367 from foXaCe/feat/i18n-fr-vouvoiement
...
i18n(fr): convert French translations from tutoiement to vouvoiement
2026-06-19 01:46:24 +05:30
Stéphane
654e951259
i18n(fr): convert French translations from tutoiement to vouvoiement
...
- Rewrote all user-facing French strings from informal address (tu/ton/ta/
tes, 2nd-person-singular imperatives) to formal vouvoiement (vous/votre/
vos, 2nd-person-plural imperatives). 171 strings updated.
- Past participles and adjectives kept singular (politeness "vous"):
"Vous avez ete deconnecte", "Vous etes seul responsable".
- Setting behavior descriptions written in 3rd person ("Affiche les
badges...") left unchanged: they describe the option, not the user.
- Key parity unchanged, placeholders (%1$s, \n), HTML entities and French
typography (apostrophes ', non-breaking spaces) preserved.
2026-06-18 21:38:18 +02:00
tapframe
aa2a074578
Fix profile-scoped playback sync leaks
2026-06-19 00:05:14 +05:30
WhiteGiso
18d004ffe0
Add native liquid glass profile tab handling
2026-06-18 15:57:31 +02:00
skoruppa
a764046e29
Merge branch 'NuvioMedia:cmp-rewrite' into cmp-rewrite
2026-06-18 14:48:06 +02:00
skoruppa
311da87592
feat: add Original Audio language option with TMDB enrichment
...
- Add AudioLanguageOption.ORIGINAL to preferred audio language picker
(primary and secondary) with hint 'Requires TMDB enrichment'
- Resolve content original language from meta.language with fallback
to country-based inference (countryToLanguageCode mapping)
- Pass contentLanguage through PlayerLaunch, PlayerScreen, and
StreamLinkCache for reuse on subsequent playback sessions
- Add Device Language as default app language option (resets to system
locale instead of forcing English)
- Add all missing Polish translations (417 strings)
- Add LanguageSelectionOption.description support in settings dialogs
2026-06-18 14:46:31 +02:00
tapframe
4a013678f8
fix: update donations api
2026-06-18 17:46:34 +05:30
skoruppa
8039c32a70
fix: resolve debrid instant streams before download/copy link
...
Long-press menu was blocked for debrid instant streams because
playableDirectUrl is null until resolved. Now the menu opens for
any stream that has a direct URL or is a debrid candidate.
Download and Copy Link actions now resolve the debrid stream URL
via DirectDebridPlaybackResolver before enqueuing/copying, matching
the same flow used by the player.
2026-06-18 13:54:59 +02:00
tapframe
20620dc400
Fix mobile continue watching backfill
2026-06-18 17:14:54 +05:30
paregi12
e3bea52462
Merge branch 'NuvioMedia:cmp-rewrite' into cmp
2026-06-18 16:40:57 +05:30
tapframe
938f871a91
Fix iOS player engine volume overrides
2026-06-18 16:22:55 +05:30
tapframe
78d4ebf229
Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite
2026-06-18 16:12:37 +05:30
Nayif
2573d0d0e6
Merge pull request #1340 from anikettuli/fix/subtitle-addon-tv-series-alias
...
fix(player): apply tv/series alias and singular resource name in subtitle addon matching
2026-06-18 16:08:00 +05:30
tapframe
0645f3504e
Align next up copy with TV app
2026-06-18 15:39:24 +05:30
Nayif
2b885d7001
Merge pull request #1278 from luqmanfadlli/fix-ios-popup-trailer
...
fix(trailer): resolve iOS popup dimensions and polyfill native playback controls
2026-06-18 15:06:30 +05:30
Nayif
c802d8b0c6
Merge pull request #1348 from Blackspirits/patch-2
...
Change 'Avançado' to 'Avançadas' in strings.xml
2026-06-18 15:04:57 +05:30
Nayif
cb48f1850c
Merge pull request #1360 from danielz1z/fix/catalogroute-targetkind-navtype
...
fix(ios): serialize catalog route target kind
2026-06-18 15:04:43 +05:30
tapframe
232703c3cd
Read sync backend credentials from env
2026-06-18 14:14:55 +05:30
daniel
a65fd5dc88
fix(ios): serialize catalog route target kind
...
Store CatalogRoute.targetKind as CatalogTargetKind.name and convert it back in toCatalogTarget(). This keeps the typed route argument on a primitive String boundary so Compose Navigation does not require a custom enum NavType during graph construction.
2026-06-18 06:33:51 +02:00
tapframe
4a883a1add
Add runtime sync backend switch
2026-06-17 23:29:00 +05:30
Luqman Fadlli
efe032d87f
Merge branch 'NuvioMedia:cmp-rewrite' into fix-ios-popup-trailer
2026-06-17 15:56:07 +07:00
Aniket Tuli
250d9d79cf
fix(cloud): guarantee an error message for failed Torbox responses
...
The failure path now falls back to a message carrying the HTTP status
when the body has no detail/error and the raw body is blank, and the
large mylist fixture moves to TorboxCloudLibraryFixtures.kt so the
test file stays scannable.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-17 00:13:47 -07:00
Aniket Tuli
7fa0c5fab7
fix: stop truncating raw HTTP bodies on Android so Torbox cloud library loads
...
Android httpRequestRaw capped response bodies at 1 MiB and appended a
truncation marker, corrupting large Torbox mylist JSON. The decode error
was swallowed, so the cloud library rendered as silently empty. Read the
full body like iOS/desktop already do, and surface undecodable Torbox
list responses as a provider error instead of an empty library.
Fixes #1216
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-17 00:13:46 -07:00
Aniket Tuli
31420a88bf
fix(player): clamp skip-outro seek below the duration boundary
2026-06-17 00:13:40 -07:00
Aniket Tuli
3236a7cc1b
fix(player): clamp skip-outro seekTo against actual duration
...
Prevents a Long overflow when the last AnimSkip segment carries Double.MAX_VALUE as its endTime sentinel. The seek target is now capped to playbackSnapshot.durationMs so ExoPlayer always receives a valid millisecond position.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 00:13:39 -07:00
Aniket Tuli
1b7c9d6481
fix: apply tv/series alias and singular resource name to subtitle addon matching
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 00:13:36 -07:00
paregi12
baaf8f9a8b
Merge upstream/cmp-rewrite into cmp
2026-06-15 20:22:32 +05:30
WhiteGiso
53d600768f
Merge branch 'cmp-rewrite' into pr/liquid-glass-profile-switch
2026-06-15 10:09:40 +02:00