Commit graph

968 commits

Author SHA1 Message Date
skoruppa
b21402e321 reduce allocations and recompositions in EpisodesSection and SeasonTabs
- EpisodeCard: isFocused reads as State.value in drawWithCache to skip recomposition
- EpisodeCard: cache onClick/onLongPress/onFocused lambdas in remember
- EpisodeCard: wrap isWatched/shouldBlur/progressPercent/showProgress in remember
- EpisodeCard: hoist CardDefaults.shape/colors/border/scale and FocusRing before Card
- EpisodeCard: replace background+border with single drawWithCache pass
- SeasonTabs: hoist shape, border, scale, textStyle, textSecondary before LazyRow
- SeasonTabs: cache strCdWatched stringResource
2026-03-05 20:54:39 +01:00
skoruppa
b160fc7110 eliminate scale animation and cache colors in EpisodeCard, add prefetch to CastSection
- EpisodeCard: focusedScale 1.02f -> 1.0f, cache borderColor and notStartedBadgeColor in remember
- CastSection: add LazyListPrefetchStrategy(nestedPrefetchItemCount=2)
2026-03-05 15:01:06 +01:00
skoruppa
496639e273 frame allocations in CastSection and EpisodesSection
- CastMemberItem: crossfade(false), remove redundant clip(CircleShape),
  cache 3x TextStyle in remember(typography)
- EpisodeCard: hoist badgeShape and progressBgColor before conditionals
  to fix conditional remember rule violation
2026-03-05 14:53:23 +01:00
skoruppa
16b144f9f0 reduce per-recomposition allocations in EpisodeCard
- cache all TextStyle.copy() calls in remember (episodeBadgeStyle, titleStyle,
  descriptionStyle, metaLabelStyle, ratingStyle) - was allocating new TextStyle
  on every recomposition per card
- cache Color.copy() calls in remember (badgeBgColor, progressBgColor)
- remove redundant .clip(shape) from inner Box - Card already clips via CardDefaults.shape
- replace 2x Box+clip progress bar with single drawWithCache drawRoundRect - eliminates
  two saveLayer calls per card per frame
2026-03-05 14:42:53 +01:00
skoruppa
bdd66c61af improve rendering performance in meta detail view
EpisodesSection:
- replace animateFloatAsState (overlay alpha) with direct value
- hoist imdbLogoRequest from per-card to EpisodesRow level
- wrap getOrPut in remember(episode.id) to prevent map mutation during composition
- wrap dashPathEffect in remember to avoid per-draw allocation

CastSection / MoreLikeThisSection / CollectionSection:
- wrap getOrPut in remember(key) to prevent map mutation during composition

