Introduces a reusable useIntersectionObserver hook and a LazyMediaCarousel component to defer rendering of carousels until they are near the viewport. Updates discoverContent and AllMovieLists to use LazyMediaCarousel, improving performance by only loading carousels as needed. Priority carousels (e.g., top of page) are loaded immediately.
Introduces tracking of failed embeds per source in the player store, adds logic to mark embeds as failed on playback errors, and filters out failed embeds when selecting sources. Also ensures failed sources and embeds are cleared when a working source is found. This improves error handling and fallback behavior for sources with multiple embeds.
Introduces a mechanism to track failed sources in the player store. When a playback error occurs, the current source is marked as failed and subsequent attempts will skip these sources. Failed sources are cleared when a working source is found. UI text is updated to reflect the new behavior.
Introduces a new user preference to automatically resume playback from the next available source when a playback error occurs. Updates settings UI, preferences store, and player error handling to support this feature, including new translations and backend support. Manual resume remains available if the feature is disabled.
Xprime's own site has ads, but people have found pstream (which doesnt have ads) and moves here since there are no ads. Xprime is losing money and is finding it difficult to support the proxies and servers.
clean up ad for xprime when switching sources or destroying player
new method for tracking if ad is shown
Revert "Track XPrime ad script load state in player"
This reverts commit c50bdd9ad8.
Track XPrime ad script load state in player
Adds xprimeAdScriptLoaded state and setter to the player store. Updates XPrimeAdOverlay to only show when the ad script is loaded, and base display logic to set the load state based on script events. This ensures the overlay only appears when the ad script is ready.
remove infinite loop
When conditions are met → show becomes true → timer starts
Timer fires after 5s → show becomes false
Effect re-runs (because show changed) → show becomes true again → new timer starts
Loop repeats infinitely
Refactor XPrime ad injection so it loads when the source changes
Introduces a nickname field to user accounts, updates the backend user interface, and extends the settings UI to allow users to view and edit their nickname. Localization strings and state management have been updated accordingly to support this new field.
* Tbh i tried adding it and it works but i cant fix the dual casting
* clean up chromecasting
* Apply Chromecast fixes
* Update Icon.tsx
---------
Co-authored-by: Pas <74743263+Pasithea0@users.noreply.github.com>
Add Featured Modal
Removed Individual Carousels for each genre
Recommended Carousel
View More page for viewing all
Improve several minor visuals
Update search and navigation
Full Commit Log:
add more carousel skeleton dots
bug fix and languages
remove provider translations
Add change button for recommended more content
add buttons to moreContent page
dropdown for changing recommended
Increase genres and providers
add home/search button to discover
Update FeaturedCarousel.tsx
fix recommended load more pages
increase number of featured items
clean up featured image fetch
maybe fix ff bug?
add dynamic blur to header
Update Dropdown.tsx
fix dropdown
add recommended carousel
animate dropdown
fix some visuals
random button
fix padding
reset timer when manually switching slides
fix editor picks more titles
add store for discover
fix editor picks
Update FeaturedCarousel.tsx
add view more card
move view more link
update carousel buttons and dropdown
finish 5 carousels
use 5 carousels
init carousel nav buttons
update dropdown
update featured sizing
update blurs
add clear blur to navigation
update padding and sizing
Update FeaturedCarousel.tsx
add loading skeleton
update discover navigation again
simplify featured media
Update SearchBar.tsx
tweak some minor visual stuff
fix button sizes
update carousel gradient
fix sticky
fix safari overlay bug
make search transparent
use secondary buttons on featured
fix up negative margins
fix searching classes
fix buttons because of the overlay
make it shorter
add featured section to home page
add toggle for image logos
fix details modal title overlay position
clean up some buttons
improve fed setup status check
update grid
Update FeaturedCarousel.tsx
dont show more content for providers
more stuff
clean and bugfix
update editor picks more content page
Update DetailsModal.tsx
more more more!
shuffle editor picks
discover update part 2
fix more info button
init discover v3