Commit graph

1137 commits

Author SHA1 Message Date
Pas
cb504ccf55 customize keyboard shortcuts! 2025-12-23 23:26:59 -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
ac7e44f234 add sort media cards dropdown 2025-12-21 22:42:04 -07:00
Pas
869e4fca78 add previous and next ep shortcuts 2025-12-21 10:30:54 -07:00
Pas
4f6e56fd22 show febbox usage 2025-12-19 15:58:54 -07:00
Pas
647a4e8279 add cobalt theme
replace skyrealm
2025-12-17 15:21:00 -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
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
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
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
562d1fdd1c add frost and christmas themes 2025-12-01 15:00:08 -07:00
Pas
c460c15966 Track and skip failed sources during playback
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.
2025-11-30 17:50:28 -07:00
Pas
4ced25623f Add auto-resume on playback error setting and logic
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.
2025-11-30 17:28:41 -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
1e00777c64 update migration to support settings
groups and favorite eps are still broken
2025-11-29 14:41:52 -07:00
Pas
64abb25560 move to captions view 2025-11-26 12:33:24 -07:00
Pas
6a3d81a048 Update en.json 2025-11-19 18:09:13 -07:00
Pas
ae63641d16 add notice 2025-11-19 18:00:29 -07:00
Pas
0a7816ff77 Update debrid key entry 2025-11-19 17:56:36 -07:00
Pas
c329118e50 Handle device name decryption errors gracefully
Added error handling for device name decryption in Avatar, LinksDropdown, Settings, and DeviceListPart components. If decryption fails, a fallback 'Unknown device' message is shown using a new translation key. This improves user experience by preventing crashes or blank fields when device name decryption fails.
2025-11-17 13:30:25 -07:00
Pas
067b6e43bc Add nickname to user account settings
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.
2025-11-17 10:49:20 -07:00
zisra
a14b3755cf
Handle backtick command earlier + Ignore commands when cmd/atl is pressed + prevent -0.0 as subtitle delay (#62)
* Use 12 hour clock + box around time

* Fix ref

* Handle backtick earlier + Ignore commands when cmd/atl is pressed + prevent -0.0 as subtitle delay

* Exclude thumbnail from fade effect

* Bring back comments
2025-11-12 12:02:41 -07:00
Pas
ea7caa20d9 Refactor Native Subtitles feature. Fix playback on ios 2025-11-11 11:46:46 -07:00
Pas
9fec88fc7d Revert "Update 'Connections' to 'Connections and Sources' in en.json"
This reverts commit 70534fa080.
2025-11-09 10:52:54 -07:00
Pas
bf1bb2775b detect all images and add a fade in animation on image loads 2025-11-08 10:58:54 -07:00
Pas
14a46c4b85 Update index.css 2025-11-07 23:08:45 -07:00
Pas
3d23a50a2c Update global scrollbar styles to be cleaner
Introduces custom scrollbar styling for a thinner, rounded appearance with smooth color transitions and improved aesthetics. Applies consistent scrollbar styles across browsers and enhances user experience.
2025-11-07 23:04:33 -07:00
Pas
c792d4b829 Split settings pages into tabs, hiding other sections for accessibility
Introduces a category selection mechanism for the settings page, allowing users to filter settings by category or view all settings. Updates the sidebar to include an 'All Settings' option and highlights the selected category. Adjusts the settings layout and section rendering logic to respect the selected category or search query.
2025-11-07 22:57:25 -07:00
Pas
70534fa080 Update 'Connections' to 'Connections and Sources' in en.json 2025-11-07 22:53:22 -07:00
Pas
cd4daea6f3 prettier 2025-11-07 16:50:35 -07:00
Pas
0ed041fe93 update subtitle defaults 2025-11-07 15:39:33 -07:00
Pas
66f0a3b95b workaround for disabling caption blur to fix flicker issues 2025-11-07 15:27:55 -07:00
Pas
d8df4340e4 update last used source 2025-11-06 23:33:39 -07:00
Pas
09ee0fa8ff Update en.json 2025-11-06 23:31:13 -07:00
Pas
ddcabc14de move group reorder handlers to the modal itself 2025-11-06 11:48:15 -07:00
Pas
1b073006f4 add edit group and edit bookmarks modals 2025-11-05 23:57:56 -07:00
Pas
0c192d2582 bug fix the last successful source feature 2025-11-03 12:09:27 -07:00
Pas
d575d71108 add lastSuccessfulSource feature
to sort the last successful source to the top
2025-11-02 22:10:48 -07:00
Pas
627d66eced add paste and copy subtitle options 2025-11-02 21:54:45 -07:00
Pas
6b1eaf6d34 fix typo 2025-10-28 12:59:39 -06:00
Pas
61593e7fe5 rewrite collections with simpler modal usage 2025-10-26 23:12:05 -06:00
Pas
422f46b406 add border caption style with thickness slider
Some checks are pending
Linting and Testing / Run Linters (push) Waiting to run
Linting and Testing / Build project (push) Waiting to run
Linting and Testing / Build Docker (push) Waiting to run
2025-10-25 14:39:15 -06:00
Pas
09c5fc65c0 add missing watchparty translation 2025-10-25 12:41:18 -06:00
Pas
fe426a7413 update tips and add more keyboard shortcut info 2025-10-24 22:18:24 -06:00
Pas
3a31d172b1 add keyboard shortcut modal 2025-10-24 22:18:24 -06:00
Pas
d756108c85 add settings search bar 2025-10-20 15:37:26 -06:00
Pas
1b5231ae72 Move admin link (panel) to settings sidebar 2025-10-19 19:14:01 -06:00
Pas
29687ff6c9 update subtitle delay slider with helper text 2025-10-12 12:36:58 -06:00
Pas
f03fbdfc6c unify source and external subtitle views 2025-10-12 12:19:01 -06:00
Chris
f0736c60f1
Fixed the big casting btn 2025-10-12 20:48:33 +03:00
Chris
47653c2906
Fix casting (#49)
* 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>
2025-10-12 11:16:16 -06:00
Aykhan
c240ccefd5 add double-tap to seek feature 2025-10-10 20:50:25 +04:00
Pas
678a5e4806 add manual scrape setting 2025-10-08 19:30:12 -06:00
Chris-tian123
0ed0496692 Added new theme called skyRealm 2025-10-01 19:12:23 +03:00
Pas
6034274906 feat: add favorite episodes! 2025-09-29 19:03:25 -06:00
Pas
565e93fa73 Allow watching and bookmark section to be reordered 2025-09-29 19:03:25 -06:00
Pas
584a4794dd Add autumn theme 2025-09-29 19:03:25 -06:00
Pas
b34e263369 add setting to disable speed boost 2025-09-03 21:14:04 -06:00
Pas
47182ca615 shorten speed boosted label 2025-08-16 12:16:00 -06:00
Weblate
6eae03e3c4 Translated using Weblate (Swedish)
Currently translated at 75.0% (603 of 804 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 87.5% (704 of 804 strings)

Co-authored-by: Pinky Brown <07.advised_chaises@icloud.com>
Co-authored-by: hello everybody <thisisanaltforutube@gmail.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de_CH/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/sv/
Translation: P-Stream/P-Stream
2025-08-15 19:00:21 +00:00
Weblate
1a0a13fe79 Translated using Weblate (Swedish)
Currently translated at 73.2% (587 of 801 strings)

Translated using Weblate (Russian)

Currently translated at 50.8% (407 of 801 strings)

Co-authored-by: Deante X <firdavsfayzulin@gmail.com>
Co-authored-by: hello everybody <thisisanaltforutube@gmail.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/ru/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/sv/
Translation: P-Stream/P-Stream
2025-08-14 23:55:43 +00:00
Pas
6a50fec37b add embed order on admin page 2025-08-14 09:41:36 -06:00
Weblate
aef4745e61 Update translation files
Updated by "Remove blank strings" add-on in Weblate.

Translated using Weblate (Swedish)

Currently translated at 55.9% (447 of 799 strings)

Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: hello everybody <thisisanaltforutube@gmail.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/sv/
Translation: P-Stream/P-Stream
2025-08-13 21:13:14 +00:00
Pas
c38240a7f6 add onboarding reminder to notfound page
TODO find a place for the discover button here
2025-08-11 11:35:50 -06:00
Weblate
d7d956332d Translated using Weblate (German (Switzerland))
Currently translated at 88.5% (704 of 795 strings)

Co-authored-by: Pinky Brown <07.advised_chaises@icloud.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de_CH/
Translation: P-Stream/P-Stream
2025-08-11 11:23:57 +00:00
Pas
d0ce03823a update en 2025-08-10 13:27:32 -06:00
Pas
5bb28c02c7 add resume action page
asks what you want to do if your progress is greater than 80%
2025-08-10 13:27:32 -06:00
Weblate
1a95c052a9 Translated using Weblate (German (Switzerland))
Currently translated at 87.9% (699 of 795 strings)

Co-authored-by: Pinky Brown <07.advised_chaises@icloud.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de_CH/
Translation: P-Stream/P-Stream
2025-08-10 10:37:55 +00:00
Weblate
6cf81e1ae6 Translated using Weblate (minion (generated) (minion))
Currently translated at 32.2% (256 of 795 strings)

Translated using Weblate (uwu (generated) (uwu))

Currently translated at 95.7% (761 of 795 strings)

Co-authored-by: kermit <metalewis21@gmail.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/minion/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/uwu/
Translation: P-Stream/P-Stream
2025-08-05 20:15:14 +00:00
Weblate
aa3bb9d7c9 Translated using Weblate (French)
Currently translated at 87.9% (699 of 795 strings)

Translated using Weblate (Danish)

Currently translated at 49.6% (395 of 795 strings)

Translated using Weblate (Hungarian)

Currently translated at 82.7% (658 of 795 strings)

Translated using Weblate (German)

Currently translated at 70.0% (557 of 795 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 87.7% (698 of 795 strings)

Translated using Weblate (Arabic)

Currently translated at 94.2% (749 of 795 strings)

Translated using Weblate (Spanish)

Currently translated at 61.8% (492 of 795 strings)

Translated using Weblate (Greek)

Currently translated at 72.2% (574 of 795 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 59.1% (470 of 795 strings)

Translated using Weblate (Vietnamese)

Currently translated at 59.8% (476 of 795 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Florescu <filipflorescu06@gmail.com>
Co-authored-by: Wei Bin Zhuang <siqzlike003@gmail.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/ar/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/da/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de_CH/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/el/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/es/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/fr/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/hu/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/pt_BR/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/vi/
Translation: P-Stream/P-Stream
2025-08-04 18:30:44 +00:00
Pas
c320631fbb Merge branch 'beta' into production 2025-08-03 15:15:02 -06:00
Pas
bd9ff1698f add debug info copy button to playback error 2025-08-03 14:48:17 -06:00
Pas
4d03a50481 update bookmark group reorder modal 2025-08-03 14:08:58 -06:00
Pas
d0a4ed58c9 finalize merge of pr
update space bar holding to prevent watch party
2025-08-02 01:48:29 -06:00
Pas
9cccb2637c add dedicated bookmarks page 2025-08-01 17:09:47 -06:00
Pas
8f5728ebf0 move external subtitle scrape to client 2025-08-01 13:57:45 -06:00
Pas
1d70f002e7 add modal stacking support 2025-07-30 23:06:47 -06:00
Pas
65ea4c5091 add edit group order 2025-07-30 22:41:49 -06:00
Pas
084078d75a add febbox token example modal 2025-07-27 21:25:51 -07:00
Pas
5e7a8cc228 Update en.json 2025-07-25 09:23:42 -06:00
Weblate
28c305da66 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/
Translation: P-Stream/P-Stream
2025-07-24 15:29:10 +00:00
Pas
94e3a9682f revert "add admin option to force enable extension detection" 2025-07-22 10:02:58 -06:00
Weblate
84aac608b1 Update translation files
Updated by "Remove blank strings" add-on in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/
Translation: P-Stream/P-Stream
2025-07-22 15:52:43 +00:00
Pas
256728af05 update "DMCA" to "Legal / DMCA" 2025-07-21 17:22:02 -06:00
Weblate
95697d98af Translated using Weblate (Indonesian)
Currently translated at 44.0% (341 of 774 strings)

Translated using Weblate (Hebrew)

Currently translated at 98.4% (762 of 774 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 90.8% (703 of 774 strings)

Co-authored-by: Pinky Brown <07.advised_chaises@icloud.com>
Co-authored-by: Ranwiesiel <ronggofc@gmail.com>
Co-authored-by: aroush <arik251008@gmail.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de_CH/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/he/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/id/
Translation: P-Stream/P-Stream
2025-07-21 01:53:14 +00:00
Weblate
ffdd96cf46 Translated using Weblate (uwu (generated) (uwu))
Currently translated at 100.0% (774 of 774 strings)

Co-authored-by: toxicfox <may@toxicfox.xyz>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/uwu/
Translation: P-Stream/P-Stream
2025-07-19 20:53:14 +00:00
Weblate
838689b504 Translated using Weblate (uwu (generated) (uwu))
Currently translated at 99.6% (771 of 774 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 90.6% (702 of 774 strings)

Co-authored-by: Pinky Brown <07.advised_chaises@icloud.com>
Co-authored-by: toxicfox <may@toxicfox.xyz>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de_CH/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/uwu/
Translation: P-Stream/P-Stream
2025-07-18 20:41:25 +00:00
Weblate
22b232a171 Translated using Weblate (uwu (generated) (uwu))
Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (765 of 765 strings)

Co-authored-by: aroush <arik251008@gmail.com>
Co-authored-by: toxicfox <may@toxicfox.xyz>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/he/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/uwu/
Translation: P-Stream/P-Stream
2025-07-18 08:02:05 +00:00
Pas
95f27565c7 sanitize custom passphrase + requirements 2025-07-15 19:03:35 -06:00
Pas
1e635c363b custom passphrase support
hold shift to enter a custom phrase
2025-07-15 18:48:07 -06:00
Pas
b137669428 use cia api for status check 2025-07-15 08:50:15 -06:00
Pas
0a6c162ba5 fix local upload for migration 2025-07-15 08:49:58 -06:00
Weblate
aab87f1ced Translated using Weblate (Portuguese (Portugal))
Currently translated at 51.3% (393 of 765 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 92.1% (705 of 765 strings)

Co-authored-by: Francisco Real <franciscotinocoreal@gmail.com>
Co-authored-by: Pinky Brown <07.advised_chaises@icloud.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de_CH/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/pt_PT/
Translation: P-Stream/P-Stream
2025-07-15 00:08:32 +00:00
Pas
621c2a0c13 update some urls 2025-07-14 17:47:46 -06:00
Weblate
59da290b1a Translated using Weblate (Portuguese (Portugal))
Currently translated at 43.2% (331 of 765 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 91.5% (700 of 765 strings)

Co-authored-by: Francisco Real <franciscotinocoreal@gmail.com>
Co-authored-by: Pinky Brown <07.advised_chaises@icloud.com>
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/de_CH/
Translate-URL: http://weblate.pstream.mov/projects/p-stream/p-stream/pt_PT/
Translation: P-Stream/P-Stream
2025-07-14 15:53:15 +00:00