Commit graph

987 commits

Author SHA1 Message Date
skoruppa
44f53cd7ba Improve Smart player close navigation
Should fix #622
2026-03-06 12:43:56 +01:00
tapframe
070a2e749c Merge branch 'dev' of https://github.com/tapframe/NuvioTV into dev 2026-03-06 13:53:53 +05:30
Nayif
d550e81d08
Merge pull request #623 from danilopagotto82/update-translation-V3-Hotfix
🚨 ATTENTION! Critical Translation Error – Immediate Hotfix Required (Pt-BR)
2026-03-06 13:53:41 +05:30
tapframe
c295a1a300 update contributors screen ui 2026-03-06 12:01:06 +05:30
tapframe
6c7efb3299 added contributors section 2026-03-06 11:33:28 +05:30
tapframe
a924764eeb feat: add manual play option to continue watching section and metadetails screen 2026-03-06 10:27:03 +05:30
tapframe
2a32a03bdb update build gradle and tmdb api key 2026-03-06 10:03:49 +05:30
Nayif
fee5ec9534
Merge pull request #632 from skoruppa/main
Perrformance Improvement - Media Details and Streams Screen
2026-03-06 07:59:11 +05:30
tapframe
a7e99ca6b9 feat: refactor movie watched status tracking to use a global set of watched IDs instead of individual observers. 2026-03-06 07:37:59 +05:30
tapframe
6e049fb02d perf: coroutine cancellation.optimize addon manifest loading with shared flows 2026-03-06 07:04:25 +05:30
skoruppa
d4bcc0c07a replace Brush gradients with pre-rendered ImageBitmap
- Replace Brush.horizontalGradient/verticalGradient with 1px ImageBitmap rendered via android.graphics.LinearGradient in MetaDetailsScreen and StreamScreen - GPU does a single texture sample per pixel instead of computing gradient per frame
2026-03-06 02:23:44 +01:00
tapframe
b31514e65e fix: library and watchlist membership checks by normalizing content IDs and matching across multiple identifiers. fixes #614 2026-03-06 06:26:10 +05:30
tapframe
e09f7fb241 adjust rail width settingscreen 2026-03-06 06:13:28 +05:30
tapframe
289b107f86 feat: Remove metadata hydration limit and implement a cooldown for failed metadata fetch 2026-03-06 06:01:26 +05:30
skoruppa
fbbc9a22d6 Last touches
- Remove leftGradient and dimColor overlays from BackdropLayer
- Restore focusedScale from 1.0 to 1.02 on season tabs and episode cards
- Replace deprecated focusRestorer(lambda) with focusRestorer(FocusRequester)
- Replace deprecated Divider with HorizontalDivider
2026-03-06 01:25:44 +01:00
skoruppa
10bce27a28 reduce GPU/UI thread overhead in EpisodesSection and MetaDetailsScreen
EpisodesSection:
- Set focusedScale=1.0f on EpisodeCard and SeasonTabs to eliminate
  graphicsLayer offscreen buffers created by TV Material3 scale animation
- Explicitly set glow=CardDefaults.glow() on EpisodeCard to disable
  shadow GPU pass
- Remove always-visible semi-transparent border (White 14%) from EpisodeCard
- Fix inline NuvioColors reads: hoist Primary/TextPrimary/TextSecondary/FocusRing
  before remember blocks and drawWithCache
- Use episode.id as remember key for lambdas instead of full episode object
- Wrap progress/imdbRating/isMarkedWatched in remember to avoid map lookups per frame
- Cache episodeOnFocusRestored in remember instead of inline lambda

MetaDetailsScreen:
- Add noVerticalScrollResponder (BringIntoViewResponder with no-op
  bringChildIntoView) on SeasonTabs and EpisodesRow items to prevent
  LazyColumn from triggering full vertical re-layout on every horizontal
  focus movement inside nested LazyRows
2026-03-05 23:18:30 +01:00
tapframe
154daafc64 revert url probing in regex causing issues 2026-03-06 01:44:57 +05:30
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
danilopagotto82
2868f111cc
Update strings.xml
Open/close translation adapted!
2026-03-05 15:02:14 -03: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
danilopagotto82
f921aed3c8
Update strings.xml
Update Corretion addon to Plugins (hotfix)
2026-03-05 09:59:42 -03: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