Skip to content

Commit 8b48c1e

Browse files
**Release 118**
##### APK changes: - System UI and navigation UI now match current theme (6f15a5b) - Screen no longer stays on when app is in background (#335) ##### PWA changes: - PWA should now be installable again (#297) This release includes all of the changes from upstream release [0.21.1](https://github.com/FreeTubeApp/FreeTube/releases/tag/v0.21.1-beta) as well as [0.21.0](https://github.com/FreeTubeApp/FreeTube/releases/tag/v0.21.0-beta). ... **Full Changelog**: 0.20.0.116...0.21.1.118
2 parents c490d3b + 0cdce19 commit 8b48c1e

File tree

418 files changed

+11363
-6583
lines changed

Some content is hidden

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

418 files changed

+11363
-6583
lines changed

.babelrc

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"@babel/env",
55
{
66
"targets": {
7-
"chrome": "106",
8-
"node": "16.16.0"
7+
"chrome": "122",
8+
"node": "20.9.0"
99
}
1010
}
1111
]

.eslintrc.js

+48-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
const path = require('path')
2+
const { readFileSync } = require('fs')
3+
4+
const activeLocales = JSON.parse(readFileSync(path.join(__dirname, './static/locales/activeLocales.json')))
5+
16
module.exports = {
27
// https://eslint.org/docs/user-guide/configuring#using-configuration-files-1
38
root: true,
@@ -48,11 +53,12 @@ module.exports = {
4853
'plugin:vue/recommended',
4954
'standard',
5055
'plugin:jsonc/recommended-with-json',
51-
'plugin:vuejs-accessibility/recommended'
56+
'plugin:vuejs-accessibility/recommended',
57+
'plugin:@intlify/vue-i18n/recommended'
5258
],
5359

5460
// https://eslint.org/docs/user-guide/configuring#configuring-plugins
55-
plugins: ['vue', 'vuejs-accessibility', 'n', 'unicorn'],
61+
plugins: ['vue', 'vuejs-accessibility', 'n', 'unicorn', '@intlify/vue-i18n'],
5662

5763
rules: {
5864
'space-before-function-paren': 'off',
@@ -78,6 +84,45 @@ module.exports = {
7884
'unicorn/no-array-push-push': 'error',
7985
'unicorn/prefer-keyboard-event-key': 'error',
8086
'unicorn/prefer-regexp-test': 'error',
81-
'unicorn/prefer-string-replace-all': 'error'
87+
'unicorn/prefer-string-replace-all': 'error',
88+
'@intlify/vue-i18n/no-dynamic-keys': 'error',
89+
// TODO: enable at a later date. currently disabled to prevent massive conflicts for initial PR
90+
// '@intlify/vue-i18n/no-unused-keys': [
91+
// 'error',
92+
// {
93+
// extensions: ['.js', '.vue', 'yaml']
94+
// }
95+
// ],
96+
'@intlify/vue-i18n/no-duplicate-keys-in-locale': 'error',
97+
'@intlify/vue-i18n/no-raw-text': [
98+
'error',
99+
{
100+
attributes: {
101+
'/.+/': [
102+
'title',
103+
'aria-label',
104+
'aria-placeholder',
105+
'aria-roledescription',
106+
'aria-valuetext',
107+
'tooltip',
108+
'message'
109+
],
110+
input: ['placeholder', 'value'],
111+
img: ['alt']
112+
},
113+
ignoreText: ['-', '•', '/', 'YouTube', 'Invidious', 'FreeTube']
114+
}
115+
],
116+
// Only applicable when we upgrade to Vue 3 and vue-i18n 9+
117+
'@intlify/vue-i18n/no-deprecated-tc': 'off',
118+
119+
'vue/require-explicit-emits': 'error',
120+
'vue/no-unused-emit-declarations': 'error',
121+
},
122+
settings: {
123+
'vue-i18n': {
124+
localeDir: `./static/locales/{${activeLocales.join(',')}}.yaml`,
125+
messageSyntaxVersion: '^8.0.0'
126+
}
82127
}
83128
}

.github/FUNDING.yml

-3
This file was deleted.

.github/ISSUE_TEMPLATE/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ contact_links:
88
about: Ask and answer questions
99
- name: Matrix Community
1010
url: https://matrix.to/#/+freetube:matrix.org
11-
about: Join our Matrix chatroom - "Note: Bugs and Feature requests should be made on GitHub and not in the Matrix room"
11+
about: 'Join our Matrix chatroom - "Note: Bugs and Feature requests should be made on GitHub and not in the Matrix room"'
1212
- name: Translate FreeTube
1313
url: https://hosted.weblate.org/engage/free-tube/
1414
about: Help translate FreeTube on Weblate

.github/issue-labeler.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
- '(visual bug)'
33

44
'B: Unofficial Download':
5-
- '(AUR \(Unofficial\)|Chocolatey \(Unofficial\)|\.apk \(Android, FreeTubeCordova Unofficial\)|Homebrew \(Unofficial\)|PortableApps \(Unofficial\)|WAPT \(Unofficial\)|winget \(Unofficial\)|Scoop \(Unofficial\)|Snapcraft \(Unofficial\)|MPR \(Unofficial\)|Nix \(Unofficial\))'
5+
- '(AUR \(Unofficial\)|Chocolatey \(Unofficial\)|\.apk \(FreeTubeAndroid Unofficial\)|Homebrew \(Unofficial\)|PortableApps \(Unofficial\)|WAPT \(Unofficial\)|winget \(Unofficial\)|Scoop \(Unofficial\)|Snapcraft \(Unofficial\)|MPR \(Unofficial\)|Nix \(Unofficial\))'
66

77
'B: keyboard control':
88
- '(keyboard control not working)'

.github/workflows/build.yml

+9-13
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
build:
1313
strategy:
1414
matrix:
15-
node-version: [18.x]
15+
node-version: [20.x]
1616
runtime:
1717
- linux-x64
1818
- linux-armv7l
@@ -57,20 +57,18 @@ jobs:
5757
- run: yarn run ci
5858
- run: yarn run lint
5959
- name: Get Version Number
60-
uses: jozsefsallai/[email protected]
61-
with:
62-
path: 'package.json'
63-
follow-symlinks: false
60+
id: getPackageInfo
61+
uses: jaywcjlove/github-action-package@main
6462

6563
- name: Set Version Number Variable
6664
id: versionNumber
6765
uses: actions/github-script@v7
6866
env:
6967
IS_DEV: ${{ contains(github.ref, 'development') }}
7068
IS_RC: ${{ contains(github.ref, 'RC') }}
71-
VERSION_NUMBER_NIGHTLY: ${{ env.PACKAGE_VERSION }}-nightly-${{ github.run_number }}
72-
VERSION_NUMBER_RC: ${{ env.PACKAGE_VERSION }}-RC-${{ github.run_number }}
73-
VERSION_NUMBER: ${{ env.PACKAGE_VERSION }}
69+
VERSION_NUMBER_NIGHTLY: ${{ steps.getPackageInfo.outputs.version }}-nightly-${{ github.run_number }}
70+
VERSION_NUMBER_RC: ${{ steps.getPackageInfo.outputs.version }}-RC-${{ github.run_number }}
71+
VERSION_NUMBER: ${{ steps.getPackageInfo.outputs.version }}
7472
with:
7573
result-encoding: string
7674
script: |
@@ -79,16 +77,14 @@ jobs:
7977
} else if (${{ env.IS_RC }}) {
8078
return "${{ env.VERSION_NUMBER_RC }}"
8179
} else {
82-
return "${{env.VERSION_NUMBER }}"
80+
return "${{env.VERSION_NUMBER }}"
8381
}
8482
# script: if ${{ env.IS_DEV }} then echo "::set-output name=VERSION_NUMBER::${{ env.VERSION_NUMBER_NIGHTLY }}" else echo "::set-output name=VERSION_NUMBER::${{ env.VERSION_NUMBER }}" fi
8583

