-
Notifications
You must be signed in to change notification settings - Fork 887
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch back to the WEB client for the local API with potokens #6436
Switch back to the WEB client for the local API with potokens #6436
Conversation
Post merge action: merge FreeTubeApp/FreeTube-Docs#157 |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
ofcourse... |
It's because autolinker and bgutils-js are next to each other in the package.json file :/ |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Switch back to the WEB client for the local API with potokens
Pull Request Type
Related issue
Description
This pull request switches back to the WEB client as a way to hopefully avoid the 403s that have started to appear for some people. As an added bonus this means we can use the DASH manifests for live streams which have 4 hours of seeking, the alternative would be to use the HLS manifest but as the WEB ones don't support audio-only or seeking, using the DASH ones seemed like a better idea.
To make this possible, I added the
bgutils-js
dependency to help generate the poTokens required for using the WEB client these days. As the BotGuard code accesses the globalwindow
anddocument
objects, I decided it would be best to isolate it to its own webview with a separate temporary session and reduced permissions compared to our normal webviews that the user interacts with. That also required introducing a separate webpack config to be able to generate the script to run inside of that webview.Testing
Test video playback with the local API, both normal videos and live streams. If you can find a movie with a trailer that isn't dubbed you can test that too (dubbed trailers are known to be an issue, i'll be creating a PR to youtube.js to fix the DASH manifest generation).
Desktop