Skip to content

Commit ce9d37d

Browse files
committed
Merge branch 'development' into sabr-pr
* development: Translated using Weblate (Russian) Bump the eslint group with 2 updates (FreeTubeApp#8184) Bump the babel group with 2 updates (FreeTubeApp#8185) Bump sass-loader from 16.0.5 to 16.0.6 (FreeTubeApp#8186) Bump electron from 38.3.0 to 38.4.0 (FreeTubeApp#8187) Bump swiper from 12.0.2 to 12.0.3 (FreeTubeApp#8189) Bump actions/upload-artifact from 4 to 5 (FreeTubeApp#8188) Bump lefthook from 2.0.0 to 2.0.1 (FreeTubeApp#8190) Handle lockup views with no published text or views (FreeTubeApp#8170) Translated using Weblate (Russian) Translated using Weblate (Russian) Remove Hide Channel from the kebab menu on the Subscriptions page (FreeTubeApp#8175) Translated using Weblate (French) Translated using Weblate (Latvian) Translated using Weblate (Latvian) Translated using Weblate (Portuguese (Portugal)) Bump lefthook from 1.13.6 to 2.0.0 (FreeTubeApp#8166)
2 parents adba34b + d4733b1 commit ce9d37d

File tree

9 files changed

+569
-545
lines changed

9 files changed

+569
-545
lines changed

.github/workflows/build.yml

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -121,91 +121,91 @@ jobs:
121121
rm -rf ./squashfs-root ./appimagetool.AppImage
122122
123123
- name: Upload Linux .zip x64 Artifact
124-
uses: actions/upload-artifact@v4
124+
uses: actions/upload-artifact@v5
125125
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
126126
with:
127127
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-x64-portable.zip
128128
path: build/freetube-${{ steps.versionNumber.outputs.result }}.zip
129129

130130
- name: Upload Linux .7z x64 Artifact
131-
uses: actions/upload-artifact@v4
131+
uses: actions/upload-artifact@v5
132132
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
133133
with:
134134
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-x64-portable.7z
135135
path: build/freetube-${{ steps.versionNumber.outputs.result }}.7z
136136

137137
- name: Upload Linux .zip ARMv7l Artifact
138-
uses: actions/upload-artifact@v4
138+
uses: actions/upload-artifact@v5
139139
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
140140
with:
141141
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-armv7l-portable.zip
142142
path: build/freetube-${{ steps.versionNumber.outputs.result }}-armv7l.zip
143143

144144
- name: Upload Linux .7z ARMv7l Artifact
145-
uses: actions/upload-artifact@v4
145+
uses: actions/upload-artifact@v5
146146
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
147147
with:
148148
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-armv7l-portable.7z
149149
path: build/freetube-${{ steps.versionNumber.outputs.result }}-armv7l.7z
150150

151151
- name: Upload Linux .zip ARM64 Artifact
152-
uses: actions/upload-artifact@v4
152+
uses: actions/upload-artifact@v5
153153
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
154154
with:
155155
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-arm64-portable.zip
156156
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64.zip
157157

158158
- name: Upload Linux .7z ARM64 Artifact
159-
uses: actions/upload-artifact@v4
159+
uses: actions/upload-artifact@v5
160160
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
161161
with:
162162
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-arm64-portable.7z
163163
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64.7z
164164

165165
- name: Upload .deb x64 Artifact
166-
uses: actions/upload-artifact@v4
166+
uses: actions/upload-artifact@v5
167167
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
168168
with:
169169
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.deb
170170
path: build/freetube_${{ steps.versionNumber.outputs.result }}_amd64.deb
171171

172172
- name: Upload .deb ARMv7l Artifact
173-
uses: actions/upload-artifact@v4
173+
uses: actions/upload-artifact@v5
174174
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
175175
with:
176176
name: freetube_${{ steps.versionNumber.outputs.result }}_armv7l.deb
177177
path: build/freetube_${{ steps.versionNumber.outputs.result }}_armv7l.deb
178178

179179
- name: Upload .deb ARM64 Artifact
180-
uses: actions/upload-artifact@v4
180+
uses: actions/upload-artifact@v5
181181
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
182182
with:
183183
name: freetube_${{ steps.versionNumber.outputs.result }}_arm64.deb
184184
path: build/freetube_${{ steps.versionNumber.outputs.result }}_arm64.deb
185185

186186
- name: Upload AppImage x64 Artifact
187-
uses: actions/upload-artifact@v4
187+
uses: actions/upload-artifact@v5
188188
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
189189
with:
190190
name: freetube-${{ steps.versionNumber.outputs.result }}-amd64.AppImage
191191
path: build/FreeTube-${{ steps.versionNumber.outputs.result }}.AppImage
192192

193193
- name: Upload AppImage ARMv7l Artifact
194-
uses: actions/upload-artifact@v4
194+
uses: actions/upload-artifact@v5
195195
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
196196
with:
197197
name: freetube-${{ steps.versionNumber.outputs.result }}-armv7l.AppImage
198198
path: build/FreeTube-${{ steps.versionNumber.outputs.result }}-armv7l.AppImage
199199

200200
- name: Upload AppImage ARM64 Artifact
201-
uses: actions/upload-artifact@v4
201+
uses: actions/upload-artifact@v5
202202
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
203203
with:
204204
name: freetube-${{ steps.versionNumber.outputs.result }}-arm64.AppImage
205205
path: build/FreeTube-${{ steps.versionNumber.outputs.result }}-arm64.AppImage
206206

207207
- name: Upload .rpm x64 Artifact
208-
uses: actions/upload-artifact@v4
208+
uses: actions/upload-artifact@v5
209209
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
210210
with:
211211
name: freetube-${{ steps.versionNumber.outputs.result }}.amd64.rpm
@@ -214,119 +214,119 @@ jobs:
214214
# rpm are not built for armv7l
215215

216216
- name: Upload .rpm ARM64 Artifact
217-
uses: actions/upload-artifact@v4
217+
uses: actions/upload-artifact@v5
218218
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
219219
with:
220220
name: freetube-${{ steps.versionNumber.outputs.result }}.arm64.rpm
221221
path: build/freetube-${{ steps.versionNumber.outputs.result }}.aarch64.rpm
222222

223223
- name: Upload Pacman .pacman x64 Artifact
224-
uses: actions/upload-artifact@v4
224+
uses: actions/upload-artifact@v5
225225
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
226226
with:
227227
name: freetube-${{ steps.versionNumber.outputs.result }}-amd64.pacman
228228
path: build/freetube-${{ steps.versionNumber.outputs.result }}.pacman
229229

230230
# - name: Upload Web Build
231-
# uses: actions/upload-artifact@v4
231+
# uses: actions/upload-artifact@v5
232232
# if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
233233
# with:
234234
# name: freetube-${{ steps.versionNumber.outputs.result }}-static-web
235235
# path: dist/web
236236

237237
- name: Upload Windows x64 .exe Artifact
238-
uses: actions/upload-artifact@v4
238+
uses: actions/upload-artifact@v5
239239
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
240240
with:
241241
name: freetube-${{ steps.versionNumber.outputs.result }}-setup-x64.exe
242242
path: build/freetube Setup ${{ steps.versionNumber.outputs.result }}.exe
243243

244244
- name: Upload Windows x64 Portable Artifact
245-
uses: actions/upload-artifact@v4
245+
uses: actions/upload-artifact@v5
246246
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
247247
with:
248248
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable.exe
249249
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe
250250

251251
- name: Upload Windows x64 .zip Artifact
252-
uses: actions/upload-artifact@v4
252+
uses: actions/upload-artifact@v5
253253
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
254254
with:
255255
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable.zip
256256
path: build/freetube-${{ steps.versionNumber.outputs.result }}-win.zip
257257

258258
- name: Upload Windows x64 .7z Artifact
259-
uses: actions/upload-artifact@v4
259+
uses: actions/upload-artifact@v5
260260
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
261261
with:
262262
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable.7z
263263
path: build/freetube-${{ steps.versionNumber.outputs.result }}-win.7z
264264

265265
- name: Upload Windows arm64 .exe Artifact
266-
uses: actions/upload-artifact@v4
266+
uses: actions/upload-artifact@v5
267267
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
268268
with:
269269
name: freetube-${{ steps.versionNumber.outputs.result }}-setup-arm64.exe
270270
path: build/freetube Setup ${{ steps.versionNumber.outputs.result }}.exe
271271

272272
- name: Upload Windows arm64 Portable Artifact
273-
uses: actions/upload-artifact@v4
273+
uses: actions/upload-artifact@v5
274274
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
275275
with:
276276
name: freetube-${{ steps.versionNumber.outputs.result }}-win-arm64-portable.exe
277277
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe
278278

279279
- name: Upload Windows arm64 .zip Artifact
280-
uses: actions/upload-artifact@v4
280+
uses: actions/upload-artifact@v5
281281
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
282282
with:
283283
name: freetube-${{ steps.versionNumber.outputs.result }}-win-arm64-portable.zip
284284
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-win.zip
285285

286286
- name: Upload Windows arm64 .7z Artifact
287-
uses: actions/upload-artifact@v4
287+
uses: actions/upload-artifact@v5
288288
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
289289
with:
290290
name: freetube-${{ steps.versionNumber.outputs.result }}-win-arm64-portable.7z
291291
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-win.7z
292292

293293
- name: Upload Mac x64 .dmg Artifact
294-
uses: actions/upload-artifact@v4
294+
uses: actions/upload-artifact@v5
295295
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-x64')
296296
with:
297297
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-x64.dmg
298298
path: build/freetube-${{ steps.versionNumber.outputs.result }}.dmg
299299

300300
- name: Upload Mac x64 .zip Artifact
301-
uses: actions/upload-artifact@v4
301+
uses: actions/upload-artifact@v5
302302
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-x64')
303303
with:
304304
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-x64.zip
305305
path: build/freetube-${{ steps.versionNumber.outputs.result }}-mac.zip
306306

307307
- name: Upload Mac x64 .7z Artifact
308-
uses: actions/upload-artifact@v4
308+
uses: actions/upload-artifact@v5
309309
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-x64')
310310
with:
311311
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-x64.7z
312312
path: build/freetube-${{ steps.versionNumber.outputs.result }}-mac.7z
313313

314314
- name: Upload Mac arm64 .dmg Artifact
315-
uses: actions/upload-artifact@v4
315+
uses: actions/upload-artifact@v5
316316
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
317317
with:
318318
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-arm64.dmg
319319
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64.dmg
320320

321321
- name: Upload Mac arm64 .zip Artifact
322-
uses: actions/upload-artifact@v4
322+
uses: actions/upload-artifact@v5
323323
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
324324
with:
325325
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-arm64.zip
326326
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-mac.zip
327327

328328
- name: Upload Mac arm64 .7z Artifact
329-
uses: actions/upload-artifact@v4
329+
uses: actions/upload-artifact@v5
330330
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
331331
with:
332332
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-arm64.7z

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
"portal-vue": "^2.1.7",
6969
"process": "^0.11.10",
7070
"shaka-player": "^4.16.6",
71-
"swiper": "^12.0.2",
71+
"swiper": "^12.0.3",
7272
"vue": "^2.7.16",
7373
"vue-i18n": "^8.28.2",
7474
"vue-observe-visibility": "^1.0.0",
@@ -77,36 +77,36 @@
7777
"youtubei.js": "^16.0.1"
7878
},
7979
"devDependencies": {
80-
"@babel/core": "^7.28.4",
81-
"@babel/preset-env": "^7.28.3",
80+
"@babel/core": "^7.28.5",
81+
"@babel/preset-env": "^7.28.5",
8282
"@double-great/stylelint-a11y": "^3.4.0",
8383
"@eslint/js": "^9.38.0",
8484
"@intlify/eslint-plugin-vue-i18n": "^3.2.0",
8585
"babel-loader": "^10.0.0",
8686
"copy-webpack-plugin": "^13.0.1",
8787
"css-loader": "^7.1.2",
8888
"css-minimizer-webpack-plugin": "^7.0.2",
89-
"electron": "^38.3.0",
89+
"electron": "^38.4.0",
9090
"electron-builder": "^26.1.0",
9191
"eslint": "^9.38.0",
92-
"eslint-plugin-jsdoc": "^61.1.5",
92+
"eslint-plugin-jsdoc": "^61.1.9",
9393
"eslint-plugin-jsonc": "^2.21.0",
94-
"eslint-plugin-unicorn": "^61.0.2",
94+
"eslint-plugin-unicorn": "^62.0.0",
9595
"eslint-plugin-vue": "^10.5.1",
9696
"eslint-plugin-vuejs-accessibility": "^2.4.1",
9797
"eslint-plugin-yml": "^1.19.0",
9898
"globals": "^16.4.0",
9999
"html-webpack-plugin": "^5.6.4",
100100
"js-yaml": "^4.1.0",
101101
"json-minimizer-webpack-plugin": "^5.0.1",
102-
"lefthook": "^1.13.6",
102+
"lefthook": "^2.0.1",
103103
"mini-css-extract-plugin": "^2.9.4",
104104
"neostandard": "^0.12.2",
105105
"npm-run-all2": "^8.0.4",
106106
"postcss": "^8.5.6",
107107
"postcss-scss": "^4.0.9",
108108
"sass": "^1.93.2",
109-
"sass-loader": "^16.0.5",
109+
"sass-loader": "^16.0.6",
110110
"stylelint": "^16.25.0",
111111
"stylelint-config-sass-guidelines": "^12.1.0",
112112
"stylelint-config-standard": "^39.0.1",

src/renderer/components/ft-list-video/ft-list-video.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,10 @@ export default defineComponent({
173173
return this.$route.name === 'history'
174174
},
175175

176+
inSubscriptions: function () {
177+
return this.$route.name === 'subscriptions' || this.$route.name === 'default'
178+
},
179+
176180
inUserPlaylist: function () {
177181
return this.playlistTypeFinal === 'user' || this.selectedUserPlaylist != null
178182
},
@@ -324,7 +328,7 @@ export default defineComponent({
324328
}
325329
}
326330

327-
if (this.channelId !== null) {
331+
if (this.channelId !== null && !this.inSubscriptions) {
328332
const hiddenChannels = JSON.parse(this.$store.getters.getChannelsHidden)
329333
const channelShouldBeHidden = hiddenChannels.some(c => c.name === this.channelId)
330334

src/renderer/helpers/api/local.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1575,13 +1575,13 @@ function parseLockupView(lockupView, channelId = undefined, channelName = undefi
15751575
lengthSeconds = Utils.timeToSeconds(durationBadge.text)
15761576
}
15771577

1578-
publishedText = lockupView.metadata.metadata?.metadata_rows[1].metadata_parts.find(part => part.text?.text?.endsWith('ago'))?.text?.text
1578+
publishedText = lockupView.metadata.metadata?.metadata_rows[1].metadata_parts?.find(part => part.text?.text?.endsWith('ago'))?.text?.text
15791579
}
15801580
}
15811581

15821582
let viewCount = null
15831583

1584-
const viewsText = lockupView.metadata.metadata?.metadata_rows[1].metadata_parts.find(part => {
1584+
const viewsText = lockupView.metadata.metadata?.metadata_rows[1].metadata_parts?.find(part => {
15851585
return part.text?.text && VIEWS_OR_WATCHING_REGEX.test(part.text.text)
15861586
})?.text?.text
15871587

0 commit comments

Comments
 (0)