Skip to content

Commit

Permalink
Merge branch 'development' into feature/playlist-2023-05
Browse files Browse the repository at this point in the history
* development:
  Translated using Weblate (Serbian)
  Translated using Weblate (Croatian)
  Translated using Weblate (Croatian)
  Bump electron from 27.1.2 to 27.1.3 (FreeTubeApp#4420)
  Bump the stylelint group with 1 update (FreeTubeApp#4416)
  Bump the fortawesome group with 3 updates (FreeTubeApp#4417)
  Bump marked from 10.0.0 to 11.0.0 (FreeTubeApp#4419)
  Bump the babel group with 2 updates (FreeTubeApp#4414)
  Bump the eslint group with 3 updates (FreeTubeApp#4415)
  Bump lefthook from 1.5.4 to 1.5.5 (FreeTubeApp#4418)
  Translated using Weblate (Greek)
  Order watched recommended videos last (FreeTubeApp#4394)
  IV: check for 404 and 500 for subscriptions (FreeTubeApp#4410)
  Translated using Weblate (Hungarian)
  Add homebrew to README.md (FreeTubeApp#4274)
  Translated using Weblate (Polish)
  Translated using Weblate (Icelandic)
  • Loading branch information
PikachuEXE committed Dec 5, 2023
2 parents b255d44 + 2c095ed commit 7b8738d
Show file tree
Hide file tree
Showing 15 changed files with 361 additions and 277 deletions.
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,12 @@ body:
- Flathub
- .pacman
- Portable
- .rpm
- .rpm
- .zip
- .apk (Android, FreeTubeCordova Unofficial)
- AUR (Unofficial)
- Chocolatey (Unofficial)
- Homebrew (Unofficial)
- MPR (Unofficial)
- Nix (Unofficial)
- PortableApps (Unofficial)
Expand Down
4 changes: 2 additions & 2 deletions .github/issue-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
- '(visual bug)'

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

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

'B: text/string':
- '(text/string issue)'
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ These builds are maintained by the community. While they should be safe, downloa

* FreeTubeCordova (FreeTube port for Android and PWA): [Download](https://github.com/MarmadileManteater/FreeTubeCordova/releases) and [Source Code](https://github.com/MarmadileManteater/FreeTubeCordova)

* Homebrew Formulae (Mac only): [Download](https://formulae.brew.sh/cask/freetube)

* makedeb Package Repository (MPR): [Download](https://mpr.makedeb.org/packages/freetube-bin)

* Nix Packages: [Download](https://search.nixos.org/packages?query=freetube)
Expand Down
24 changes: 12 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,16 +53,16 @@
"ci": "yarn install --silent --frozen-lockfile"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.4.2",
"@fortawesome/free-brands-svg-icons": "^6.4.2",
"@fortawesome/free-solid-svg-icons": "^6.4.2",
"@fortawesome/fontawesome-svg-core": "^6.5.1",
"@fortawesome/free-brands-svg-icons": "^6.5.1",
"@fortawesome/free-solid-svg-icons": "^6.5.1",
"@fortawesome/vue-fontawesome": "^2.0.10",
"@seald-io/nedb": "^4.0.2",
"@silvermine/videojs-quality-selector": "^1.3.1",
"autolinker": "^4.0.0",
"electron-context-menu": "^3.6.1",
"lodash.debounce": "^4.0.8",
"marked": "^10.0.0",
"marked": "^11.0.0",
"path-browserify": "^1.0.1",
"process": "^0.11.10",
"video.js": "7.21.5",
Expand All @@ -80,36 +80,36 @@
"youtubei.js": "^7.0.0"
},
"devDependencies": {
"@babel/core": "^7.23.3",
"@babel/core": "^7.23.5",
"@babel/eslint-parser": "^7.23.3",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/preset-env": "^7.23.3",
"@babel/preset-env": "^7.23.5",
"@double-great/stylelint-a11y": "^2.0.2",
"babel-loader": "^9.1.3",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.8.1",
"css-minimizer-webpack-plugin": "^5.0.1",
"electron": "^27.1.2",
"electron": "^27.1.3",
"electron-builder": "^24.9.1",
"eslint": "^8.54.0",
"eslint-config-prettier": "^9.0.0",
"eslint": "^8.55.0",
"eslint-config-prettier": "^9.1.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-jsonc": "^2.10.0",
"eslint-plugin-n": "^16.3.1",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-unicorn": "^49.0.0",
"eslint-plugin-vue": "^9.18.1",
"eslint-plugin-vue": "^9.19.2",
"eslint-plugin-vuejs-accessibility": "^2.2.0",
"eslint-plugin-yml": "^1.10.0",
"html-webpack-plugin": "^5.5.3",
"js-yaml": "^4.1.0",
"json-minimizer-webpack-plugin": "^4.0.0",
"lefthook": "^1.5.4",
"lefthook": "^1.5.5",
"mini-css-extract-plugin": "^2.7.6",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.31",
"postcss": "^8.4.32",
"postcss-scss": "^4.0.9",
"prettier": "^2.8.8",
"rimraf": "^5.0.5",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ export default defineComponent({
try {
const response = await fetch(feedUrl)

if (response.status === 500) {
if (response.status === 500 || response.status === 404) {
return []
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ export default defineComponent({
try {
const response = await fetch(feedUrl)

if (response.status === 500) {
if (response.status === 500 || response.status === 404) {
return []
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ export default defineComponent({
try {
const response = await fetch(feedUrl)

if (response.status === 500) {
if (response.status === 500 || response.status === 404) {
this.errorChannels.push(channel)
return []
}
Expand Down
19 changes: 17 additions & 2 deletions src/renderer/views/Watch/Watch.js
Original file line number Diff line number Diff line change
Expand Up @@ -308,10 +308,16 @@ export default defineComponent({

this.isFamilyFriendly = result.basic_info.is_family_safe

this.recommendedVideos = result.watch_next_feed
const recommendedVideos = result.watch_next_feed
?.filter((item) => item.type === 'CompactVideo')
.map(parseLocalWatchNextVideo) ?? []

// place watched recommended videos last
this.recommendedVideos = [
...recommendedVideos.filter((video) => !this.isRecommendedVideoWatched(video.videoId)),
...recommendedVideos.filter((video) => this.isRecommendedVideoWatched(video.videoId))
]

if (this.showFamilyFriendlyOnly && !this.isFamilyFriendly) {
this.isLoading = false
this.handleVideoEnded()
Expand Down Expand Up @@ -730,7 +736,12 @@ export default defineComponent({

this.videoPublished = result.published * 1000
this.videoDescriptionHtml = result.descriptionHtml
this.recommendedVideos = result.recommendedVideos
const recommendedVideos = result.recommendedVideos
// place watched recommended videos last
this.recommendedVideos = [
...recommendedVideos.filter((video) => !this.isRecommendedVideoWatched(video.videoId)),
...recommendedVideos.filter((video) => this.isRecommendedVideoWatched(video.videoId))
]
this.adaptiveFormats = await this.getAdaptiveFormatsInvidious(result)
this.isLive = result.liveNow
this.isFamilyFriendly = result.isFamilyFriendly
Expand Down Expand Up @@ -1100,6 +1111,10 @@ export default defineComponent({
this.updateLocalPlaylistLastPlayedAtSometimes()
},

isRecommendedVideoWatched: function (videoId) {
return !!this.$store.getters.getHistoryCacheById[videoId]
},

checkIfWatched: function () {
if (!this.isLive) {
if (this.timestamp) {
Expand Down
34 changes: 27 additions & 7 deletions static/locales/el.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ Settings:
Middle: 'Μέση'
End: 'Τέλος'
Hidden: Κρυμμένο
Blur: ''
Blur: 'Θάμπωμα'
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Διακομιστής
Invidious (προεπιλογή https://invidious.snopyta.org)'
Region for Trending: 'Περιοχή που καθορίζει την καρτέλα των τάσεων'
Expand Down Expand Up @@ -332,6 +332,8 @@ Settings:
Fetch Feeds from RSS: 'Φόρτωση τροφοδοσίας RSS'
Manage Subscriptions: 'Διαχείριση Εγγραφών'
Fetch Automatically: Αυτόματη Λήψη Τροφοδοσίας
Only Show Latest Video for Each Channel: Εμφάνιση μόνο του τελευταίου βίντεο για
κάθε κανάλι
Data Settings:
Data Settings: 'Ρυθμίσεις Δεδομένων'
Select Import Type: 'Επιλογή Τρόπου Εισαγωγής'
Expand Down Expand Up @@ -427,7 +429,7 @@ Settings:
Hide Sharing Actions: Απόκρυψη Ενεργειών Κοινής Χρήσης
Hide Channels: Απόκρυψη Βίντεο Από Κανάλια
Hide Upcoming Premieres: Απόκρυψη Επερχόμενων Πρεμιέρων
Hide Channels Placeholder: Όνομα Καναλιού ή Αναγνωριστικό
Hide Channels Placeholder: Αναγνωριστικό καναλιού
Hide Comments: Απόκρυψη Σχολίων
Hide Chapters: Απόκρυψη Κεφαλαίων
Hide Video Description: Απόκρυψη Περιγραφής Βίντεο
Expand All @@ -451,6 +453,13 @@ Settings:
Blur Thumbnails: Θάμπωμα Μικρογραφιών
Hide Profile Pictures in Comments: Απόκρυψη Εικόνων Προφίλ στα Σχόλια
Hide Subscriptions Community: Απόκρυψη Συνδρομών Κοινότητας
Hide Channels Invalid: Το αναγνωριστικό καναλιού που δόθηκε δεν ήταν έγκυρο
Hide Channels Disabled Message: Ορισμένα κανάλια αποκλείστηκαν με χρήση αναγνωριστικού
και δεν υποβλήθηκαν σε επεξεργασία. Η λειτουργία μπλοκάρεται κατά την ενημέρωση
αυτών των αναγνωριστικών
Hide Channels Already Exists: Το αναγνωριστικό καναλιού υπάρχει ήδη
Hide Channels API Error: Σφάλμα κατά την ανάκτηση χρήστη με το παρεχόμενο αναγνωριστικό.
Ελέγξτε ξανά εάν το αναγνωριστικό είναι σωστό.
The app needs to restart for changes to take effect. Restart and apply change?: Η
εφαρμογή πρέπει να κάνει επανεκκίνηση για να εφαρμοστούν οι αλλαγές. Επανεκκίνηση
και εφαρμογή αλλαγών;
Expand Down Expand Up @@ -526,6 +535,7 @@ Settings:
Show Family Friendly Only: Εμφάνιση Μόνο Για Οικογένειες
Hide Unsubscribe Button: Απόκρυψη Κουμπιού Απεγγραφής
Hide Search Bar: Απόκρυψη Μπάρας Αναζήτησης
Expand All Settings Sections: Αναπτύξτε όλες τις ενότητες ρυθμίσεων
About:
#On About page
About: 'Σχετικά με'
Expand Down Expand Up @@ -633,6 +643,11 @@ Profile:
Profile Filter: Φίλτρο προφίλ
Profile Settings: Ρυθμίσεις προφίλ
Toggle Profile List: Εναλλαγή Λίστας Προφίλ
Profile Name: Όνομα προφίλ
Edit Profile Name: Επεξεργασία ονόματος προφίλ
Create Profile Name: Δημιουργία ονόματος προφίλ
Open Profile Dropdown: Ανοίξτε το αναπτυσσόμενο μενού προφίλ
Close Profile Dropdown: Κλείστε το αναπτυσσόμενο μενού προφίλ
Channel:
Subscribe: 'Εγγραφή'
Unsubscribe: 'Απεγγραφή'
Expand Down Expand Up @@ -842,6 +857,8 @@ Video:
Zωντανή συνομιλία δεν είναι διαθέσιμη για αυτήν τη ροή.\nΜπορεί να έχει απενεργοποιηθεί
από τον χρήστη."
Pause on Current Video: Παύση στο Τρέχον Βίντεο
Unhide Channel: Εμφάνιση καναλιού
Hide Channel: Απόκρυψη καναλιού
Videos:
#& Sort By
Sort By:
Expand Down Expand Up @@ -1027,11 +1044,11 @@ Tooltips:
μια προσαρμοσμένη προσωρινή μνήμη εικόνων στη μνήμη. Θα οδηγήσει σε αυξημένη
χρήση RAM.
Distraction Free Settings:
Hide Channels: Εισαγάγετε ένα όνομα καναλιού ή ένα αναγνωριστικό καναλιού για
να αποκρύψετε όλα τα βίντεο, τις λίστες αναπαραγωγής και το ίδιο το κανάλι ώστε
να μην εμφανίζονται στην αναζήτηση, στις τάσεις, στα πιο δημοφιλή και προτεινόμενα.
Το όνομα του καναλιού που καταχωρίσατε πρέπει να ταιριάζει απόλυτα και να κάνει
διάκριση πεζών-κεφαλαίων.
Hide Channels: Εισαγάγετε ένα αναγνωριστικό καναλιού για να αποκρύψετε όλα τα
βίντεο, τις λίστες αναπαραγωγής και το ίδιο το κανάλι, ώστε να μην εμφανίζονται
στην αναζήτηση, τα ανερχόμενα, τα πιο δημοφιλή και προτεινόμενα. Το αναγνωριστικό
καναλιού που καταχωρίσατε πρέπει να αντιστοιχεί πλήρως και να κάνει διάκριση
πεζών-κεφαλαίων.
Hide Subscriptions Live: Αυτή η ρύθμιση παρακάμπτεται από τη ρύθμιση "{appWideSetting}"
σε όλη την εφαρμογή, στην ενότητα "{subsection}" του "{settingsSection}"
SponsorBlock Settings:
Expand Down Expand Up @@ -1097,3 +1114,6 @@ Playlist will pause when current video is finished: Η Λίστα Αναπαρα
όταν ολοκληρωθεί το τρέχον βίντεο
Playlist will not pause when current video is finished: Η Λίστα Αναπαραγωγής δεν θα
σταματήσει όταν ολοκληρωθεί το τρέχον βίντεο
Channel Hidden: Το {channel} προστέθηκε στο φίλτρο καναλιού
Go to page: Μετάβαση σε {page}
Channel Unhidden: Το {channel} καταργήθηκε από το φίλτρο καναλιού
17 changes: 15 additions & 2 deletions static/locales/hr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,8 @@ Settings:
Export Subscriptions: 'Izvoz pretplata'
How do I import my subscriptions?: 'Kako mogu uvesti pretplate?'
Fetch Automatically: Automatski dohvati feed
Only Show Latest Video for Each Channel: Prikaži samo najnoviji video za svaki
kanal
Advanced Settings:
Advanced Settings: 'Napredne postavke'
Enable Debug Mode (Prints data to the console): 'Aktiviraj modus otklanjanja grešaka
Expand Down Expand Up @@ -472,7 +474,7 @@ Settings:
SponsorBlock Settings: Postavke blokiranja sponzora
Skip Options:
Auto Skip: Automatsko preskakanje
Show In Seek Bar: Pokaži u traci napretka
Show In Seek Bar: Prikaži u traci napretka
Skip Option: Opcija preskakanja
Prompt To Skip: Poziv za preskakanje
Do Nothing: Ne čini ništa
Expand Down Expand Up @@ -514,6 +516,7 @@ Settings:
Set Password: Postavi lozinku
Remove Password: Ukloni lozinku
Set Password To Prevent Access: Postavi lozinku za sprečavanja pristupa postavkama
Expand All Settings Sections: Rasklopi sve odjeljke postavki
About:
#On About page
About: 'Informacije'
Expand Down Expand Up @@ -623,6 +626,11 @@ Profile:
Profile Filter: Filtar profila
Profile Settings: Postavke profila
Toggle Profile List: Uključi/Isključi popis profila
Profile Name: Ime profila
Edit Profile Name: Uredi ime profila
Create Profile Name: Stvori ime profila
Open Profile Dropdown: Otvori rasklopiv izbornik profila
Close Profile Dropdown: Zatvori rasklopiv izbornik profila
Channel:
Subscribe: 'Pretplati se'
Unsubscribe: 'Otkaži pretplatu'
Expand Down Expand Up @@ -826,6 +834,8 @@ Video:
'Live Chat is unavailable for this stream. It may have been disabled by the uploader.': Razgovor
uživo nije dostupan za ovaj prijenos. Možda ga je prenosnik deaktivirao.
Pause on Current Video: Zaustavi trenutačni video
Unhide Channel: Prikaži kanal
Hide Channel: Sakrij kanal
Videos:
#& Sort By
Sort By:
Expand Down Expand Up @@ -892,7 +902,7 @@ Comments:
Newest first: Najprije najnovije
Top comments: Najpopularniji komentari
Sort by: Redoslijed
Show More Replies: Pokaži više odgovora
Show More Replies: Prikaži više odgovora
From {channelName}: od {channelName}
And others: i drugi
Pinned by: Prikvačio/la
Expand Down Expand Up @@ -1057,3 +1067,6 @@ Playlist will pause when current video is finished: Zbirka će se zaustaviti kad
video završi
Playlist will not pause when current video is finished: Zbirka se neće zaustaviti
kada trenutačni video završi
Go to page: Idi na {page}
Channel Hidden: '{channel} je dodan u filtar kanala'
Channel Unhidden: '{channel} je uklonjen iz filtra kanala'
10 changes: 10 additions & 0 deletions static/locales/hu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -630,6 +630,11 @@ Profile:
Profile Filter: Profilszűrő
Profile Settings: Profilbeállítások
Toggle Profile List: Profillista be-/kikapcsolása
Profile Name: Profilnév
Edit Profile Name: Profilnév szerkesztése
Create Profile Name: Profilnév létrehozása
Open Profile Dropdown: Profil legördülő menü megnyítása
Close Profile Dropdown: Profil legördülő menü bezárása
Channel:
Subscribe: 'Feliratkozás'
Unsubscribe: 'Leiratkozás'
Expand Down Expand Up @@ -826,6 +831,8 @@ Video:
'Live Chat is unavailable for this stream. It may have been disabled by the uploader.': Az
élő csevegés nem érhető el ehhez az adatfolyamhoz. Lehet, hogy a feltöltő letiltotta.
Pause on Current Video: Jelenlegi videó szüneteltetése
Unhide Channel: Csatorna megjelenítése
Hide Channel: Csatorna elrejtése
Videos:
#& Sort By
Sort By:
Expand Down Expand Up @@ -1065,3 +1072,6 @@ Playlist will pause when current video is finished: Szünetel a lejátszási lis
a jelenlegi videó véget ér
Playlist will not pause when current video is finished: Nem szünetel a lejátszási
lista, amikor a jelenlegi videó véget ér
Channel Hidden: '{channel} hozzáadva a csatornaszűrőhöz'
Go to page: Ugrás a(z) {page}. oldalra
Channel Unhidden: '{channel} eltávolítva a csatornaszűrőből'
Loading

0 comments on commit 7b8738d

Please sign in to comment.