8684
- name: Update package.json version
87-
uses: jossef/action-[email protected]
85+
uses: jaywcjlove/github-action-package@main
8886
with:
89-
file: package.json
90-
field: version
91-
value: ${{ steps.versionNumber.outputs.result }}
87+
version: ${{ steps.versionNumber.outputs.result }}
9288

9389

9490
- name: Install libarchive-tools

.github/workflows/buildCordova.yml

+5
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,18 @@ jobs:
2222
- name: 🧶 Yarn install
2323
run: yarn ci
2424

25+
- name: Is vtt-thumbnails installed correctly?
26+
run: |
27+
ls ./node_modules/videojs-vtt-thumbnails-freetube
28+
2529
- name: Set environment icon & splash for android app
2630
run: |
2731
# to make it easier to tell which is which when multiple are installed
2832
node ./_scripts/_setAppSplashTheme.mjs --nightly
2933
3034
- name: 🔍Lint code
3135
run: yarn lint
36+
continue-on-error: true
3237

3338
- name: 📚Read package.json
3439
id: pkg

.github/workflows/conflicts.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: check if prs are dirty
16-
uses: eps1lon/actions-label-merge-conflict@releases/2.x
16+
uses: eps1lon/actions-label-merge-conflict@v3
1717
with:
1818
dirtyLabel: "PR: merge conflicts / rebase needed"
1919
removeOnDirtyLabel: "PR: waiting for review"

