Commit Graph

90 Commits

Author SHA1 Message Date
absidue
291aeff1a6
Migrate channel related functionality to YouTube.js (#3143)
* 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>
2023-03-01 08:39:33 +08:00
absidue
0eeac4699b
Only load the necessary configs in the dev-runner (#3146) 2023-02-04 15:04:44 +08:00
absidue
15bd1cb958
Set the Vue compiler whitespace option to condense (#3101) 2023-01-25 15:58:51 -05:00
absidue
e140d5ef98
Use smaller web version of linkedom (#3115) 2023-01-25 21:21:31 +01:00
absidue
7becd36120
Add an IS_ELECTRON_MAIN define instead of runtime detection (#3056) 2023-01-13 17:54:05 +01:00
absidue
fe85a17b4e
Use webpack externals to exclude dependencies (#3036) 2023-01-07 20:45:27 +01:00
absidue
15b15026b6
Migrate the watch page to YouTube.js (#3035)
* Migrate the watch page to YouTube.js

* Fix YouTube.js exclusion in the web build
2023-01-07 02:52:59 +01:00
absidue
156176aca8
Migrate search to YouTube.js (#3028)
* Migrate search to YouTube.js

* Fix linting issue
2023-01-05 04:54:08 +01:00
ChunkyProgrammer
43a25f8738
update linters & add stylelint (#3023)
* 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
2023-01-03 19:19:41 +01:00
PikachuEXE
f91395de85
Update copyleft year to 2023 (#3017) 2022-12-31 07:30:43 -05:00
absidue
1d1e6eacea
Switch from sync fs APIs to fs/promises (#2991)
* Switch from sync fs APIs to fs/promises

* Fix error and await storyboard creation

* Start a new file for filesystem helpers starting with pathExists
2022-12-29 01:19:48 +00:00
absidue
bef610f91b
Import the product name instead of using a define for it (#3003) 2022-12-27 10:15:15 +08:00
absidue
c9124359a5
Migrate playlists on the watch page to YouTube.js (#2969) 2022-12-16 18:08:56 +01:00
absidue
b33af1c812
Make the process locales plugin properly async (#2940) 2022-12-11 08:42:35 +01:00
absidue
ecb9128731
Migrate search suggestions to youtubei.js (#2855)
* 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>
2022-11-28 12:52:47 +01:00
absidue
e02594629e
Cleanup webpack aliases (#2846) 2022-11-09 07:34:40 -05:00
absidue
cf30154e51
Remove unused worker (#2804) 2022-11-06 08:17:33 +00:00
absidue
56416700bc
Allow webpack to omit development only dependencies properly (#2828) 2022-11-05 14:44:21 +00:00
absidue
9b38d1dc0d
Update copyleft year to 2022 (#2810) 2022-11-04 07:17:00 +00:00
PrestonN
32c9964050 Add zlib to web build 2022-11-01 22:08:28 -04:00
absidue
697bed23ed
Disable http disk cache and implempent in-memory image cache (#2498)
* 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>
2022-10-25 02:33:08 +00:00
Emma
6e693c6c37
Implement getRegionData in web (#2743)
* 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>
2022-10-22 10:31:34 +02:00
absidue
d8f7d073ce
Remove unused ft-grid component and __static variable (#2744)
* Remove unused ft-grid component

* Remove unused __static variable
2022-10-19 09:09:49 +08:00
Emma
b453b01b81
Adding web support to dev-runner (#2729)
* 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
2022-10-18 08:50:32 -04:00
absidue
aa4a01b9ab
Cleanup the web webpack config (#2690) 2022-10-09 09:09:56 -04:00
Emma
2e84b442bc
Making pack:web work by adding polyfill (#2678)
* 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
2022-10-06 14:47:47 +00:00
absidue
dc2cc746cf
Fix the development only js-yaml dependency being included in the release builds (#2646) 2022-10-02 08:12:13 +08:00
absidue
9de1a5e4dc
Small build config cleanup (#2621) 2022-09-26 16:17:04 -04:00
absidue
ac4cc4a611
Compress and lazy load locales (#2603)
* Compress and lazy load locales

* Remove index.html when loading the locales on the web

* Fix locale output path for web build
2022-09-24 11:06:50 -04:00
absidue
77c26638e1
Fully replace electron-debug with our own implementation (#2585) 2022-09-19 09:36:40 -04:00
absidue
62829b736a
Electron variable at build time instead of at runtime (#2574) 2022-09-15 08:59:09 +00:00
absidue
bbd1dba867
Remove node-loader as we don't have any binary/native node modules (#2576) 2022-09-15 08:52:46 +08:00
absidue
a69cbd3b55
Optimise CSS and JSON files (#2569) 2022-09-13 09:28:36 +08:00
absidue
97e3813182
Update css-loader and switch to webpack 5's asset modules (#2566) 2022-09-11 20:34:58 -04:00
absidue
19bf3880a4
Build and release 7zip artifacts (#2558) 2022-09-10 14:24:22 +00:00
Jai A P
ce77d16ff5
Add linux armv7l and win/osx arm64 builds (#2113)
* Add linux armv7l

* Add linux armv7l

* Update release.yml

* Update build.yml

* Update release.yml

* Update build.js

* Update release.yml

* Update build.yml

* Update release.yml

* Update release.yml

* Update build.yml

* Update _scripts/build.js

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

* Update _scripts/build.js

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

* Update _scripts/build.js

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

* Update build.yml

* Update build.yml

* Update release.yml

* Remove squirrel build from windows as unused

* Update build.yml

* Update release.yml

* Update build.yml

* Update release.yml

* Update build.yml

* Update release.yml

* Update .github/workflows/release.yml

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Update .github/workflows/build.yml

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-09-06 21:18:29 +00:00
absidue
eaa15ea833
Webpack bundle dependencies (#2511)
* 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
2022-09-06 02:29:10 +00:00
absidue
9961183c1b
Only generate the web assets directory during web builds (#2528)
* Webpack 5 optimises productions builds by default, no need for the LoaderOptionsPlugin

* Only create web assets during web build
2022-09-02 09:19:06 -04:00
absidue
a2eceffcc8
Stop electron-builder trying to create GitHub releases in CI workflow (#2407) 2022-08-12 08:35:26 +08:00
absidue
3dc7a8c549
Fix FreeTube's index.html file not being packaged (#2403) 2022-07-18 15:58:37 -04:00
absidue
903f3a2241
Prevent packaging unneeded dependency files (#2303)
* Prevent packaging unneeded dependency files

* Exclude even more dependency files from being packaged
2022-07-14 10:43:07 -04:00
absidue
7287e0011e
Fix webpack deprecation warnings in the dev-runner (#2282) 2022-06-01 07:12:30 -04:00
absidue
331f65ec26
Remove unused dependencies (#2278)
* Remove the bulma-pro and videojs-abloop dependencies

* Remove typescript

* Remove the jest development dependency
2022-05-31 16:15:44 -04:00
PikachuEXE
713738b5ff
* Implement divider for video "more dropdown menu" (#1748)
* * 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
2022-05-29 18:33:27 -04:00
PikachuEXE
80b1e436f8
Update build script to build ARM64 version on Apple Silicon machines (#1918)
* $ Refactor build script

* * Update build script to build ARM64 on Apple Silicon
2022-05-14 12:53:08 -04:00
PikachuEXE
07fd93d3aa
Fix watching video in development (#1668)
* 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
2021-09-23 07:04:00 +00:00
PikachuEXE
5c83dd8790
Update webpack config to remove explicit HMR plugin (#1729)
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."
2021-09-23 06:43:52 +00:00
Svallinn
d55be8dcc5
Build: Bump copyright year 2021-07-02 17:54:59 +01:00
Svallinn
52f35e5be3
Chore: Update webpack-dev-server to its next version (4.0.0-beta3) 2021-06-19 19:12:42 +01:00
Svallinn
77e743060f
Main+Renderer+Dev-Runner: Refactor smooth scrolling toggling
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.
2021-06-16 05:43:26 +01:00