Commit graph

34 commits

Author SHA1 Message Date
Pas
58594ae4b5 track failed sources and disable multiple 2025-12-20 12:23:17 -07:00
Pas
36069f8193 Revert "refactor media failure tracking"
This reverts commit f68bb15c57.
2025-12-17 12:27:37 -07:00
Pas
f68bb15c57 refactor media failure tracking 2025-12-16 11:22:42 -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
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
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
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
d575d71108 add lastSuccessfulSource feature
to sort the last successful source to the top
2025-11-02 22:10:48 -07:00
Pas
f0a35f6408 Add the ability to disable sources and embeds 2025-10-19 18:33:26 -06:00
Pas
6a50fec37b add embed order on admin page 2025-08-14 09:41:36 -06:00
Pas
61c3b4acf0 change movie-web/providers to p-stream/providers and update 2025-07-15 20:13:36 -06:00
Pas
1febd78f2b Add reorder sources toggle
Require reorder sources to be enabled first
2025-01-19 00:54:25 -07:00
Jorrin
9d796108a5 setup sources reordering 2024-04-15 16:49:39 +02:00
William Oldham
25ae949995 Check for extension in scrape logic 2024-01-23 21:44:53 +00:00
mrjvs
b3222b130f Fix some thumbnail scraping setting logic
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
2024-01-18 19:29:58 +01:00
mrjvs
965cc56570 Fix bug where stream freezes without extension
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
2024-01-18 19:21:43 +01:00
mrjvs
421186cb54 Version checking + preparing streams 2024-01-09 21:56:39 +01:00
mrjvs
f70d13f2c9 Clean up extension code 2024-01-09 20:07:22 +01:00
Jip Fr
74d31f4fad Fix always success 2023-12-30 12:45:10 +01:00
mrjvs
ecf1d901a3 Fix issue with current source displaying in scraping screen 2023-12-29 21:35:09 +01:00
mrjvs
061cb548d0 Fix error messages for providers api 2023-12-29 13:02:55 +01:00
Contreras, Raf
48b708d569 Upgrade packages, bundling, performance 2023-12-23 18:24:43 +13:00
mrjvs
b5a11ef000 turnstile integration for provider api 2023-12-19 20:41:56 +01:00
mrjvs
2bf0b5b03c Metadata fetching 2023-12-19 00:10:46 +01:00
mrjvs
e48af381c5 its not finished 2023-12-18 22:53:59 +01:00
mrjvs
f55b39d0fa Properly map events and data to providers api 2023-12-18 22:24:34 +01:00
mrjvs
a52fac701a Parse provider API urls + use new provider api in runAll scrape 2023-12-18 21:47:19 +01:00
mrjvs
bb192ee21f Fix incorrect last source status
Co-authored-by: William Oldham <github@binaryoverload.co.uk>
2023-11-11 16:44:53 +01:00
mrjvs
76d715a751 remove old log and finish metrics for scrapePart
Co-authored-by: William Oldham <github@binaryoverload.co.uk>
2023-11-11 16:17:13 +01:00
mrjvs
cec0744907 the start on a docs page + error pages
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
Co-authored-by: William Oldham <github@binaryoverload.co.uk>
2023-10-23 23:06:24 +02:00
mrjvs
517f8d0254 scraping animation and some cleanup 2023-10-06 00:20:19 +02:00