Commit graph

4628 commits

Author SHA1 Message Date
Pas
803bfc5df7 Update SupportBar.tsx 2025-12-09 12:27:17 -07:00
Pas
560a736e84
Update SupportBar.tsx 2025-12-09 12:11:49 -07:00
Pas
f2b39b046c Add support bar and donation modal to homepage
Introduces a support bar component on the homepage to display project funding progress and encourage donations. Adds a modal with more information about supporting the project. Updates configuration to allow toggling the support bar and setting funding values. Updates links to the new donation page and adds related translations.
2025-12-09 12:04:46 -07:00
Pas
dbf2c02a53 Update useProviderScrape.tsx 2025-12-08 12:16:05 -07:00
Pas
732d1d5ca3 Fix handling of undefined arrays in source selection
Updated filtering logic to safely handle cases where arrays like disabledSources, preferredSourceOrder, and preferredEmbedOrder may be undefined. This prevents runtime errors and ensures robust source and embed selection throughout the player and settings components.
2025-12-08 12:16:05 -07:00
Pas
7b8afedb8b update providers 2025-12-06 22:32:11 -07:00
Pas
e4b25d4a09 fix carousel padding even more 2025-12-06 21:54:32 -07:00
Pas
b24ada9b77 Handle 'not found' state in embed source selection
Adds a 'notFound' state to useEmbedScraping and updates SourceSelectingView, SourceSelectPart, and SelectableLink to display a distinct UI when an embed source is not found. This improves user feedback for unavailable sources and refines error handling logic.
2025-12-06 21:48:28 -07:00
Pas
10bde63575 Improve error handling in account metrics fetch
Added checks for missing BACKEND_URL and improved error handling in getAccountNumber and getAllAccounts functions. Now returns 'N/A' on fetch errors or missing data, and sets state to 'N/A' in catch blocks to prevent crashes.
2025-12-06 21:41:47 -07:00
Pas
a6f78daa92 update providers 2025-12-06 21:39:06 -07:00
Pas
b927c6971e fix random errors 2025-12-06 21:17:19 -07:00
Pas
8b115ebb43 Update notifications.xml 2025-12-06 15:47:43 -07:00
Pas
5a2160cf49 switch to base wyzie 2025-12-05 21:49:32 -07:00
Pas
84b1de91c4 fix PWA searchbar padding 2025-12-05 16:06:08 -07:00
Pas
c1bdcdf9df Adjust carousel title paddings and margins for layout consistency 2025-12-04 20:04:38 -07:00
Pas
e49eb634fe Revert "Merge pull request #71 from afyef/feat/skip-source-button"
This reverts commit d1356405d2, reversing
changes made to 85421a881d.
2025-12-04 11:07:44 -07:00
Pas
bf359916b6 Add HIDE_PROXY_ONBOARDING config and onboarding UI updates
Introduces the HIDE_PROXY_ONBOARDING config option to conditionally hide proxy onboarding steps in the UI. Updates OnboardingPage to use this config for rendering logic and adjusts card layouts accordingly. Also adds support for displaying additional sources heading when relevant, and updates English locale strings for clarity.
2025-12-03 18:33:55 -07:00
Pas
0576c9fed0 Revert "feat: add skip source button during scraping"
This reverts commit bf14a85f34.
2025-12-03 18:20:04 -07:00
Pas
d1356405d2
Merge pull request #71 from afyef/feat/skip-source-button
feat: add skip source button during scraping
2025-12-03 14:10:54 -07:00
aq
bf14a85f34 feat: add skip source button during scraping
Implement user-initiated source skipping functionality:
- Add skipCurrentSource function to abort current source and all its embeds
- Create AbortController per source and propagate through provider stack
- Mark skipped sources and embeds with 'skipped' status
- Add skip button to scraping UI with translation support
- Filter out skipped source results in PlayerView to prevent playback
- Add fallback to direct fetch when proxy URL is unavailable
- Track failed sources and embeds in player store
- Add 'skipped' status type to ScrapeCard component

Technical details:
- AbortController is created per source in startEvent callback
- Signal is dynamically retrieved via wrapper functions
- Skipped sources continue to next source without showing error screen
- Skip button is passed through component hierarchy via callbacks
- Resume from specific source maintains skip state between attempts

