Commit graph

1354 commits

Author SHA1 Message Date
Pas
d20066eb15 prevent quality debounce 2026-01-17 14:02:31 -07:00
Pas
310a7839ef show total watched to details modal 2026-01-17 12:08:28 -07:00
Pas
e544334bea add watch history 2026-01-16 19:59:40 -07:00
Pas
45ecb9d8f5 no more quickwatch api 2026-01-15 12:41:13 -07:00
Pas
6f67a7c7fb update airplay and casting 2026-01-15 11:16:01 -07:00
Pas
c0029577e2 update skip button to support other segments 2026-01-14 14:04:57 -07:00
Pas
0b2536486f add quickwatch skip source 2026-01-12 19:32:18 -07:00
Pas
008f29f1c9 Update useSkipTime.ts 2026-01-12 17:01:34 -07:00
Pas
e6f06a5e75 Update useSkipTime.ts 2026-01-12 15:28:36 -07:00
Pas
ab5f0e23f4 Update useSkipTime.ts 2026-01-12 15:21:59 -07:00
Pas
5b32daac60 update skips! 2026-01-12 13:05:45 -07:00
Pas
02a179b1d8 add Find Next Source button
replace edit order button
2026-01-10 18:29:00 -07:00
Pas
45e5abd00e routing fixes 2026-01-10 18:11:07 -07:00
Pas
0f05b7aef3 Merge branch 'pr/77' into production 2026-01-10 18:07:15 -07:00
Pas
050c4cc3a8 Update InfoButton.tsx 2026-01-10 17:58:40 -07:00
vlOd
fedd414629
Merge branch 'production' into production 2026-01-10 14:30:59 +02:00
Pas
6331e69a2f fix quality switching bug 2026-01-08 13:19:21 -07:00
Pas
2f90617eee increase caption delay slider cap 2026-01-08 12:14:00 -07:00
Pas
445fd373c1 remove "smart" skip detection
It really wasnt smart. Just report the skip time from the APIs
2026-01-07 15:38:51 -07:00
Pas
4024aecd40 Revert "thumbs up or down skip intros"
This reverts commit 7ea4b1d23b.
2026-01-07 15:00:04 -07:00
vlOd
c483a9ed66
Merge branch 'p-stream:production' into production 2026-01-07 18:06:58 +02:00
Pas
a0a095bb12 update skips 2026-01-05 15:57:19 -07:00
vlOd
7716ec0058
Merge branch 'production' into production 2026-01-03 15:55:09 +02:00
Pas
d48f9ed513 Update useSkipTime.ts 2026-01-02 14:56:59 -07:00
Pas
169d1be8ab Update useSkipTime.ts 2026-01-02 14:20:10 -07:00
Pas
02f6c2876f Update SkipTracker.tsx 2026-01-02 14:13:18 -07:00
Pas
7ea4b1d23b thumbs up or down skip intros 2026-01-02 13:53:11 -07:00
Pas
7370b4b5b0 allow 20s skips to be collected 2026-01-02 12:42:29 -07:00
Pas
649550db85 Update useSkipTime.ts 2026-01-02 12:38:52 -07:00
Pas
26c1043eb2 add toggle native subtitles keyboard command 2025-12-31 12:06:10 -07:00
vlOd
b2cd8ab19e
Merge branch 'p-stream:production' into production 2025-12-31 17:44:08 +02:00
Pas
5751733250 make group dropdown scrollable 2025-12-30 11:38:48 -07:00
vlOd
d7e5754384
Merge branch 'p-stream:production' into production 2025-12-30 19:02:16 +02:00
Pas
b13d5fbdb1 Update BackendSelector.tsx 2025-12-29 13:35:05 -07:00
Pas
92a88e4638 fix auto quality from changing when disabled
meow
2025-12-29 12:19:37 -07:00
vlOd2
ca61d3b966 Remove unused import 2025-12-29 00:02:32 +02:00
vlOd
6b276d32fe
Merge branch 'p-stream:production' into substranslate 2025-12-28 23:45:52 +02:00
Pas
70d226af70 disable velora skips 2025-12-28 13:53:06 -07:00
vlOd2
5539061ae4 Fix translated caption not applying when menu is closed 2025-12-28 15:14:52 +02:00
vlOd
44618524dd
Merge branch 'p-stream:production' into substranslate 2025-12-28 14:14:57 +02:00
Pas
41aaa4ec03 Update LargeCard.tsx 2025-12-27 22:28:40 -07:00
Pas
cf1527dc8a update error message 2025-12-27 22:27:52 -07:00
Pas
681172fe8e persist entered custom backend url when navigating the site 2025-12-27 22:16:52 -07:00
Pas
006a45a84a add support for multiple backends 2025-12-27 21:32:22 -07:00
Pas
ecd5daeaa0 remove Provider API logic and OLD turnstile code 2025-12-27 13:07:32 -07:00
vlOd2
17c0e7a768 Apply copilot fixes 2025-12-27 01:25:19 +02:00
vlOd2
b797200c3a increase language overlay width 2025-12-27 00:28:30 +02:00
vlOd2
edb9cad8dc adjust margin for translate button 2025-12-26 23:14:45 +02:00
vlOd2
48f72c228e Refactor translation task handling to improve error management and state updates 2025-12-26 22:57:59 +02:00
vlOd2
f71b659a70 Improve UX for translated subtitles 2025-12-26 22:35:38 +02:00
vlOd2
0d6aca41d0 actually set captions and also tweak main view to show translated from language as highlighted 2025-12-26 22:13:56 +02:00
vlOd
e02af4931c
Merge branch 'p-stream:production' into substranslate 2025-12-26 21:28:44 +02:00
vlOd2
a3dd8512bd implement translation task 2025-12-26 21:27:30 +02:00
Pas
eb7659caee fix uploading captions 2025-12-26 12:27:22 -07:00
vlOd2
f72c6214e8 Add languages to translation UI 2025-12-26 04:40:10 +02:00
vlOd2
6bc4907399 Begin work on translate subtitle view 2025-12-26 01:00:09 +02:00
Pas
9a846a8181 hide WatchPartyInputLink if backend requirement isnt met 2025-12-25 22:53:39 +02:00
vlOd2
5aea772477 Prepare for captions translation 2025-12-25 22:52:50 +02:00
Pas
2c9015dd57 hide WatchPartyInputLink if backend requirement isnt met 2025-12-25 13:00:59 -07:00
Pas
25139cc4cc Update MediaCard.tsx 2025-12-24 11:31:22 -07:00
Pas
b82c945b05 remove DisabledSources and DisableEmbeds since it doesnt work 2025-12-24 10:51:31 -07:00
Pas
342219b461 add minimal cards setting 2025-12-24 10:12:49 -07:00
Pas
41947f8da8 refactor buffering 2025-12-24 09:33:12 -07:00
Pas
f4f2f9196e update auto level stuff 2025-12-24 09:27:46 -07:00
Pas
afebab301f hide auto subtitle option if there are no subs 2025-12-23 23:27:41 -07:00
Pas
cb504ccf55 customize keyboard shortcuts! 2025-12-23 23:26:59 -07:00
Pas
22ddddfe27 trucate caption title 2025-12-22 12:02:17 -07:00
Pas
94921e58dd improve caption selection logic 2025-12-22 11:51:15 -07:00
Pas
d88feda474 add auto select subtitle button 2025-12-22 11:46:23 -07:00
Pas
bd40ad0582 add random subtitle key 2025-12-21 22:57:23 -07:00
Pas
5da9183260 Update CaptionsView.tsx 2025-12-21 22:47:10 -07:00
Pas
605abb9aab add mark as watched to movie details modal 2025-12-21 22:10:44 -07:00
Pas
6242d78759 scroll to active subtitle and add random button 2025-12-21 22:00:21 -07:00
Pas
fab4703550 Delete LanguageSelectionView.tsx 2025-12-21 21:51:19 -07:00
Pas
2fc2718413 captions lables 2025-12-21 21:42:13 -07:00
Pas
7f232a02b1 fix languages routing 2025-12-21 21:28:17 -07:00
Pas
e912d2d157 Merge branch 'captions-revamp' into production 2025-12-21 21:14:09 -07:00
Pas
eca44987f7 change next and prev keyboard shortcuts 2025-12-21 21:10:58 -07:00
Pas
869e4fca78 add previous and next ep shortcuts 2025-12-21 10:30:54 -07:00
Pas
18d604478b add userscript to onboarding and notif 2025-12-14 14:55:21 -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
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
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
685deb6d0e Refactor captions selection to group by language
Captions selection UI now groups subtitles by language, allowing users to select a language first and then choose a specific subtitle. Added LanguageSelectionView and LanguageSubtitlesView components, updated SettingsOverlay and CaptionsView to support the new flow, and enhanced ChevronLink to show selection state. This improves usability for users with multiple subtitle options per language.
2025-12-05 22:50:04 -07:00
Pas
862df50885 remove captions search bar 2025-12-05 21:56:21 -07:00
Pas
0576c9fed0 Revert "feat: add skip source button during scraping"
This reverts commit bf14a85f34.
2025-12-03 18:20:04 -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
Pas
ac722880c4 update media card skeleton and on recomented carousel 2025-12-02 10:13:08 -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
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
b875bc93aa add granite subtitle source 2025-12-01 15:35:32 -07:00
Pas
03d74e4ecd Revert "Inject popup ad for xprime sources"
This reverts commit b6be227ab3.
2025-11-30 11:14:12 -07:00
Pas
b6be227ab3 Inject popup ad for xprime sources
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
2025-11-30 11:14:03 -07:00
Pas
c6182e6ebb simplify scrolling and cleanup some bugs 2025-11-26 12:59:40 -07:00
Pas
4151b2fdec add gradient to top and bottom 2025-11-26 12:52:41 -07:00
Pas
64abb25560 move to captions view 2025-11-26 12:33:24 -07:00
Pas
19af760317 Update TranscriptView.tsx 2025-11-26 12:26:00 -07:00