Skip to content

Commit 0bcf2d1

Browse files
committed
Merge branch 'v0.17.0-RC'
2 parents 3ec6468 + 79c338d commit 0bcf2d1

File tree

148 files changed

+9691
-6032
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+9691
-6032
lines changed

.babelrc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@
44
"@babel/env",
55
{
66
"targets": {
7-
"chrome": "73",
8-
"node": 12
7+
"chrome": "96",
8+
"node": 16
99
}
1010
}
11-
],
12-
"@babel/typescript"
11+
]
1312
],
1413
"plugins": [
15-
"@babel/proposal-class-properties",
16-
"@babel/proposal-object-rest-spread"
14+
"@babel/proposal-class-properties"
1715
]
1816
}

.github/ISSUE_TEMPLATE/bug_report.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ body:
1717
required: true
1818
- label: I have searched the [issue tracker](https://github.com/FreeTubeApp/FreeTube/issues) for a bug report that matches the one I want to file, without success.
1919
required: true
20+
- label: I have searched the [documentation](https://docs.freetubeapp.io/) for information that matches the description of the bug I want to file, without success.
21+
required: true
2022
- type: textarea
2123
attributes:
2224
label: Describe the bug
@@ -113,4 +115,4 @@ body:
113115
description: Please ensure you've completed the following, if applicable.
114116
options:
115117
- label: I have encountered this bug in the latest [nightly build](https://docs.freetubeapp.io/development/nightly-builds).
116-
required: false
118+
required: false

.github/ISSUE_TEMPLATE/feature_request.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ body:
1515
options:
1616
- label: I have searched the [issue tracker](https://github.com/FreeTubeApp/FreeTube/issues) for a feature request that matches the one I want to file, without success.
1717
required: true
18+
- label: I have searched the [documentation](https://docs.freetubeapp.io/) for information that matches the description of the feature request I want to file, without success.
19+
required: true
1820
- type: textarea
1921
attributes:
2022
label: Problem Description
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: "Label Duplicate"
2+
on:
3+
issue_comment:
4+
types: [created]
5+
6+
jobs:
7+
test:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: Amwam/[email protected]
11+
with:
12+
keywords: '["duplicate of"]'
13+
labels: '["U: duplicate"]'
14+
github-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ jobs:
1111
build:
1212
strategy:
1313
matrix:
14-
node-version: [14.x]
14+
node-version: [16.x]
1515
runtime: [ linux-x64, linux-arm64, win-x64, osx-x64 ]
1616
include:
1717
- runtime: linux-x64
18-
os: ubuntu-latest
18+
os: ubuntu-18.04
1919

2020
- runtime: linux-arm64
2121
os: ubuntu-latest

.github/workflows/linter.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name: Linter
66
# events but only for the master branch
77
on:
88
pull_request:
9-
branches: [ master, development ]
9+
branches: [ master, development, '**-RC' ]
1010

1111
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1212
jobs:
@@ -18,10 +18,10 @@ jobs:
1818
# Steps represent a sequence of tasks that will be executed as part of the job
1919
steps:
2020
- uses: actions/checkout@v2
21-
- name: Use Node.js 14.x
21+
- name: Use Node.js 16.x
2222
uses: actions/setup-node@v2
2323
with:
24-
node-version: 14.x
24+
node-version: 16.x
2525
cache: "yarn"
2626
- run: npm run ci
2727
- run: npm run lint

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
build:
1313
strategy:
1414
matrix:
15-
node-version: [14.x]
15+
node-version: [16.x]
1616
runtime: [ linux-x64, linux-arm64, win-x64, osx-x64 ]
1717
include:
1818
- runtime: linux-x64
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Remove outdated labels
2+
on:
3+
# https://github.community/t/github-actions-are-severely-limited-on-prs/18179/15
4+
pull_request_target:
5+
types:
6+
- closed
7+
jobs:
8+
remove-merged-pr-labels:
9+
name: Remove merged pull request labels
10+
if: github.event.pull_request.merged
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: mondeja/[email protected]
14+
with:
15+
token: ${{ secrets.GITHUB_TOKEN }}
16+
labels: |
17+
PR: waiting for review
18+
PR: WIP
19+
PR: changes requested
20+
PR: merge conflicts / rebase needed
21+
PR/Issue: dependent
22+
23+
remove-closed-pr-labels:
24+
name: Remove closed pull request labels
25+
if: github.event_name == 'pull_request_target' && (! github.event.pull_request.merged)
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: mondeja/[email protected]
29+
with:
30+
token: ${{ secrets.GITHUB_TOKEN }}
31+
labels: |
32+
PR: waiting for review
33+
PR: WIP
34+
PR: changes requested
35+
PR: merge conflicts / rebase needed
36+
PR/Issue: dependent

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ FreeTube is supported by the [Privacy Redirect](https://github.com/SimonBrazell/
1818

1919
Download Privacy Redirect for [Firefox](https://addons.mozilla.org/en-US/firefox/addon/privacy-redirect/) or [Google Chrome](https://chrome.google.com/webstore/detail/privacy-redirect/pmcmeagblkinmogikoikkdjiligflglb).
2020

21+
Disclaimer: Learn more about why a browser extension is bad for your [privacy](https://www.privacyguides.org/browsers/#extensions).
22+
2123
If you have issues with the extension working with FreeTube, please create an issue in this repository instead of the extension repository.
2224

2325
## How does it work?
@@ -62,6 +64,8 @@ Chocolatey: [Download](https://chocolatey.org/packages/freetube/)
6264

6365
Windows Portable: [Download](https://github.com/rddim/FreeTubePortable/releases) [Source](https://github.com/rddim/FreeTubePortable)
6466

67+
Windows Package Manager (winget): [Usage](https://docs.microsoft.com/en-us/windows/package-manager/winget/)
68+
6569
### Automated Builds (Nightly / Weekly)
6670

6771
Builds are automatically created from changes to our development branch via [GitHub Actions](https://github.com/FreeTubeApp/FreeTube/actions?query=workflow%3ABuild).

_icons/textWhite.png

5.77 KB
Loading

_scripts/build.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,22 @@ const { name, productName } = require('../package.json')
77
const args = process.argv
88

99
let targets
10-
var platform = os.platform()
10+
const platform = os.platform()
11+
const cpus = os.cpus()
1112

12-
if (platform == 'darwin') {
13-
targets = Platform.MAC.createTarget()
14-
} else if (platform == 'win32') {
13+
if (platform === 'darwin') {
14+
let arch = Arch.x64
15+
16+
// Macbook Air 2020 with M1 = 'Apple M1'
17+
// Macbook Pro 2021 with M1 Pro = 'Apple M1 Pro'
18+
if (cpus[0].model.startsWith('Apple')) {
19+
arch = Arch.arm64
20+
}
21+
22+
targets = Platform.MAC.createTarget(['dmg'], arch)
23+
} else if (platform === 'win32') {
1524
targets = Platform.WINDOWS.createTarget()
16-
} else if (platform == 'linux') {
25+
} else if (platform === 'linux') {
1726
let arch = Arch.x64
1827

1928
if (args[2] === 'arm64') {

_scripts/dev-runner.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,17 +115,20 @@ function startRenderer(callback) {
115115
console.log(`\nWatching file changes for ${name} script...`)
116116
})
117117

118-
const server = new WebpackDevServer(compiler, {
118+
const server = new WebpackDevServer({
119119
static: {
120120
directory: path.join(process.cwd(), 'static'),
121121
watch: {
122-
ignored: /(dashFiles|storyboards)\/*/
122+
ignored: [
123+
/(dashFiles|storyboards)\/*/,
124+
'/**/.DS_Store',
125+
]
123126
}
124127
},
125128
port
126-
})
129+
}, compiler)
127130

128-
server.listen(port, '', err => {
131+
server.startCallback(err => {
129132
if (err) console.error(err)
130133

131134
callback()

_scripts/webpack.main.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const config = {
4949
path: path.join(__dirname, '../dist'),
5050
},
5151
resolve: {
52-
extensions: ['.ts', '.js', '.json'],
52+
extensions: ['.js', '.json'],
5353
alias: {
5454
'@': path.join(__dirname, '../src/'),
5555
src: path.join(__dirname, '../src/'),

_scripts/webpack.renderer.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ const config = {
138138
images: path.join(__dirname, '../src/renderer/assets/img/'),
139139
static: path.join(__dirname, '../static/'),
140140
},
141-
extensions: ['.ts', '.js', '.vue', '.json'],
141+
extensions: ['.js', '.vue', '.json'],
142142
},
143143
target: 'electron-renderer',
144144
}

_scripts/webpack.workers.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const config = {
1515
mode: process.env.NODE_ENV,
1616
devtool: isDevMode ? 'eval-cheap-module-source-map' : false,
1717
entry: {
18-
workerSample: path.join(__dirname, '../src/utilities/workerSample.ts'),
18+
workerSample: path.join(__dirname, '../src/utilities/workerSample.js'),
1919
},
2020
output: {
2121
libraryTarget: 'commonjs2',
@@ -52,7 +52,7 @@ const config = {
5252
'@': path.join(__dirname, '../src/'),
5353
src: path.join(__dirname, '../src/'),
5454
},
55-
extensions: ['.ts', '.js', '.json'],
55+
extensions: ['.js', '.json'],
5656
},
5757
target: 'node',
5858
}

package.json

Lines changed: 18 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "freetube",
33
"productName": "FreeTube",
44
"description": "A private YouTube client",
5-
"version": "0.16.0",
5+
"version": "0.17.0",
66
"license": "AGPL-3.0-or-later",
77
"main": "./dist/main.js",
88
"private": true,
@@ -30,23 +30,18 @@
3030
"debug-runner": "node _scripts/dev-runner.js --remote-debug",
3131
"dev": "run-s rebuild:electron dev-runner",
3232
"dev-runner": "node _scripts/dev-runner.js",
33-
"jest": "jest",
34-
"jest:coverage": "jest --collect-coverage",
35-
"jest:watch": "jest --watch",
36-
"lint-fix": "eslint --fix --ext .js,.ts,.vue ./",
37-
"lint": "eslint --ext .js,.ts,.vue ./",
33+
"lint-fix": "eslint --fix --ext .js,.vue ./",
34+
"lint": "eslint --ext .js,.vue ./",
3835
"pack": "run-p pack:main pack:renderer pack:workers",
3936
"pack:main": "webpack --mode=production --node-env=production --config _scripts/webpack.main.config.js",
4037
"pack:renderer": "webpack --mode=production --node-env=production --config _scripts/webpack.renderer.config.js",
4138
"pack:web": "webpack --mode=production --node-env=production --config _scripts/webpack.web.config.js",
4239
"pack:workers": "webpack --mode=production --node-env=production --config _scripts/webpack.workers.config.js",
4340
"postinstall": "npm run rebuild:electron",
44-
"prettier": "prettier --write \"{src,_scripts}/**/*.{js,ts,vue}\"",
41+
"prettier": "prettier --write \"{src,_scripts}/**/*.{js,vue}\"",
4542
"rebuild:electron": "electron-builder install-app-deps",
4643
"rebuild:node": "npm rebuild",
4744
"release": "run-s test build",
48-
"test": "run-s rebuild:node pack:workers jest",
49-
"test:watch": "run-s rebuild:node pack:workers jest:watch",
5045
"ci": "yarn install --frozen-lockfile"
5146
},
5247
"dependencies": {
@@ -55,60 +50,48 @@
5550
"@fortawesome/free-solid-svg-icons": "^5.15.4",
5651
"@fortawesome/vue-fontawesome": "^2.0.2",
5752
"@freetube/youtube-chat": "^1.1.2",
58-
"@freetube/yt-comment-scraper": "^6.0.0",
53+
"@freetube/yt-comment-scraper": "^6.1.0",
5954
"@silvermine/videojs-quality-selector": "^1.2.5",
60-
"autolinker": "^3.14.3",
61-
"bulma-pro": "^0.2.0",
62-
"dateformat": "^4.5.1",
63-
"electron-context-menu": "^3.1.1",
55+
"autolinker": "^3.15.0",
56+
"electron-context-menu": "^3.1.2",
6457
"http-proxy-agent": "^4.0.1",
6558
"https-proxy-agent": "^5.0.0",
6659
"jquery": "^3.6.0",
6760
"js-yaml": "^4.1.0",
6861
"lodash.debounce": "^4.0.8",
6962
"lodash.isequal": "^4.5.0",
70-
"lodash.uniqwith": "^4.5.0",
71-
"marked": "^4.0.10",
72-
"material-design-icons": "^3.0.1",
63+
"marked": "^4.0.15",
7364
"nedb-promises": "^5.0.1",
74-
"node-forge": "^1.0.0",
7565
"opml-to-json": "^1.0.1",
7666
"rss-parser": "^3.12.0",
7767
"socks-proxy-agent": "^6.0.0",
78-
"video.js": "7.14.3",
79-
"videojs-abloop": "^1.2.0",
68+
"video.js": "7.18.1",
8069
"videojs-contrib-quality-levels": "^2.1.0",
8170
"videojs-http-source-selector": "^1.1.6",
8271
"videojs-overlay": "^2.1.4",
83-
"videojs-replay": "^1.1.0",
8472
"videojs-vtt-thumbnails-freetube": "0.0.15",
8573
"vue": "^2.6.14",
86-
"vue-electron": "^1.0.6",
8774
"vue-i18n": "^8.25.0",
8875
"vue-observe-visibility": "^1.0.0",
8976
"vue-router": "^3.5.2",
9077
"vuex": "^3.6.2",
9178
"youtube-suggest": "^1.1.2",
92-
"yt-channel-info": "^2.2.0",
79+
"yt-channel-info": "^3.0.4",
9380
"yt-dash-manifest-generator": "1.1.0",
9481
"yt-trending-scraper": "^2.0.1",
95-
"ytdl-core": "^4.10.1",
96-
"ytpl": "^2.2.3",
97-
"ytsr": "^3.5.3"
82+
"ytdl-core": "^4.11.0",
83+
"ytpl": "^2.3.0",
84+
"ytsr": "^3.8.0"
9885
},
9986
"devDependencies": {
100-
"@babel/core": "^7.15.0",
101-
"@babel/plugin-proposal-class-properties": "^7.14.5",
102-
"@babel/plugin-proposal-object-rest-spread": "^7.14.7",
103-
"@babel/preset-env": "^7.15.0",
104-
"@babel/preset-typescript": "^7.15.0",
105-
"@typescript-eslint/eslint-plugin": "^4.30.0",
106-
"@typescript-eslint/parser": "^4.30.0",
87+
"@babel/core": "^7.17.10",
88+
"@babel/plugin-proposal-class-properties": "^7.16.7",
89+
"@babel/preset-env": "^7.17.10",
10790
"babel-eslint": "^10.1.0",
108-
"babel-loader": "^8.2.2",
91+
"babel-loader": "^8.2.5",
10992
"copy-webpack-plugin": "^9.0.1",
11093
"css-loader": "5.2.6",
111-
"electron": "^16.0.8",
94+
"electron": "^16.2.7",
11295
"electron-builder": "^22.11.7",
11396
"electron-builder-squirrel-windows": "^22.13.1",
11497
"electron-debug": "^3.2.0",
@@ -124,7 +107,6 @@
124107
"fast-glob": "^3.2.7",
125108
"file-loader": "^6.2.0",
126109
"html-webpack-plugin": "^5.3.2",
127-
"jest": "^27.1.0",
128110
"mini-css-extract-plugin": "^2.2.2",
129111
"node-abi": "^2.30.1",
130112
"node-loader": "^2.0.0",
@@ -135,7 +117,6 @@
135117
"sass-loader": "^12.1.0",
136118
"style-loader": "^3.2.1",
137119
"tree-kill": "1.2.2",
138-
"typescript": "^4.4.2",
139120
"url-loader": "^4.1.1",
140121
"vue-devtools": "^5.1.4",
141122
"vue-eslint-parser": "^7.10.0",

0 commit comments

Comments
 (0)