* Migrate video player from video.js to shaka-player
* Fix syntax error introduced during cleanup
* Fix typo
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
* Show bitrate in stats for Invidious legacy formats
* Sort legacy formats by bitrate instead of qualityLabel
* Use Invidious' newly added isPostLiveDvr property
* Invidious correctly returns the ratelimit for DASH manifests now
* Properly hide unsupported screenshot functionality outside of Electron
* Sort captions in data initialiser
* Update shaka-player to version 4.8.1
* Use textTrackLabelFormat configuration option
* Switch to manifestPreprocessorTXml
* Add support for VR videos that use equirectangular projection
* The AV1 video streams work okay for vr, so allow list them too
* Use woff2 (169 KB) Material Icons font instead of otf (390 KB)
* Use material icons for custom player elements
* Fix legacy formats exception
* Update shaka-player to version 4.8.3
* Sort default quality values the same as in the player
* Cleanup representations search in live subtitle fix
* Slightly speed up sortCaptions
* Fix setPositionState error when playback rate is 0
* Update shaka-player to version 4.8.4
* Fix playback rate changes getting overridden
* Fix current chapter index not updating
* Fix next video not automatically playing
* Fix volume changes not propagating to the mute button
* Reduce work done during UI config updates
* Fix UI customizations not applying after UI config changes
* Update shaka-player to version 4.8.5
* Replace non-reactive workaround with a Vue 3 friendly one
* Fix error when all sponsorblock segments are set to do nothing
* Add some guards to hopefully reduce errors during fast naviagtions
* Make SponsorBlock failure non-fatal
* Update shaka-player to version 4.8.6
* Update shaka-player to version 4.8.8
* Update shaka-player to version 4.9.0
* Update shaka-player to version 4.9.1
* Minor performance improvements
* Update shaka-player to version 4.9.6
* Update shaka-player to version 4.9.9
* Fix sponsor block markers not showing up
* Add some basic error messages for expired urls and ratelimits
* Add some basic error messages for 403s
* Cleanup code comments
* Migrate player to composition API for better performance
* Use reactive for stats instead of ref, as it never gets reassigned
* Update shaka-player to version 4.10.0
* Fix i18n import in custom player components
* Add chapter markers
* Move shaka-player CSS import into the Vue file
* Bump mpd_version from 5 to 7
* Apply suggestions from code review
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
* Fix seeking with the arrow keys
* Update shaka-player to version 4.10.3
* Truncate long video titles to the screen width in the full screen overlay
* Fix mouse scroll handlers firing multiple times
* Cleanup unneeded code
* Update shaka-player to version 4.10.6
* Various small optimisations
* Move skipped sponsorblock segement messages to the top right corner
* Support prefers-reduced-transparency in overlays
* Fix stylelint errors
* Update shaka-player to version 4.10.7
* Update shaka-player to version 4.10.8
* Only use variants that are predicted to play smoothly
* Only set preferredDecodingAttributes for DASH playback
* Implement a custom audio track selector instead of using shaka-player's
* Move skipped sponsorblock segement messages to the bottom right corner
* Fix scrolling over the big play pause button not working
* Update shaka-player to version 4.10.9
* Fix some type issues
* Add support for secondary audio tracks
* Downgrade shaka-player to fix subtitle alignment
* Actually downgrade shaka-player
* Fix Invidious API error
* Update outdated comment
* Fix multiple audio track detection for Invidious
* Fix duplicate qualities with the Invidious API
* Use vp9 streams if the Invidious instance is running a new enough version
* When an error occurs with the thumbnails just log it
* Include the video ID in the error logs
* Gracefully handle the internet connection disappearing during playback
* Show a message while buffering if it was caused by the internet connection disappearing
* Fix the text color and RTL handling
* Cleanup the Invidious DASH manifest in builds without the local API
* Fix quality selection when switching from audio to DASH
Unfortunately shaka-player will still override the quality selections
with its ABR bug.
* Update shaka-player to version 4.10.10
* Fix position and alignment for auto-generated subtitles
* Update shaka-player to version 4.10.11
* Use the HLS manifests for live streams
The live DASH manifests are currently unusable on both API backends as
they return 403s after 1 minute of playback. Unfortunately this means we
lose the ability to seek and use the audio formats for live streams.
* Update shaka-player to version 4.10.12
---------
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
* Stop using deprecated additionalAssets hook
* Watch locale files without webpack-watch-external-files-plugin
* Use Maps instead of objects
* Use webpack's file timestamps instead of checking the files ourselves
* Add hot reloading
* Inject hot reload code snippet
* * Ensure updated locales are auto-reloaded in electron renderer dev mode
* * Add watch external file plugin in dev mode only
* * Make changes from code review
* Migrate channel related functionality to YouTube.js
* Better alert handling
* Add support for special autogenerated channels
* Add support for latest YouTube.js changes
* Add support for age restricted channels
* Update YouTube.js to 3.0.0
* Obey hide search bar setting for the tag searching
* Choose a better parameter name
* Allow sharing terminated and age restricted channels
* Add handle support for handles on Invidious
* Fix the backend fallback
* Use a positive parameter name
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Fix duplicate tags causing errors
* Fix sorting for the Invidious API
* Move URL resolving to the channel page
* Update YouTube.js to 3.1.0
---------
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* update linters, add stylelint, switch from sass to scss
* remove unused babel-eslint module
* fix spacing in scss files
* dont use npm in script calls
* dont error for `:deep` selector in css
* Migrate search suggestions to youtubei.js
* Rename functions to indicate that they are for the local API
* Implement and use a lightweight Innertube session
* Fix typo in comment
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
* Fix another typo in a comment
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
* Disable http disk cache and implempent in-memory image cache
* Add comment about removing URL scheme prefix
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Add early return to clean up the code
* Rewrite cache expiry logic with fallbacks
* Move this change behind a CLI argument --experiments-disable-disk-cache
* Replace CLI flag with a GUI setting
* Improve warning message styling
* ! Fix incompatibility with latest settings code
* Use CSS instead of sass for the experimental settings
* Return the error as JSON instead of throwing it
* Inline restart prompt label and option names and values
* Mention crash risk and recommend backups in the warning
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Implement `getRegionData` in web
- Adjust __dirname to be a more sensible value
- Add `process.env.GEOLOCATION_NAMES` for web builds to avoid having
to blindly try and fetch
* Reverting webpack changes
* Change `indexOf` to `includes`
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Adding a new helper `createWebURL`
It takes a given path to a resource, and it returns an
easily fetch-able absolute path
* Using `createWebUrl` inside of the locale fetch
* Using `createWebURL` inside of `getRegionData`
* Removing an unnecessary leftover import
* Wait, no I was mistaken
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>