Commit Graph

1287 Commits

Author SHA1 Message Date
Fijxu
118611376a Merge branch 'master' into weblate-invidious-translations 2026-10-31 18:21:21 -03:00
unrealtournament
1dc3335ce6 Add subscription JSON export for NewPipe (#5826)
The current option to export subscriptions for NewPipe (`Export subscriptions as OPML (for NewPipe & FreeTube)`) isn't accepted by NewPipe anymore. As far as I can tell, NewPipe only accepts importing from its own SQLite database, from Google Account CSV export and from its own JSON export format. This is mentioned in https://github.com/iv-org/invidious/issues/5438.

This PR adds support to export subscriptions in the NewPipe compatible format. I'm looking for input on a few points:
- I'm not a huge fan of hardcoding the NewPipe version in the export, but it is required by NewPipe to recognize it as a valid file. If someone has a better idea I'm all ears but I think it's the only way. In any case, NewPipe can import formats in a backwards compatible way in the future so it shouldn't be a huge deal.
- I haven't checked if the OPML export option actually works for FreeTube. If it doesn't, it should probably be removed altogether, for now I just removed the `(for NewPipe)` part.
- The translations would need to be updated, but I don't know how that is handled in this project so I need some help there.

The new format looks like this:
```
{
  "subscriptions": [
    {
      "service_id": 0,
      "url": "https://www.youtube.com/channel/UCHnyfMqiRRG1u-2MsSQLbXA",
      "name": "Veritasium"
    },
    {
      "service_id": 0,
      "url": "https://www.youtube.com/channel/UC6nSFpj9HTCZ5t-N3Rm3-HA",
      "name": "Vsauce"
    }
  ],
  "app_version": "0.29.0",
  "app_version_int": 1014
}
```


* add subscription json export for NewPipe

* remove old newpipe export format

* make newpipe export values constant

* remove duplicate export option, add i18n keys

* Convert to_newpipe to a serializable struct

* Use same naming format as NewPipe for the exported subscriptions

---------

Co-authored-by: Fijxu <fijxu@nadeko.net>
2026-10-31 17:34:46 -03:00
Fijxu
1c4b41f960 chore: remove hd720 quality (#6098)
Removes HD720 quality selection as Youtube removed their combined video+audio video that was 720p. Now the only available is `360p`, which is `medium` quality.

```bash
curl -v --request POST   --url 'http://127.0.0.1:8282/companion/youtubei/v1/player'   --header 'Authorization: Bearer aaaaaaaaaaaaaaaa'   --header 'Content-Type: application/json' --data '{ "videoId": "w8pldQdmJLU" }' | jq ".streamingData.formats"
```

```json
[
  {
    "itag": 18,
    "url": "https://rr5---sn-bg0s7ns7.googlevideo.com/videoplayback?expire=1792812370&ei=8tDbar3yB_KZ1sQP8uOj8Qs&ip=XXX.XXX.XXX.XXX&id=o-APoOBo3WyyLXjPSe0Xl2-xCsyWMXchaMPRmTj4UkJLIz&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&cps=287&met=1792790770%2C&mh=Jl&mm=31%2C29&mn=sn-bg0s7ns7%2Csn-nja7sne6&ms=au%2Crdu&mv=m&mvi=5&pl=24&rms=au%2Cau&initcwndbps=1035875&bui=AWzQHwpX4VrhBTsG4T0oAvHR1r5mZV7dm9zuppZNtDgE-Rtl3uRA0ZdG0dB-9qxIXIvldmCzBxn5z56X&spc=mpRQ_2sfg4_5MN9L7ud3V7iopLB8etaGr4oP8_ybjBJXsh5x2m3s7S0vAvyCaReTumAvCPjh&vprv=1&svpuc=1&mime=video%2Fmp4&ns=-vYnufuN-GgbAW4adIGA9qkZ&rqh=1&cnr=14&ratebypass=yes&dur=922.528&lmt=1777285489878458&mt=1792790257&fvip=2&fexp=51565116%2C52184237&c=TVHTML5_SIMPLY&sefc=1&txp=5538534&n=OmKOje1BMpTH1A&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AE0s2JYwRgIhAJtYiKwBsjK4CvpjZOl5S_8xCj_AistOGOTnAzsNTQVKAiEA7C00y1m2vnleOHitHEYDeqCwWdr9tL0ziE-uUF6TS4Y%3D&lsparams=cps%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=APaTxxMwRQIhAP5bBhB-vi5vVQwqNts5AinZONLEnjUGgLh95gwih1PUAiBkzkyrObM9E92u3_EyeoVXrl8yhSjMWUP0uZYliiNOlA%3D%3D&pot=Mo4ElVvWMMqFrkWVH96K2MVfm9IX1lFWMzlSGzKrGVtqZJmyrZpPrWxuRkzAlF0qfnhyZLx10LtIcXfkhjDr_n0cX2i8QSX5ua_bxwJAvzlBs5c6ONqI85Txc7xcm_fHKbWh_WO_MoUcdO5vwD4ON62PeBou5Kf9i-vdjQIvAV06WxjdAYuVjllHBrixE2bb20tcAFWxbeBMc4L3ZAjx2JL8JVpXhtUKUh34q2Zr33-u6FHtsItK1f-4T-OYTI8p0sk5w07LGYKWcgf0PlDJy_In2tIfYSyM1oQpd64uSxXKLk0igNIAg7ulbjmNGnmY2Q1lENO2wXWUhs8d-uPqJjzgfd6Fcb9LZE03qACgKxR_HqWJImaI0fcFfYmj22zaib-tIX6KHL0ntAu1lrjoURaIU4CO_cXI5S_S4LfS37d62tcK8GFeobMKfiA92tMCVxjQymVEVQJ7n8QqbUn7b6XYAXjUp8N-Aj_RBiEh8Yy18kTkEYpx7uR9gusxxjH68Q-zAAE2p1iGhOU_XwUB9J9rqjrs4vdBqONw4WLqhVTzd24s4lACPHXClw3x9lYZPJDy9a82XMZImcVDkVN0w0cJMD9ssbep9rBJnhcwRKBIzwFSH282Nod-hIJ5Edj4azcT0zmHwdXyXq6bmENuQymZ8U8bAcU6I0d4XD1GxmQoHwCkbsiXuBnC2pBcsjvu3w%3D%3D&cver=1.0&alr=no",
    "mimeType": "video/mp4; codecs=\"avc1.42001E, mp4a.40.2\"",
    "bitrate": 213181,
    "width": 640,
    "height": 360,
    "lastModified": "1777285489878458",
    "quality": "medium",
    "fps": 24,
    "qualityLabel": "360p",
    "projectionType": "RECTANGULAR",
    "audioQuality": "AUDIO_QUALITY_LOW",
    "approxDurationMs": "922528",
    "audioSampleRate": "44100",
    "audioChannels": 2,
    "qualityOrdinal": "QUALITY_ORDINAL_360P"
  }
]
```

(ip query parameter anonymized to `XXX.XXX.XXX.XXX`, not a real IP of course.)
2026-10-25 22:19:48 -03:00
Cameron Radmore
87cadfd813 feat(channel): add support for shows tab (#6033)
* feat(channel): add support for shows tab

* feat: add support for /show/ urls

* chore(docs): add comment for GridShowRenderer and fix format

* fix: check that shows tabs exists before trying to fetch/parse

* fix: Remove `thumbnaiext`

This property doesn't exist.

Not exactly sure how it happened but I'm guessing I combined thumbnailOverlays and text somehow when I was doing a find and replace (Ctrl + H) and then formatting json with prettier
2026-10-23 19:53:05 -03:00
Fijxu
66fed560e1 chore: Completely remove Reddit from Invidious (#6087)
* chore: Completely remove Reddit from Invidious

* chore: remove reddit from config.example.yml

* fix comment preferences for nojs

* Add fallback for people that used reddit in the comments API and their preferences

* add missing TODO

* chore: remove unused swap_comments JS function from watch.js

* remove blank line
2026-10-23 19:05:40 -03:00
Hosted Weblate
3d93e10ae8 Update Norwegian Bokmål translation
Co-authored-by: Telaneo <telaneo@users.noreply.hosted.weblate.org>
2026-10-23 21:45:16 +00:00
Hosted Weblate
02c7a0da7d Update Alemannic translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ramuroN <ramon.gruenig@stud.hslu.ch>
2026-10-23 21:45:15 +00:00
Hosted Weblate
54e89a5dae Update Swedish translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
2026-10-23 21:45:14 +00:00
Hosted Weblate
377d7d779e Update French translation
Update French translation

Co-authored-by: ABCraft19 <lesenfantsbergaoui@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Léo Deravine <leoDeravineContact@proton.me>
2026-10-23 21:45:14 +00:00
Hosted Weblate
6bc6db3e5e Update Indonesian translation
Update Indonesian translation

Update Indonesian translation

Update Indonesian translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Steven Felix <stevenfelix505@users.noreply.hosted.weblate.org>
2026-10-23 21:45:13 +00:00
Hosted Weblate
86e26b80ec Update Portuguese translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sergio Marques <so.boston.android@gmail.com>
2026-10-23 21:45:12 +00:00
Hosted Weblate
06b898bbea Update Catalan translation
Co-authored-by: Ecron <ecron_89@hotmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-10-23 21:45:12 +00:00
Hosted Weblate
10e49bd258 Update Japanese translation
Co-authored-by: Himmel <himmel@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-10-23 21:45:11 +00:00
Hosted Weblate
481af4ba2e Update Ukrainian translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
2026-10-23 21:45:11 +00:00
Hosted Weblate
cec351ab57 Update German translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ramuroN <ramon.gruenig@stud.hslu.ch>
2026-10-23 21:45:10 +00:00
Hosted Weblate
4f5cfd178d Update Galician translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ninjum <ninhum@gmx.com>
2026-10-23 21:45:10 +00:00
Weblate (bot)
fc3c75e9b5 Update Spanish translation (#5919)
Co-authored-by: Fijxu <fijxu@nadeko.net>
2026-08-12 08:01:45 +02:00
Hosted Weblate
42ea9cf708 Update Chinese (Simplified Han script) translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hosted Weblate user 54392 <hamburger2048@users.noreply.hosted.weblate.org>
2026-08-09 21:20:16 +02:00
Hosted Weblate
b0d79e480e Update Chinese (Traditional Han script) translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
2026-08-09 21:20:15 +02:00
Hosted Weblate
fe5ef8bd69 Update Slovenian translation
Co-authored-by: Damjan Gerl <damjan@damjan.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-08-09 21:20:14 +02:00
Hosted Weblate
215d7ec73d Update Spanish translation
Co-authored-by: Fijxu <fijxu@nadeko.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-08-09 21:20:14 +02:00
Hosted Weblate
d42510b1c0 Update Italian translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
2026-08-09 21:20:14 +02:00
Hosted Weblate
5e59810585 Update Armenian translation
Co-authored-by: Maxim Mkrtchyan <mikurasua@gmail.com>
2026-08-09 21:20:13 +02:00
Hosted Weblate
8580ada425 Update Czech translation
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2026-08-09 21:20:13 +02:00
Hosted Weblate
3561d0689b Update Russian translation
Co-authored-by: Artyom Rybakov <rib.artem@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-08-09 21:20:12 +02:00
Hosted Weblate
b97cd24b3c Update Estonian translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
2026-08-09 21:20:12 +02:00
Hosted Weblate
0cf68a1d9e Update Portuguese (Brazil) translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: joaooliva <joaooliva@protonmail.com>
2026-08-09 21:20:11 +02:00
Hosted Weblate
e450ef0168 Update Turkish translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
2026-08-09 21:20:11 +02:00
Weblate (bot)
c1625119a7 Translations update from Hosted Weblate (#5881)
* Update Armenian translation

Update Armenian translation

Update Armenian translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Maxim Mkrtchyan <mikurasua@gmail.com>

* Update Polish translation

Co-authored-by: Matthaiks <kitynska@gmail.com>

* Update Uzbek translation

Add Uzbek translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Zafarx94 <zfrx94@mail.ru>

---------

Co-authored-by: Maxim Mkrtchyan <mikurasua@gmail.com>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: Zafarx94 <zfrx94@mail.ru>
2026-08-03 22:56:22 +02:00
syeopite
4501c9df9c Show message when comments are turned off (#4051)
* Add error message when comments are disabled

* Add btn to try reddit comments when yt is disabled

* Escape warning messages for disabled comments

* Add missing semicolons

* Update comment detection to not use msg renderer

* Use short syntax for comment entry-point detection

Co-authored-by: Samantaz Fox <coding@samantaz.fr>

* Condense try-reddit-comments-link HTML in player.js

Co-authored-by: Samantaz Fox <coding@samantaz.fr>

* Improve locale keys for comments disabled messages

Co-authored-by: Samantaz Fox <coding@samantaz.fr>

* Remove extra whitespace

* Use button instead of anchor for try reddit link

* Request Reddit comm when yt disabled during nojs=1

* Change order of commentsEnabled in parse results

* Lint

* Rebase error

* update the naming of the comments section in Innertube

Downstreamed from 36ac67610d

---------

Co-authored-by: Samantaz Fox <coding@samantaz.fr>
Co-authored-by: Fijxu <fijxu@nadeko.net>
2026-08-03 15:18:13 -04:00
Hosted Weblate
e709fcfb49 Add Sign Languages translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Rafael Mexes <rafaelmexespangaubanyau01@gmail.com>
2026-08-02 22:30:05 +02:00
Hosted Weblate
dc381c7b02 Update Norwegian Bokmål translation
Update Norwegian Bokmål translation

Update Norwegian Bokmål translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Telaneo <post@telaneo.net>
2026-08-02 22:30:04 +02:00
Hosted Weblate
45f50b15ef Update Alemannic translation
Update Alemannic translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
2026-08-02 22:30:04 +02:00
Hosted Weblate
34beafeeec Update Chinese (Simplified Han script) translation
Update Chinese (Simplified Han script) translation

Update Chinese (Simplified Han script) translation

Update Chinese (Simplified Han script) translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
2026-08-02 22:30:03 +02:00
Hosted Weblate
14866656bd Update Chinese (Traditional Han script) translation
Update Chinese (Traditional Han script) translation

Update Chinese (Traditional Han script) translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
2026-08-02 22:30:03 +02:00
Hosted Weblate
1cf00ac69b Update Portuguese (Portugal) translation
Co-authored-by: António Oliveira <antonio.oliveira5487@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-08-02 22:30:02 +02:00
Hosted Weblate
ed068d3d8c Update Slovenian translation
Update Slovenian translation

Co-authored-by: Damjan Gerl <damjan@damjan.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-08-02 22:30:02 +02:00
Hosted Weblate
602670f441 Update Korean translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: xrfmkrh <rF3nMd7sRKezjF2vcEQo@protonmail.com>
2026-08-02 22:30:01 +02:00
Hosted Weblate
9c39cadc6e Update Albanian translation
Update translation files

Updated by "Remove blank strings" hook in Weblate.

Update Albanian translation

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Update Albanian translation

Update Albanian translation

Update Albanian translation

Co-authored-by: Andrea Toska <toskaandrea@gmail.com>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2026-08-02 22:30:01 +02:00
Hosted Weblate
d2d3d16b80 Update Finnish translation
Update Finnish translation

Update Finnish translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Patrik Selin <patrik.selin@gmail.com>
Co-authored-by: Tuomas Hietala <tuomas.hietala@iki.fi>
2026-08-02 22:30:01 +02:00
Hosted Weblate
e107081ecc Update Persian translation
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-08-02 22:30:00 +02:00
Hosted Weblate
cdec292bbe Update Swedish translation
Update Swedish translation

Update Swedish translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Joel A <joeax910@student.liu.se>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
2026-08-02 22:30:00 +02:00
Hosted Weblate
476d05b7cc Update French translation
Update French translation

Update French translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: I-I-IT <weblate.hut787@aleeas.com>
Co-authored-by: John Kindle <idp-portal.suse.com.dwindle414@aleeas.com>
Co-authored-by: Tristan B <tristanb0@users.noreply.hosted.weblate.org>
2026-08-02 22:29:59 +02:00
Hosted Weblate
783c99b266 Update Spanish translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nicolás Pérez <ccnicolasperez@gmail.com>
2026-08-02 22:29:59 +02:00
Hosted Weblate
72f1208431 Update Dutch translation
Update Dutch translation

Update Dutch translation

Co-authored-by: Dick Groskamp <dikgro@yahoo.co.uk>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-08-02 22:29:58 +02:00
Hosted Weblate
0c9d29a913 Update Indonesian translation
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-08-02 22:29:58 +02:00
Hosted Weblate
16b2ca02ef Update Arabic translation
Update Arabic translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Rex_sa <rex.sa@pm.me>
2026-08-02 22:29:57 +02:00
Hosted Weblate
8e55c8e9e7 Update Italian translation
Update Italian translation

Update Italian translation

Update Italian translation

Update Italian translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
2026-08-02 22:29:57 +02:00
Hosted Weblate
c3e3992e44 Update Polish translation
Update Polish translation

Update Polish translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
2026-08-02 22:29:56 +02:00
Hosted Weblate
b4ac053d4d Update Croatian translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Milo Ivir <mail@milotype.de>
2026-08-02 22:29:56 +02:00