Commit graph

152 commits

Author SHA1 Message Date
Pas
bd40ad0582 add random subtitle key 2025-12-21 22:57:23 -07:00
Pas
6242d78759 scroll to active subtitle and add random button 2025-12-21 22:00:21 -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
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
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
ea7caa20d9 Refactor Native Subtitles feature. Fix playback on ios 2025-11-11 11:46:46 -07:00
Pas
0baa20ba7a
Update KeyboardEvents.tsx 2025-11-10 20:20:20 -07:00
Pas
62772b6bd6 Merge branch 'pr/63' into production 2025-11-10 15:04:29 -07:00
Pas
cb1964492e adjust confidence based on adjustments to prior skip 2025-11-10 14:55:13 -07:00
groknt
b33f54e960
fix spacebar boost 2025-11-10 21:53:32 +00:00
Pas
fcf9fbb56e add skip confidence 2025-11-10 14:52:31 -07:00
Pas
aeb131b26d Update SkipTracker.tsx 2025-11-10 14:39:47 -07:00
Pas
bc7886caac add comment about safari thumbnails not build possible 2025-11-09 15:16:08 -07:00
Pas
b8ca5c3f02 Shuffle thumbnail generation queue for even distribution
Updated makeQueue to shuffle thumbnail indices before mapping them to positions, ensuring a more even and randomized distribution of thumbnails.
2025-11-09 15:10:11 -07:00
Pas
bd491f2d14 Improve thumbnail generation and quality selection
Refactors thumbnail queue to generate 127 evenly distributed thumbnails instead of using a layered approach. Adds a new selectLowestQuality function to consistently select the lowest available video quality for thumbnail extraction, replacing the previous selectQuality usage.
2025-11-09 15:02:27 -07:00
Pas
2017cb2f26 Merge branch 'production' into dev 2025-11-07 16:36:57 -07:00
Pas
09f48baefa disable 0-9 keyboard shortcuts when ctrl or meta is held 2025-11-07 15:44:06 -07:00
Pas
29abc0cf25 Revert "fix some grey overlays on the video player with some browsers"
This reverts commit 324cff18cc.
2025-11-07 15:08:49 -07:00
Pas
7d5c88c0a1 log skips to new api 2025-11-05 14:14:43 -07:00
Pas
324cff18cc fix some grey overlays on the video player with some browsers 2025-11-05 10:26:15 -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
3446d01e01 update progress so we dont save finished or unwatched media 2025-10-30 13:05:33 -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
4d1dbe9b3d fix watchparty not getting reset when changing shows 2025-10-25 00:24:58 -06:00
Pas
99d3e11b80 pressing numbers jumps to that % 2025-10-24 22:18:24 -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
8d7a61c5d4 increase watch party pull rate 2025-10-23 10:17:22 -06:00
Pas
0003ef1e98 Update WatchPartyResetter.tsx 2025-10-23 10:04:02 -06:00
Pas
83840594a6 watchparty goes to next episode with host 2025-10-23 09:50:51 -06:00
Chris
bf530902cc Updated MediaSession.tsx
A new and more cleaner MediaSession.tsx also fixed TypeError: Failed to execute 'setPositionState' on 'MediaSession': The provided duration cannot be NaN.
2025-10-23 09:17:42 -06:00
Pas
6355fae614 disable context menu on player 2025-10-19 18:02:20 -06: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
Pas
ca921612f0 remove unused translation on skip episode button 2025-10-10 13:47:48 -06:00
Aykhan
c240ccefd5 add double-tap to seek feature 2025-10-10 20:50:25 +04:00
Pas
e9d8945f02 Add small skip episode button to player 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
18c3588fba fix speed boost for mobile 2025-08-05 11:14:01 -06:00
Pas
8e902e94e4 update details modal
new organization and fix the x
2025-08-03 14:26:44 -06:00
Pas
27fff44278 rename details folder to detailsModal 2025-08-03 12:16:07 -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
746a5c4abb Merge branch 'pr/23' into beta 2025-08-02 01:37:48 -06:00
Pas
e8c3f1f25f fix build error and update packages!
Issue caused by Rollup 4.45.0
https://github.com/rollup/rollup/issues/6012
Solved with temp fix:
https://github.com/mengxi-ream/read-frog/issues/184
2025-07-12 15:54:27 -06:00
Pas
0399276c4f move and rename watchparty reporter 2025-07-10 11:33:43 -06:00
Pas
cfcca03d69 init skip time tracker 2025-07-10 11:33:33 -06:00
Pas
200d3e69ac add low performance mode 2025-06-24 17:59:13 -06:00