Commit graph

1243 commits

Author SHA1 Message Date
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
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
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
tapframe
4a013678f8 fix: update donations api 2026-06-18 17:46:34 +05:30
tapframe
20620dc400 Fix mobile continue watching backfill 2026-06-18 17:14:54 +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
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
tapframe
521ba187f4 bump version 2026-06-15 00:29:47 +05:30
BlackSpirits
4e46079390
Change 'Avançado' to 'Avançadas' in strings.xml 2026-06-14 20:53:50 +02:00
Nayif
aaa3ab9f64
Merge pull request #1322 from foXaCe/feat/extract-hardcoded-strings-pass6
i18n(fr): full FR parity + extract residual hardcoded strings (pass 6)
2026-06-15 00:02:56 +05:30
Nayif
f5a675d864
Merge pull request #1336 from halibiram/fix/hls-playback-unrecognized-format
fix(player): resolve unrecognized input format during HLS stream playback
2026-06-15 00:01:50 +05:30
BlackSpirits
2dd48d5393
fix(l10n): update Portuguese (Portugal) mobile strings 2026-06-14 17:30:50 +02:00
tapframe
2461ebf594 Fix collection catalog show more routing 2026-06-14 20:56:21 +05:30
tapframe
1a2eca2341 Share stream source pipeline and cards 2026-06-14 19:43:30 +05:30
tapframe
485e4e81e9 Remove stream warmup dead code 2026-06-14 18:58:37 +05:30
halibiram
b694fb3e72 fix(player): resolve unrecognized input format during HLS stream playback 2026-06-13 19:39:54 +03:00
tapframe
6188f700d6 Fix catalog pagination 2026-06-13 19:52:42 +05:30
Stéphane
75f9b46818 i18n(fr): full FR parity + extract residual hardcoded strings (pass 6)
Rebased on current cmp-rewrite, then reconciled and extended.

- Restored full EN<->FR parity: 1854/1854, 0 missing/orphan/duplicate keys.
- Reconciled post-rebase drift from the desktopweb revert: removed 5 FR
  orphans (desktop navigation, about version format) and the now-dead
  desktop P2P string + localizedP2pNotAvailableDesktop() helper whose call
  site was deleted upstream; added the 2 new touch-gestures translations.
- Extracted 11 residual hardcoded user-facing strings via stringResource and
  the LocalizedUiText.resourceString / localizedString(StringResource)
  patterns:
    - 9 Trakt library-sync error messages (TraktLibraryRepository)
    - P2P unknown torrent error (P2pStreamingEngine.android)
    - "More actions" detail action-menu contentDescription (DetailActionButtons)
- FR aligned with existing keys for consistency (request failed, rate limit,
  watchlist). Technical terms kept (Trakt, P2P, badge, URL). Tutoiement,
  apostrophes typographiques. MPVKit submodule pointer untouched.
2026-06-13 08:47:12 +02:00
tapframe
1b6d4fdefa Stop prefetching streams on meta screen 2026-06-13 08:49:24 +05:30
tapframe
7cbd4503e6 Add touch gestures settings 2026-06-12 21:24:14 +05:30
tapframe
8ec9684f51 Make shelf view-all action icon-only 2026-06-12 21:08:39 +05:30
tapframe
f2c9978f76 Fallback to title text when logos are unavailable 2026-06-12 20:46:08 +05:30
tapframe
7f200c7c7d Loop home hero carousel navigation 2026-06-12 20:41:53 +05:30
tapframe
2ce0866b79 Keep shelf headers aligned without view all 2026-06-12 20:39:30 +05:30
tapframe
288794d22a Fix player source identity merge integration 2026-06-12 20:27:22 +05:30
tapframe
6344725d6b Merge remote-tracking branch 'origin/pr/1327' into cmp-rewrite
# Conflicts:
#	composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreenRuntimeSourceActions.kt
2026-06-12 20:24:27 +05:30
tapframe
e897ec2e9a Merge remote-tracking branch 'origin/pr/1326' into cmp-rewrite
# Conflicts:
#	composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreenRuntimeSourceActions.kt
#	composeApp/src/desktopMain/kotlin/com/nuvio/app/features/player/PlayerEngine.desktop.kt
2026-06-12 20:21:52 +05:30
tapframe
4c778a0b38 Merge branch 'cmp-rewrite' of https://github.com/NuvioMedia/NuvioMobile into cmp-rewrite 2026-06-12 20:15:12 +05:30
Nayif
7edf120636
Merge pull request #1329 from anikettuli/fix/trakt-scrobble-bundle
fix(trakt): stop scrobbling the next episode as watched and surface save failures
2026-06-12 20:14:57 +05:30
tapframe
32a26951f7 Refresh watch progress when clearing CW cache 2026-06-12 20:07:28 +05:30
tapframe
142afd14a7 Fix tablet metadata action alignment 2026-06-12 19:14:08 +05:30
tapframe
1c7d6acd9b Revert "Merge branch 'desktopweb' into cmp-rewrite"
This reverts commit b420dcaf71, reversing
changes made to fdadc7c610.
2026-06-12 16:03:28 +05:30
tapframe
c755ead445 Revert "Update player controls state"
This reverts commit 850988bf87.
2026-06-12 15:59:16 +05:30
Nayif
4322669a8b
Merge pull request #1306 from siriusvoid/fix/hold-autoplay-for-post-credits 2026-06-12 15:57:13 +05:30
Aniket Tuli
582e0ff40e refactor(trakt): snapshot scrobble item inputs through a single holder
The stop-scrobble path snapshots its inputs via
snapshotTraktScrobbleItemInputs() returning a TraktScrobbleItemInputs
holder instead of seven loose locals, so adding a field to the item
cannot silently miss the snapshot.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 03:03:41 -07:00
Aniket Tuli
a211d77017 fix: route torrent:// urls through torrent playback instead of the player
Addons that embed the torrent identity in the url field (torrent://<hash>[/<fileIdx>]) with a null infoHash were treated as direct HTTP streams: playableDirectUrl surfaced the raw torrent:// string to the player, isTorrentStream missed it so debrid never engaged, and p2pInfoHash could not extract a hash so the p2p engine never engaged. Equivalent of NuvioTV#2174: classify torrent:// URLs as torrents, never surface them as playable, extract a validated info hash (40-char hex or 32-char base32) and trailing file index for the p2p path, and build proper magnet URIs for debrid from the effective hash. torrent://null and other unextractable URLs yield a null hash and stay unselectable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 02:49:20 -07:00