Resolves user ability to manually skip slow or failing sources during media scraping
2025-12-04 01:02:20 +04:00
aq
42a18778eb fix: allow Vite to serve files from linked providers directory
Add server.fs.allow configuration to permit serving WASM files
from the symlinked local-libs/@p-stream/providers directory.
2025-12-03 22:18:42 +04:00
aq
5c5f80c3b6 chore: ignore local-libs directory 2025-12-03 22:13:17 +04:00
aq
236ed5b1ea fix: configure Vite to handle WASM files from dependencies
- Add assetsInclude config to treat WASM as assets
- Prevent WASM files from being inlined as base64 with assetsInlineLimit

This ensures WASM files from dependencies are properly served as
separate assets instead of being embedded as data URLs.
2025-12-03 22:10:05 +04:00
Pas
85421a881d Update notifications.xml 2025-12-02 18:37:02 -07:00
Pas
ceca08faf9 Update notifications.xml 2025-12-02 13:10:15 -07:00
Pas
59ec3b78d1 prettier 2025-12-02 13:10:10 -07:00
Pas
ac722880c4 update media card skeleton and on recomented carousel 2025-12-02 10:13:08 -07:00
Pas
02291a3e37 wrong related tmdb endpoint 💀 2025-12-02 10:08:09 -07:00
Pas
6967261d4a Update notifications.xml 2025-12-01 19:45:06 -07:00
Pas
3742f053dd fix some typos 2025-12-01 19:13:50 -07:00
Pas
cb801f5265 bump version 2025-12-01 19:10:20 -07:00
Pas
c6c916f293 fix m3u8 proxy test error 2025-12-01 19:09:59 -07:00
Pas
00d0996b8f update some modal styles 2025-12-01 18:44:58 -07:00
Pas
24413a805d remove trailer button and move the imdb trailers to the new carousel 2025-12-01 18:41:28 -07:00
Pas
e7e49f81cc add similar media carousel to details modal 2025-12-01 18:26:21 -07:00
Pas
6997acd71a add trailer carousel to details modal 2025-12-01 17:43:44 -07:00
Pas
4d5a5151f1 fix rotten tomato scraper 2025-12-01 17:19:13 -07:00
Pas
ebdb931d59 Add lazy loading for media carousels using Intersection Observer
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.
2025-12-01 16:57:17 -07:00
Pas
b464c2195e make sure enableAutoResumeOnPlaybackError syncs to backend 2025-12-01 16:22:02 -07:00
Pas
be6aec2c86 Refactor MediaCard for internal lazy loading and fix intersection logic
Moved intersection observer logic for lazy loading images from MediaCarousel into MediaCard, allowing each card to handle its own image loading. Simplified MediaCarousel by removing its intersection observer and related loading state, improving component separation and maintainability.
2025-12-01 16:15:45 -07:00
Pas
5e1bd09af5 use labelToLanguageCode from providers repo
it's now exported
2025-12-01 15:47:56 -07:00
Pas
69af09a8de update providers 2025-12-01 15:43:58 -07:00
Pas
d2768f558c Refactor externalSubtitles into modular files
Split the monolithic externalSubtitles.ts into separate modules for each provider (febbox, opensubtitles, vdrk, wyzie) and a new index.ts for orchestration and exports. This improves maintainability and clarity by isolating provider-specific logic.
2025-12-01 15:43:06 -07:00
Pas
b875bc93aa add granite subtitle source 2025-12-01 15:35:32 -07:00
Pas
d527446eb4 add christmas trakt list 2025-12-01 15:05:23 -07:00
Pas
562d1fdd1c add frost and christmas themes 2025-12-01 15:00:08 -07:00
Pas
ad592edc65 Track and handle failed embeds in player sources
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.
2025-12-01 12:47:15 -07:00
Pas
33b08b86cd clear embed id when switching sources 2025-12-01 12:42:28 -07:00
Pas
a39c020b34 only disable source if it's fatal 2025-12-01 12:39:10 -07:00
Pas
216c7832eb fix lint error 2025-12-01 12:38:59 -07:00