Commit graph

248 commits

Author SHA1 Message Date
vlOd2
9ad28631e9 Cleanup translation console logs 2025-12-26 23:23:17 +02:00
vlOd2
48f72c228e Refactor translation task handling to improve error management and state updates 2025-12-26 22:57:59 +02:00
vlOd2
a3dd8512bd implement translation task 2025-12-26 21:27:30 +02: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
f4f2f9196e update auto level stuff 2025-12-24 09:27:46 -07:00
Pas
cb504ccf55 customize keyboard shortcuts! 2025-12-23 23:26:59 -07:00
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
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
59ec3b78d1 prettier 2025-12-02 13:10:10 -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
216c7832eb fix lint error 2025-12-01 12:38:59 -07:00
Pas
f8afa2c501
Increase sync progress intervals to 10s
From 5s
2025-11-30 20:59:52 -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
0a7816ff77 Update debrid key entry 2025-11-19 17:56:36 -07:00
Pas
04a08af5e9 fix account nickname not updating or displaying 2025-11-17 13:05:57 -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
Pas
467c4ea202 Revert "feat: hide the arrow buttons on scroll lists when at either end of the list (#61)"
This reverts commit 598f752b12.
2025-11-12 12:07:57 -07:00
Rj Manhas
598f752b12
feat: hide the arrow buttons on scroll lists when at either end of the list (#61) 2025-11-12 12:03:10 -07:00
Pas
8d8a5bdb66 Revert "feat: hide the arrow buttons on scroll lists when at either end of the list"
This reverts commit 4f781f9736.
2025-11-11 12:41:12 -07:00
Rj Manhas
4f781f9736 feat: hide the arrow buttons on scroll lists when at either end of the list 2025-11-07 22:21:34 -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
0e4724f9bd Revert "add drag and drop bookmark reordering"
This reverts commit c90e77ddf3.
2025-11-06 00:44:25 -07:00
Pas
c90e77ddf3 add drag and drop bookmark reordering 2025-11-06 00:28:38 -07:00
Pas
1b073006f4 add edit group and edit bookmarks modals 2025-11-05 23:57:56 -07:00
Pas
65246b8be9 fix the source getting reset when we change sources
Changing sources causes a non fatal error, but we were clearing the last successful source when any error happened. Instead we can clear if it's fatal.
2025-11-03 14:22:53 -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
1ab1b34187 Revert "Prevent settings from loading empty and rewriting to backend"
This reverts commit 3de8a35df4.
2025-10-28 11:16:00 -06:00
Pas
84165370da create getProgressPercentage() function that handles greater than 100% values
Replace all old uses like
(itemToDisplay.progress.watched / itemToDisplay.progress.duration) * 100
2025-10-28 10:27:56 -06:00
Pas
ba59405612 refactor overlay stack and modals to allow multiple and better navigation
Some checks failed
Linting and Testing / Run Linters (push) Has been cancelled
Linting and Testing / Build project (push) Has been cancelled
Linting and Testing / Build Docker (push) Has been cancelled
overlays will not close previous ones so that they don't conflict and there can essentially be unlimited modal navigations. Done by passing the modal data to each modal using a global hook instead of relying on local data for each.
When navigating to a new path, it closes all modals.
On CollectionOverlay, when opening a new details modal overlay, it closes the previous using a custom ShowDetails handler.

This isn't the cleanest approach, but offers the greatest flexibility in the future
2025-10-26 23:58:04 -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
e20bbf27ad delete unused import 2025-10-25 14:24:52 -06:00
Pas
3de8a35df4 Prevent settings from loading empty and rewriting to backend
- No saves happen until backend settings are loaded and applied
- Automatic syncers wait for settings to be loaded before syncing
2025-10-25 12:07:15 -06:00
Pas
55b68c520e fix playbacksettingsview settigns not working correctly
didnt save to backend or apply thumbails. Also hid them when performance mode is enabled
2025-10-24 22:18:24 -06:00
Pas
52c1162f3c fix new settings with incorrect data
homeSectionOrder should never be empty.
2025-10-23 12:01:06 -06:00
Pas
f0a35f6408 Add the ability to disable sources and embeds 2025-10-19 18:33:26 -06:00
Pas
9b4c8e39b5 update turnstile 2025-10-14 18:54:39 -06:00
Pas
f03fbdfc6c unify source and external subtitle views 2025-10-12 12:19:01 -06:00
Pas
da67d85760 fix double click to seek build 2025-10-10 13:58:37 -06:00
Aykhan
c240ccefd5 add double-tap to seek feature 2025-10-10 20:50:25 +04:00