MetaDetailsScreen:
- extract BackdropLayer composable to isolate animateFloatAsState from LazyColumn scope
- replace 3x Box+graphicsLayer gradient overlays with single drawWithCache pass
- read gradient alphas as State.value inside onDrawBehind to skip recomposition on alpha change
2026-03-05 13:49:20 +01:00
tapframe
66a02f306f Revert PR #507: Move addons into Settings and enforce profile-based access UI
This reverts only the changes introduced by PR #507 (commits 5b24848, aa4aa45, db7a37b) while preserving all other commits from the dev merge.
2026-03-05 06:24:24 +05:30
tapframe
7b55ac41cf Merge branch 'dev' 2026-03-05 02:49:56 +05:30
tapframe
d611fa2dcb bump version 2026-03-05 02:49:19 +05:30
Nayif
816c55e83d
Merge pull request #447 from ddgarciaf02/patch-1
Update Spanish translations
2026-03-05 02:37:56 +05:30
Nayif
2c44372146
Merge pull request #551 from halibiram/tr-strings-update
Add missing Turkish translations from #546 and fix incorrect translations
2026-03-05 02:37:19 +05:30
tapframe
be8c66e703 fix regex pattern regression. 2026-03-05 02:23:50 +05:30
tapframe
804b6e1bf2 watch progress sync and add functionality to retrieve watched episodes with timestamps 2026-03-05 01:24:22 +05:30
tapframe
c639bb2f0a fix for moern hero clipping 2026-03-04 22:40:54 +05:30
tapframe
ea6c320174 Merge branch 'dev' of https://github.com/tapframe/NuvioTV into dev 2026-03-04 22:12:23 +05:30
tapframe
ff88c19e98 language code matching with 3-letter subtags. fixes #574 2026-03-04 22:12:14 +05:30
tapframe
6278d1b690 language code matching with 3-letter subtags. fixes #577 2026-03-04 22:09:16 +05:30
tapframe
f454578628 episode section jank optimization with drawWithCache 2026-03-04 22:01:35 +05:30
tapframe
e8ea6e7c30 use NonCancellable context for plugin execution in PluginManager 2026-03-04 21:35:18 +05:30
tapframe
0a3609593a Merge branch 'dev' of https://github.com/tapframe/NuvioTV into dev 2026-03-04 21:34:58 +05:30
Nayif
60c5319409
Merge pull request #552 from danilopagotto82/Update-translation-v3
Pull Request: Translation Review and Enhancement (pt-BR)
2026-03-04 21:23:53 +05:30
tapframe
004e9a8bbc fix for trakt scrobble race condition 2026-03-04 21:07:44 +05:30
tapframe
90d2eda161 plugins crash fix while fetching streams 2026-03-04 20:38:38 +05:30
Nayif
af82b68627
Merge pull request #567 from skoruppa/close-player
Smart player close navigation
2026-03-04 19:38:25 +05:30
danilopagotto82
e59dafc1b0
Update strings.xml
update Parental Control
2026-03-04 08:56:52 -03:00
tapframe
eec78dc4c1 Run needs-info triage only for bug issues 2026-03-04 09:51:44 +05:30
Nayif
a4abf2e669
update md 2026-03-04 09:46:54 +05:30
tapframe
a307f27d7c Add PR template and body validation workflow 2026-03-04 09:37:56 +05:30
tapframe
f3daafd432 Remove input method from bug form 2026-03-04 09:33:05 +05:30
tapframe
c92d9f92ca Add issue triage and stale needs-info workflows 2026-03-04 09:04:31 +05:30
tapframe
251ef57ce5 Make issue forms more readable 2026-03-04 08:59:31 +05:30
tapframe
dc310507cf Add GitHub issue forms 2026-03-04 08:51:44 +05:30
Nayif
4c75909ba8
Merge pull request #559 from omavel/dev
Update LatAm Spanish localization for new features
2026-03-04 08:33:11 +05:30
tapframe
5c19877e70 Merge branch 'enhance-seek-test' into dev 2026-03-04 08:31:56 +05:30
tapframe
ddfe629409 fixed not focusing to intro/outro buttons when controls are visible 2026-03-04 08:31:45 +05:30
tapframe
766ed2c7b6 Fix where next episodes keep getting marked as watched even before fully completing. 2026-03-04 08:26:03 +05:30
tapframe
89d4c69cb1 using primary colour when focusing seekbar 2026-03-04 08:17:52 +05:30
Nayif
6b4d384cd1
Merge pull request #560 from albyalex96/dev
Add Italian parental guidance strings
2026-03-04 08:01:07 +05:30
Nayif
3475535815
Merge pull request #562 from saimuelbr/dev
Add pt-BR ParentalGuideOverlay strings
2026-03-04 08:00:02 +05:30
tapframe
848c12debe Merge branch 'dev' of https://github.com/tapframe/NuvioTV into dev 2026-03-04 07:59:38 +05:30
Nayif
0a26b4adc8
Merge pull request #546 from skoruppa/main
Add missing strings and translations, validations for api keys and hotfix for trailers overwritten by external meta and subtitles
2026-03-04 07:59:15 +05:30
saimuelbr
96b414dc8b feat(player): implement better style seek and focus management 2026-03-03 22:22:57 -03:00
skoruppa
8316e5812a Missing polish translations 2026-03-04 02:12:09 +01:00
skoruppa
f6063f6a09 Restore build.gradle.kts from upstream 2026-03-04 01:56:50 +01:00
skoruppa
7085feb1cd Fix back stack after playback end, show stream picker on episode error 2026-03-04 01:43:35 +01:00
skoruppa
a216d393e2 go to streams of next episode after playback ended 2026-03-04 01:38:14 +01:00
tapframe
4ca58a573f fix rootsurface to use theme bg 2026-03-04 05:41:50 +05:30
skoruppa
f81bfdfde7 Use system locale.getDisplayLanguage to display subtitles language names 2026-03-04 01:09:33 +01:00
skoruppa
96061bd6b8 Apply text overflow to sub tabs 2026-03-04 00:57:40 +01:00
skoruppa
bc0c7d5ae1 There is no need to normalize anything. Subtitle addons should always receive full currentVideoId 2026-03-04 00:20:38 +01:00
skoruppa
9f1afe5c21 Save calculated videohash and videosize as well 2026-03-04 00:16:10 +01:00