* 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>
* Adding ytpl and ytsr as externals in web.config
This should get rid of those two warnings that were
showing up on web builds
* Reducing discrepancies between dev and prod in web builds
* Removing a line which would prevent hot reloading
`this.locales` is retained between hot reloads, so it shouldn't
be set to `null`.
* Adding a new flag to the dev runner
Adding a new command: `run dev:web`
* Running `loadLocale` in development web builds
* Adding a line back which was removed
* Removing a line which was added
* Making `pack:web` work
* Removing unnecessary extra line
* Ran `yarn install` to update the lock file
* I'm pretty sure that my lockfile was dirty
* Fixing an incorrect dependency resolution
`buffer` doesn't have to be included through browserify
* Allow webpack to bundle *most* dependencies
* Exclude *most* node_modules from getting packaged by electron-builder
* Import only the required icons instead of bundling the whole icon pack
* Reduce packaging blacklist to only include the few things that still need blacklisting
* * Implement divider for video "more dropdown menu"
* * Update API for ft-icon-button
* * Update existing ft-icon-button user to use new API for dropdown options
* * Update ft-icon-button to remove unused old API
* * Update divider to be less visible
* * Update padding of list item
* * Update WebpackDevServer option to avoid app reloading on MacOS .DS_Store file change
* Fix watching watched video in development
* Fix removing a file even when it does not exist (and would raise error)
* Fix infinite reload in video watching
File updates (e.g. dashFiles) in static folder triggers app reload (web-dev-server)
But the a file is created/updated/deleted on before playing any video
So it goes into a loop of loading a video
This change suppresses warning
"<w> [webpack-dev-server] "hot: true" automatically applies HMR plugin, you don't have to add it manually to your webpack configuration."
Smooth scrolling toggling is currently wonky on runtime, since,
most of the time, it doesn't toggle on and off properly.
In addition, now that we have multi-window support,
the current implementation was somewhat lacking.
This commit solves those issues by replacing
the existing smooth scrolling related channels with a
new generic `relaunchRequest` channel.