.github/workflows/flatpak.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -77,25 +77,25 @@ jobs:
7777
date +"%Y-%m-%d" >> $GITHUB_ENV
7878
echo 'EOF' >> $GITHUB_ENV
7979
- name: Update x64 File Location in yml File
80-
uses: mikefarah/yq@4.0.0-beta1
80+
uses: mikefarah/yq@v4.44.2
8181
with:
8282
# The Command which should be run
83-
cmd: yq w -i io.freetubeapp.FreeTube.yml modules[0].sources[0].url 'https://github.com/FreeTubeApp/FreeTube/releases/download/v${{ steps.sub.outputs.result }}-beta/freetube-${{ steps.sub.outputs.result }}-linux-portable-x64.zip'
83+
cmd: yq -i '.modules[0].sources[0].url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${{ steps.sub.outputs.result }}-beta/freetube-${{ steps.sub.outputs.result }}-linux-portable-x64.zip"' io.freetubeapp.FreeTube.yml
8484
- name: Update x64 Hash in yml File
85-
uses: mikefarah/yq@4.0.0-beta1
85+
uses: mikefarah/yq@v4.44.2
8686
with:
8787
# The Command which should be run
88-
cmd: yq w -i io.freetubeapp.FreeTube.yml modules[0].sources[0].sha256 ${{ env.HASH_X64 }}
88+
cmd: yq -i '.modules[0].sources[0].sha256 = "${{ env.HASH_X64 }}"' io.freetubeapp.FreeTube.yml
8989
- name: Update ARM File Location in yml File
90-
uses: mikefarah/yq@4.0.0-beta1
90+
uses: mikefarah/yq@v4.44.2
9191
with:
9292
# The Command which should be run
93-
cmd: yq w -i io.freetubeapp.FreeTube.yml modules[0].sources[1].url 'https://github.com/FreeTubeApp/FreeTube/releases/download/v${{ steps.sub.outputs.result }}-beta/freetube-${{ steps.sub.outputs.result }}-linux-portable-arm64.zip'
93+
cmd: yq -i '.modules[0].sources[1].url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${{ steps.sub.outputs.result }}-beta/freetube-${{ steps.sub.outputs.result }}-linux-portable-arm64.zip"' io.freetubeapp.FreeTube.yml
9494
- name: Update ARM Hash in yml File
95-
uses: mikefarah/yq@4.0.0-beta1
95+
uses: mikefarah/yq@v4.44.2
9696
with:
9797
# The Command which should be run
98-
cmd: yq w -i io.freetubeapp.FreeTube.yml modules[0].sources[1].sha256 ${{ env.HASH_ARM64 }}
98+
cmd: yq -i '.modules[0].sources[1].sha256 = "${{ env.HASH_ARM64 }}"' io.freetubeapp.FreeTube.yml
9999
- name: Add Patch Notes to XML File
100100
run: xmlstarlet ed -L -i /application/releases/release[1] -t elem -n releaseTMP -v "" -i //releaseTMP -t attr -n version -v "${{ steps.sub.outputs.result }} Beta" -i //releaseTMP -t attr -n date -v "${{ env.CURRENT_DATE }}" -s //releaseTMP -t elem -n url -v "" -s //releaseTMP/url -t text -n "" -v "https://github.com/FreeTubeApp/FreeTube/releases/tag/v${{ steps.sub.outputs.result }}-beta" -r //releaseTMP -v "release" io.freetubeapp.FreeTube.metainfo.xml
101101
- name: Remove Release Files

.github/workflows/linter.yml

+6-2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,14 @@ jobs:
1818
# Steps represent a sequence of tasks that will be executed as part of the job
1919
steps:
2020
- uses: actions/checkout@v4
21-
- name: Use Node.js 18.x
21+
- name: Use Node.js 20.x
2222
uses: actions/setup-node@v4
2323
with:
24-
node-version: 18.x
24+
node-version: 20.x
2525
cache: "yarn"
2626
- run: yarn run ci
2727
- run: yarn run lint
28+
# let's verify that webpack is able to package the project
29+
- run: yarn run pack
30+
# verify that webpack is able to package the project using the web config
31+
- run: yarn run pack:web

0 commit comments

Comments
 (0)