* fix(i18n): fixed jellyfin jobs
* feat: translations update from Hosted Weblate (#3258)
* feat(lang): translated using Weblate (Korean)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 11.2% (139 of 1233 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 11.3% (139 of 1226 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 7.8% (96 of 1226 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 7.4% (91 of 1226 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 1.7% (21 of 1226 strings)
feat(lang): added translation using Weblate (Korean)
Co-authored-by: Developer J <jshsakura@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: sct <sctsnipe@gmail.com>
Co-authored-by: 김상구 (Studio) <spair0039@gmail.com>
Co-authored-by: 최효근 <gyrms7532@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ko/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Greek)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Greek)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Greek)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Greek)
Currently translated at 100.0% (1233 of 1233 strings)
Co-authored-by: BeardedWatermelon <periklis.karantonis@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/el/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Serbian)
Currently translated at 49.7% (608 of 1222 strings)
Co-authored-by: Dzonkins <nikoladjordjevic.ns@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/sr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1228 of 1228 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Angel <adelpozoman@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/es/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Romanian)
Currently translated at 33.0% (408 of 1234 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 29.7% (367 of 1234 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 27.9% (345 of 1234 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 27.8% (344 of 1233 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 27.6% (339 of 1226 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 27.4% (337 of 1226 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 22.8% (279 of 1223 strings)
Co-authored-by: Bunduc Dragos <bunduc.dragos@gmail.com>
Co-authored-by: DragoPrime <emperordrago@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ro/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Russian)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Russian)
Currently translated at 87.4% (1069 of 1223 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kirill Zhukov <siper13@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ru/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Danish)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Anders Ecklon <aecklon@gmail.com>
Co-authored-by: Emil Nymann <ens@hiper.dk>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/da/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Hungarian)
Currently translated at 86.3% (1055 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ZsiGiT <zsigit@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/hu/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Dutch)
Currently translated at 99.4% (1226 of 1233 strings)
feat(lang): translated using Weblate (Dutch)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Dutch)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Dutch)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Dutch)
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Bas <bashankamp+weblate@gmail.com>
Co-authored-by: COTMO <moermantom1@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kobe <kobaubarr@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/nl/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.6% (1229 of 1233 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1228 of 1228 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (1213 of 1222 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.1% (1212 of 1222 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.1% (1212 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Rafael Vieira <rafaelvieiras@pm.me>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pt_BR/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Czech)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Czech)
Currently translated at 99.7% (1223 of 1226 strings)
feat(lang): translated using Weblate (Czech)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Czech)
Currently translated at 96.4% (1179 of 1222 strings)
feat(lang): translated using Weblate (Czech)
Currently translated at 89.1% (1090 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marek <marek@pavelka.xyz>
Co-authored-by: Smexhy <roman.bartik@icloud.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/cs/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1233 of 1233 strings)
Co-authored-by: Fhd-pro <juve.11@msn.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ar/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pt_PT/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (German)
Currently translated at 99.9% (1233 of 1234 strings)
feat(lang): translated using Weblate (German)
Currently translated at 99.5% (1228 of 1234 strings)
feat(lang): translated using Weblate (German)
Currently translated at 99.5% (1227 of 1233 strings)
feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (German)
Currently translated at 95.9% (1172 of 1222 strings)
feat(lang): translated using Weblate (German)
Currently translated at 95.9% (1172 of 1222 strings)
feat(lang): translated using Weblate (German)
Currently translated at 94.7% (1158 of 1222 strings)
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Furkan Çakar <cakar.55.furkan@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Juli <snowjuli@protonmail.com>
Co-authored-by: Leo Schultheiss <leoschultheiss@yahoo.de>
Co-authored-by: inkarnation <94744834+inkarnation@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/de/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Swedish)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 99.6% (1229 of 1233 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 100.0% (1228 of 1228 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 90.0% (1104 of 1226 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 90.0% (1101 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Topfield99 <timmiesonne@live.se>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/sv/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Lithuanian)
Currently translated at 58.7% (725 of 1233 strings)
feat(lang): translated using Weblate (Lithuanian)
Currently translated at 58.6% (719 of 1226 strings)
feat(lang): translated using Weblate (Lithuanian)
Currently translated at 51.0% (624 of 1222 strings)
feat(lang): translated using Weblate (Lithuanian)
Currently translated at 43.9% (537 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: PovilasID <povilas.sidaravicius@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/lt/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 99.5% (1217 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 99.4% (1216 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 98.6% (1207 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 97.2% (1189 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 94.3% (1154 of 1223 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Maite Guix <maite.guix@gmail.com>
Co-authored-by: dtalens <databio@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ca/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Croatian)
Currently translated at 89.9% (1103 of 1226 strings)
Co-authored-by: Bruno Ševčenko <bs3vcenk@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/hr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Italian)
Currently translated at 92.2% (1138 of 1233 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 88.5% (1092 of 1233 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 85.8% (1058 of 1233 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 86.0% (1052 of 1223 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 83.2% (1017 of 1222 strings)
Co-authored-by: Francesco <francy.ammirati@hotmail.com>
Co-authored-by: Gian Marco Cinalli <gm.cinalli@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mirco Cau <mircocau@gmail.com>
Co-authored-by: eggermn <egger.mn@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/it/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (1225 of 1226 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (1225 of 1226 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (1224 of 1226 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (1223 of 1224 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 98.0% (1198 of 1222 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 96.7% (1182 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
Co-authored-by: anpplex <anpplex@gmail.com>
Co-authored-by: kx <yoboy.rox@gmail.com>
Co-authored-by: lkw123 <lkw20010211@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/zh_Hans/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (French)
Currently translated at 99.9% (1225 of 1226 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 99.5% (1216 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 99.5% (1216 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 99.5% (1216 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Hordo <hordocast@mailo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Co-authored-by: Maxent <rouaultmaxent@gmail.com>
Co-authored-by: Rémi Guerrero <remidu34070@hotmail.fr>
Co-authored-by: Sulli <susu.leduc@gmail.com>
Co-authored-by: Symness <simon@frayssines.fr>
Co-authored-by: Valentin <droidente@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/fr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.7% (1219 of 1222 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 89.6% (1095 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 주서현 <adan.89lion@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/zh_Hant/
Translation: Overseerr/Overseerr Frontend
---------
Co-authored-by: Developer J <jshsakura@gmail.com>
Co-authored-by: sct <sctsnipe@gmail.com>
Co-authored-by: 김상구 (Studio) <spair0039@gmail.com>
Co-authored-by: 최효근 <gyrms7532@gmail.com>
Co-authored-by: BeardedWatermelon <periklis.karantonis@gmail.com>
Co-authored-by: Dzonkins <nikoladjordjevic.ns@gmail.com>
Co-authored-by: Angel <adelpozoman@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Bunduc Dragos <bunduc.dragos@gmail.com>
Co-authored-by: DragoPrime <emperordrago@gmail.com>
Co-authored-by: Kirill Zhukov <siper13@gmail.com>
Co-authored-by: Anders Ecklon <aecklon@gmail.com>
Co-authored-by: Emil Nymann <ens@hiper.dk>
Co-authored-by: ZsiGiT <zsigit@gmail.com>
Co-authored-by: Bas <bashankamp+weblate@gmail.com>
Co-authored-by: COTMO <moermantom1@gmail.com>
Co-authored-by: Kobe <kobaubarr@gmail.com>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Rafael Vieira <rafaelvieiras@pm.me>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Co-authored-by: Marek <marek@pavelka.xyz>
Co-authored-by: Smexhy <roman.bartik@icloud.com>
Co-authored-by: Fhd-pro <juve.11@msn.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Furkan Çakar <cakar.55.furkan@gmail.com>
Co-authored-by: Juli <snowjuli@protonmail.com>
Co-authored-by: Leo Schultheiss <leoschultheiss@yahoo.de>
Co-authored-by: inkarnation <94744834+inkarnation@users.noreply.github.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Topfield99 <timmiesonne@live.se>
Co-authored-by: PovilasID <povilas.sidaravicius@gmail.com>
Co-authored-by: Maite Guix <maite.guix@gmail.com>
Co-authored-by: dtalens <databio@gmail.com>
Co-authored-by: Bruno Ševčenko <bs3vcenk@gmail.com>
Co-authored-by: Francesco <francy.ammirati@hotmail.com>
Co-authored-by: Gian Marco Cinalli <gm.cinalli@gmail.com>
Co-authored-by: Mirco Cau <mircocau@gmail.com>
Co-authored-by: eggermn <egger.mn@gmail.com>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
Co-authored-by: anpplex <anpplex@gmail.com>
Co-authored-by: kx <yoboy.rox@gmail.com>
Co-authored-by: lkw123 <lkw20010211@gmail.com>
Co-authored-by: Hordo <hordocast@mailo.com>
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Co-authored-by: Maxent <rouaultmaxent@gmail.com>
Co-authored-by: Rémi Guerrero <remidu34070@hotmail.fr>
Co-authored-by: Sulli <susu.leduc@gmail.com>
Co-authored-by: Symness <simon@frayssines.fr>
Co-authored-by: Valentin <droidente@gmail.com>
Co-authored-by: 주서현 <adan.89lion@gmail.com>
* feat: add Peacock to Network Slider (#3545)
* feat: add tooltips to tautulli avatars (#3601)
* named service inside docker-compose.yml
* Fix permissions on ManageSliderOver
Previously, would cause a 403 error when a non-admin user opened a movie/series page
* feat: add ko language (#3619)
* style: fix prettier errors
* Update de.json
Added a german translation for
"components.Discover.RecentlyAddedSlider.recentlyAdded": "Recently Added",
* feat: select default seriesType for anime (#3627)
* feat: select default seriesType for anime
Added flexibility to set default anime series type in service settings. Now you can choose
'standard' for anime if you prefer it, making it easier to use features like searching for season
packs on Sonarr.
fix#3626
* feat: extracted translations
* feat: standard series type selector (#3628)
* feat: added a standard series type selector
* fix: moved series type property to correct interface
* feat(notif): add Pushover sound options (#2403)
Co-authored-by: Danshil Kokil Mungur <me@danshilm.com>
* chore: specify files/directories to exclude from git archives (#2184)
Co-authored-by: Danshil Kokil Mungur <me@danshilm.com>
* feat: update SameSite policy of session cookie to Lax (#3650)
* update session cookie samesite policy to lax
* set cookie samesite policy based on csrf protection setting
* fix: resolved issue with region selector and all regions value (#3652)
* docs: add RemiRigal as a contributor for code (#3653) [skip ci]
* docs: update README.md
* docs: update .all-contributorsrc
---------
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
* fix: request watchlist items sequentially to prevent bypassing quota (#3667)
* build: update node to 20.9 (#3668)
* build: do not link python for arm (#3670)
* docs: adds jellyseerr commit links
Adds jellyseerr commit links to Fallenbagel. TODO: add other contributors of jellyseerr into the
list
* update emoji for jellyseerr contributor
* Too many jellyfishes
* build: update docker ubuntu images to 22.04 (#3671)
* build: use node 18 (#3675)
* build: add global node-gyp for arm (#3676)
* build: correct node version in snapcraft (#3678)
* chore(translations): fixed watchlist translation so its generic for all media servers
* revert(jellyfinapi): reverts #450 as it broke library sync support for local accounts using LDAP
Reverted #450 which addressed the issue where the automatic grouping enabled libraries were not
functioning correctly. The previous fix inadvertently caused a bug for Jellyfin LDAP users,
preventing library syncing with a 401 error. Reverting this change temporarily until support for
automatic library grouping can be re-implemented
fix#489
* fix(langcode): fixes the ukranian language code
This changes the ukranian language code from ua to uk to fit to ISO 639-1 format that the tmdb api
uses.
fix#504
* fix(jellyfinlogin): use externalHostname if set for forgetpassword link
Implemented dynamic URL generation for the 'Forgot Password' feature. If jellyfin external hostname
is set, the URL is generated based on it; otherwise, jellyfin hostname is used as the base URL. The
URL includes additional parameters to handle emby support.
fix#199, fix#424, re #212
* ci(build): changes the base of the snap build to fix compatibility issues with GLIBC version
Changes base to core20 in an attempt to fix the error `node: /lib/x86_64-linux-gnu/libc.so.6:
version `GLIBC_2.28' not found (required by node)` during snap builds
* build(snap): changes node-js plugin to npm plugin for Core20
In an attempt to fix version compatibility of `GLIBC_2.28` base was upgraded from core18 to core20.
Node-js plugin was deprecated for core20 and instead npm plugin has to be used. As npm plugin cannot
specify the package manager to use, yarn is now installed globally during the override-build phase.
* build(snap): fix path for the build-environment
* build(snap): use nil package and try to setup node in override-build step
* build(snap): add yarn install before yarn build
* build(snap): add frozen-lockfile and increase network timeout for yarn install
* build(snap): remove `rm .gitbook.yaml` line to fix snap builds
* fix(watchlist): discover local watchlist item display and profile local watchlist slider visibility
Previously when you expand the `Your Watchlist` slider from the discover page to see all your
watchlist items, you only see the first 20 items. This commit fixes that so you can see all your
local watchlist items when you expand that slider. In addition, this commit also fixes the visiblity
of profile watchlist slider for local watchlists
* refactor: cleans up local watchlist logic and fixes translation extractions
* fix: fix the translations for watchlist permissions and userSettings page
* docs: [skip ci] change contributor settings to add both upstream and downstream contributors
This commit changes the contributorrc for allcontributors bot so we can add both overseerr and
jellyseerr contributors to the list
* docs: update README to accomodate both upstream and downstream contributor list seperately
* docs: [skip ci] add in current project allcontributors only
As allcontributors bot does not support having two lists of allcontributors seperately,
unfortunately had to remove upstream contributors from the .all-contributorsrc. However, they will
be added manually by @Fallenbagel to the README.md
* docs: [skip ci] removed contributor block so all-contributors can handle it
* docs: update README.md
* docs: update .all-contributorsrc
* docs: update README.md
* docs: update .all-contributorsrc
* chore: [skip ci] added skipCi to all-contributorsrc temporarily
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* Add more detailed installation instructions
* Update README.md
* ci(build): implement github repository container images
fix#370
* ci(build): hard-coded repository owner name for lowercase naming
* build: revert the hardcoded tag
* ci: github repository container lowercase tag
* update .github folder templates
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* Adding Jellyfin Setting for Custom "Forgot Password" URL
Adding Jellyfin Setting for Custom "Forgot Password" URL. Useful in cases where you are using a custom authentication provider such as the LDAP plugin, Authelia, lldap, or any other external auth scheme with its own password reset page.
* Making the new setting optional
* Fixing code formatting, prettier
* fix(watchlist): added missing prop for watchlist item removal button in watchlist page
This fix resolves a Watchlist page bug where the isAddedToWatchlist prop was missing.
Without this prop, the removal button for watchlist items was absent. In this fix, the
isAddedToWatchlist prop is re-added and set to true, allowing users to remove items from
their local watchlist directly on the Watchlist page.
* fix: ensure watchlist updates are immediately reflected
This fix addresses an issue on the Watchlist page where changes to the watchlist were not
immediately reflected. Previously, after removing an item from the watchlist, the update
required a full page reload or revalidating upon focusing the window or tab. With this fix,
the watchlist now correctly mutates and updates in real-time, providing a seamless user
experience.
* fix: correct width issue in datepicker of filterSliderOver
This commit addresses a rendering issue with the date picker component.
The problem was traced back to a misconfiguration in the tailwindcss settings, resulting in an
incorrect width for the popup.
fix#415
* refactor: jellyfin scan jobs moved from server/jobs to server/libs/scanners
* fix: disable seasonfolder option in sonarr for jellyfin/Emby users
This disables seasonfolder option in sonarr for jellyfin/emby users as physical seasonFolders are
necessary as virtualFolders are ignored since #126fix#575
* refactor: clean out commented code
* docs: reverted two unrelated files to its develop branch state
* fix: fix german translation for "components.Discover.FilterSlideover.tmdbuservotecount"
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* Link related projects in README.md
* Add more badges and weblate status
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* update weblate link
* move weblate details to contributing.md
* add translation percentage badge
* update discord badge
* docs: fix weblate link
* feat: added Letterboxd links for the external link blocks for movies
* ci(preview): added arm support for preview tags
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
* fix(jellyfin.ts): process virtual seasons if they have non virtual episodes (#639)
All seasons are processed now, but those without any episodes are filtered out again as unavailable.
This fixes in issue where jellyfin reports all seasons as virtual
* feat(job): media availability support for jellyfin/emby (#522)
* feat(job): media availability support for jellyfin/emby
This refactors the media availability job to support jellyfin/emby for media removal automatically.
Needs further testing on 4k items (as I have not yet tested with 4k), however, non-4k items work as
intended.
fix#406, fix#193, fix#516, fix#362, fix#84
* fix(availabilitysync): use the correct 4k jellyfinMediaId
* fix: season mapping for plex
Fixes a bug introduced with this PR where media availability sync job removed the seasons from all
series even when those seasons existed
* refactor: jellyfin authentication and add gravatar for missing avatars of jellyfin users (#664)
* refactor: jellyfin authentication
This refactor standardizes the authentication approach in Jellyfin to mirror the method employed in
Plex authentication for consistency
* feat: use gravatar for jellyfin users' with missing jellyfin avatars
* Fixed a typo (#654)
Just a simple typo fix.
* docs: add trackmastersteve as a contributor for doc (#665)
* docs: update README.md [skip ci]
* docs: update .all-contributorsrc [skip ci]
---------
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
* fix: typos on readme (#655)
* Fix typo
* Apply suggestions
* Apply suggestions
---------
Co-authored-by: Fallenbagel <98979876+Fallenbagel@users.noreply.github.com>
* fix(embyauth): remove the accidentally added mediaServerType change code from another PR (#684)
Accidentally added the mediaServerType change code from another feature branch/PR during the auth
logic refactor that broke emby logins.
* fix(jellyfinscanner): conditionally assign the jellyfinMediaId and jellyfinMediaId4k (#686)
Previously `jellyfinMediaId4k` was being assigned even if 4k server was not setup or even if 4k
content were not present. This fixes it by conditionally assigning the jellyfinMediaId and
JellyfinMediaId4k
fix#681
* feat: check if first jellyfin user is admin (#635)
* feat: merge check if first jellyfin user is admin
re #610
* refactor(i18n): extract admin error message into en locale
---------
Co-authored-by: fallenbagel <98979876+Fallenbagel@users.noreply.github.com>
* refactor(i18n): change the user-facing identity of the application in i18n (#703)
* fix: nullable type for jellyfinMediaId(4k) (#702)
The jellyfinMediaId(4k) properties were inferred as string | undefined, causing them to be set to
undefined when assigning null. This prevented the media from being saved correctly to the SQLite
database, as it doesn't accept undefined values. This resolves the availabilitySync job issue where
the "play on" button wasn't being removed for all media server types.
fix#668
* fix(jellyfinapi): refactors jellyfin library sync to support automatic grouping and collections (#700)
* fix(jellyfinapi): refactors jellyfin library sync to support automatic grouping and collections
Previously, #450 added support for automatic library grouping. However, some users reported that
they were getting a 401 when using custom authentication such as LDAP. Therefore, that PR was
reverted (#524). This PR adds back the support for automatic library grouping for jellyfin
authentication users using the endpoint `/Library/MediaFolders` and fallsback to User views endpoint
if they're unable to sync the libraries (some, not all LDAP users had issues. Some reported that it
worked despite having custom authentication). Once it falls back to user views endpoint for syncing,
now it will detect if automatic grouping is enabled giving a warning that its not supported when
using some custom authentication methods. This PR also fixed collection syncing by expanding the
boxsets when syncing.
fix#256, fix#489, re #450, #524, fix#515, fix#474, fix#473
* refactor(i18n): adds the suffix "jellyfin" to jellyfin library sync message keys
* refactor(i18n): extract translation keys
* refactor: remove console logs
* refactor: remove more console logs
* refactor: apply review suggestions
* chore: fix prettier failing on .github file
* feat: jellyseerr makeover (#715)
---------
Co-authored-by: Daniel Fendrich <daniel.fendrich@3-s.at>
Co-authored-by: Weblate (bot) <hosted@weblate.org>
Co-authored-by: Developer J <jshsakura@gmail.com>
Co-authored-by: sct <sctsnipe@gmail.com>
Co-authored-by: 김상구 (Studio) <spair0039@gmail.com>
Co-authored-by: 최효근 <gyrms7532@gmail.com>
Co-authored-by: BeardedWatermelon <periklis.karantonis@gmail.com>
Co-authored-by: Dzonkins <nikoladjordjevic.ns@gmail.com>
Co-authored-by: Angel <adelpozoman@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Bunduc Dragos <bunduc.dragos@gmail.com>
Co-authored-by: DragoPrime <emperordrago@gmail.com>
Co-authored-by: Kirill Zhukov <siper13@gmail.com>
Co-authored-by: Anders Ecklon <aecklon@gmail.com>
Co-authored-by: Emil Nymann <ens@hiper.dk>
Co-authored-by: ZsiGiT <zsigit@gmail.com>
Co-authored-by: Bas <bashankamp+weblate@gmail.com>
Co-authored-by: COTMO <moermantom1@gmail.com>
Co-authored-by: Kobe <kobaubarr@gmail.com>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Rafael Vieira <rafaelvieiras@pm.me>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Co-authored-by: Marek <marek@pavelka.xyz>
Co-authored-by: Smexhy <roman.bartik@icloud.com>
Co-authored-by: Fhd-pro <juve.11@msn.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Furkan Çakar <cakar.55.furkan@gmail.com>
Co-authored-by: Juli <snowjuli@protonmail.com>
Co-authored-by: Leo Schultheiss <leoschultheiss@yahoo.de>
Co-authored-by: inkarnation <94744834+inkarnation@users.noreply.github.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Topfield99 <timmiesonne@live.se>
Co-authored-by: PovilasID <povilas.sidaravicius@gmail.com>
Co-authored-by: Maite Guix <maite.guix@gmail.com>
Co-authored-by: dtalens <databio@gmail.com>
Co-authored-by: Bruno Ševčenko <bs3vcenk@gmail.com>
Co-authored-by: Francesco <francy.ammirati@hotmail.com>
Co-authored-by: Gian Marco Cinalli <gm.cinalli@gmail.com>
Co-authored-by: Mirco Cau <mircocau@gmail.com>
Co-authored-by: eggermn <egger.mn@gmail.com>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
Co-authored-by: anpplex <anpplex@gmail.com>
Co-authored-by: kx <yoboy.rox@gmail.com>
Co-authored-by: lkw123 <lkw20010211@gmail.com>
Co-authored-by: Hordo <hordocast@mailo.com>
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Co-authored-by: Maxent <rouaultmaxent@gmail.com>
Co-authored-by: Rémi Guerrero <remidu34070@hotmail.fr>
Co-authored-by: Sulli <susu.leduc@gmail.com>
Co-authored-by: Symness <simon@frayssines.fr>
Co-authored-by: Valentin <droidente@gmail.com>
Co-authored-by: 주서현 <adan.89lion@gmail.com>
Co-authored-by: Jean Beauchamp <jean@vwdubb.com>
Co-authored-by: Ryan Cohen <ryan@sct.dev>
Co-authored-by: Eduardo <sirmartin@gmail.com>
Co-authored-by: Rick Luiken <rick-luiken@live.nl>
Co-authored-by: Br33ce <124933490+Br33ce@users.noreply.github.com>
Co-authored-by: Brandon Cohen <brandon@z3hn.dev>
Co-authored-by: TheCatLady <52870424+TheCatLady@users.noreply.github.com>
Co-authored-by: Danshil Kokil Mungur <me@danshilm.com>
Co-authored-by: RemiRigal <rigal.remi@gmail.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Athfan Khaleel <athphane@gmail.com>
Co-authored-by: Derek Paschal <dtpaschal@gmail.com>
Co-authored-by: mdll23 <m.dallinger@mailbox.org>
Co-authored-by: Janek <github@melonion.me>
Co-authored-by: Danish Humair <me@danishhumair.com>
Co-authored-by: Aleksa Siriški <31509435+aleksasiriski@users.noreply.github.com>
Co-authored-by: InvalidArgumentException <150857901+InvalidArgumentException@users.noreply.github.com>
Co-authored-by: Stephen Harris <trackmastersteve@users.noreply.github.com>
Co-authored-by: Gauvino <68083474+Gauvino@users.noreply.github.com>
* fix(jellyfinapi): refactors jellyfin library sync to support automatic grouping and collections
Previously, #450 added support for automatic library grouping. However, some users reported that
they were getting a 401 when using custom authentication such as LDAP. Therefore, that PR was
reverted (#524). This PR adds back the support for automatic library grouping for jellyfin
authentication users using the endpoint `/Library/MediaFolders` and fallsback to User views endpoint
if they're unable to sync the libraries (some, not all LDAP users had issues. Some reported that it
worked despite having custom authentication). Once it falls back to user views endpoint for syncing,
now it will detect if automatic grouping is enabled giving a warning that its not supported when
using some custom authentication methods. This PR also fixed collection syncing by expanding the
boxsets when syncing.
fix#256, fix#489, re #450, #524, fix#515, fix#474, fix#473
* refactor(i18n): adds the suffix "jellyfin" to jellyfin library sync message keys
* refactor(i18n): extract translation keys
* refactor: remove console logs
* refactor: remove more console logs
* refactor: apply review suggestions
* chore: fix prettier failing on .github file
The jellyfinMediaId(4k) properties were inferred as string | undefined, causing them to be set to
undefined when assigning null. This prevented the media from being saved correctly to the SQLite
database, as it doesn't accept undefined values. This resolves the availabilitySync job issue where
the "play on" button wasn't being removed for all media server types.
fix#668
* feat: merge check if first jellyfin user is admin
re #610
* refactor(i18n): extract admin error message into en locale
---------
Co-authored-by: fallenbagel <98979876+Fallenbagel@users.noreply.github.com>
Previously `jellyfinMediaId4k` was being assigned even if 4k server was not setup or even if 4k
content were not present. This fixes it by conditionally assigning the jellyfinMediaId and
JellyfinMediaId4k
fix#681
* refactor: jellyfin authentication
This refactor standardizes the authentication approach in Jellyfin to mirror the method employed in
Plex authentication for consistency
* feat: use gravatar for jellyfin users' with missing jellyfin avatars
* feat(job): media availability support for jellyfin/emby
This refactors the media availability job to support jellyfin/emby for media removal automatically.
Needs further testing on 4k items (as I have not yet tested with 4k), however, non-4k items work as
intended.
fix#406, fix#193, fix#516, fix#362, fix#84
* fix(availabilitysync): use the correct 4k jellyfinMediaId
* fix: season mapping for plex
Fixes a bug introduced with this PR where media availability sync job removed the seasons from all
series even when those seasons existed
All seasons are processed now, but those without any episodes are filtered out again as unavailable.
This fixes in issue where jellyfin reports all seasons as virtual
This disables seasonfolder option in sonarr for jellyfin/emby users as physical seasonFolders are
necessary as virtualFolders are ignored since #126fix#575
This commit addresses a rendering issue with the date picker component.
The problem was traced back to a misconfiguration in the tailwindcss settings, resulting in an
incorrect width for the popup.
fix#415
This fix addresses an issue on the Watchlist page where changes to the watchlist were not
immediately reflected. Previously, after removing an item from the watchlist, the update
required a full page reload or revalidating upon focusing the window or tab. With this fix,
the watchlist now correctly mutates and updates in real-time, providing a seamless user
experience.
This fix resolves a Watchlist page bug where the isAddedToWatchlist prop was missing.
Without this prop, the removal button for watchlist items was absent. In this fix, the
isAddedToWatchlist prop is re-added and set to true, allowing users to remove items from
their local watchlist directly on the Watchlist page.
Adding Jellyfin Setting for Custom "Forgot Password" URL. Useful in cases where you are using a custom authentication provider such as the LDAP plugin, Authelia, lldap, or any other external auth scheme with its own password reset page.
As allcontributors bot does not support having two lists of allcontributors seperately,
unfortunately had to remove upstream contributors from the .all-contributorsrc. However, they will
be added manually by @Fallenbagel to the README.md
Previously when you expand the `Your Watchlist` slider from the discover page to see all your
watchlist items, you only see the first 20 items. This commit fixes that so you can see all your
local watchlist items when you expand that slider. In addition, this commit also fixes the visiblity
of profile watchlist slider for local watchlists
In an attempt to fix version compatibility of `GLIBC_2.28` base was upgraded from core18 to core20.
Node-js plugin was deprecated for core20 and instead npm plugin has to be used. As npm plugin cannot
specify the package manager to use, yarn is now installed globally during the override-build phase.
Changes base to core20 in an attempt to fix the error `node: /lib/x86_64-linux-gnu/libc.so.6:
version `GLIBC_2.28' not found (required by node)` during snap builds
Implemented dynamic URL generation for the 'Forgot Password' feature. If jellyfin external hostname
is set, the URL is generated based on it; otherwise, jellyfin hostname is used as the base URL. The
URL includes additional parameters to handle emby support.
fix#199, fix#424, re #212
Reverted #450 which addressed the issue where the automatic grouping enabled libraries were not
functioning correctly. The previous fix inadvertently caused a bug for Jellyfin LDAP users,
preventing library syncing with a 401 error. Reverting this change temporarily until support for
automatic library grouping can be re-implemented
fix#489
* feat: select default seriesType for anime
Added flexibility to set default anime series type in service settings. Now you can choose
'standard' for anime if you prefer it, making it easier to use features like searching for season
packs on Sonarr.
fix#3626
* feat: extracted translations
* feat(lang): translated using Weblate (Korean)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 11.2% (139 of 1233 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 11.3% (139 of 1226 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 7.8% (96 of 1226 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 7.4% (91 of 1226 strings)
feat(lang): translated using Weblate (Korean)
Currently translated at 1.7% (21 of 1226 strings)
feat(lang): added translation using Weblate (Korean)
Co-authored-by: Developer J <jshsakura@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: sct <sctsnipe@gmail.com>
Co-authored-by: 김상구 (Studio) <spair0039@gmail.com>
Co-authored-by: 최효근 <gyrms7532@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ko/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Greek)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Greek)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Greek)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Greek)
Currently translated at 100.0% (1233 of 1233 strings)
Co-authored-by: BeardedWatermelon <periklis.karantonis@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/el/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Serbian)
Currently translated at 49.7% (608 of 1222 strings)
Co-authored-by: Dzonkins <nikoladjordjevic.ns@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/sr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1228 of 1228 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (Spanish)
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Angel <adelpozoman@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/es/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Romanian)
Currently translated at 33.0% (408 of 1234 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 29.7% (367 of 1234 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 27.9% (345 of 1234 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 27.8% (344 of 1233 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 27.6% (339 of 1226 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 27.4% (337 of 1226 strings)
feat(lang): translated using Weblate (Romanian)
Currently translated at 22.8% (279 of 1223 strings)
Co-authored-by: Bunduc Dragos <bunduc.dragos@gmail.com>
Co-authored-by: DragoPrime <emperordrago@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ro/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Russian)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Russian)
Currently translated at 87.4% (1069 of 1223 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kirill Zhukov <siper13@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ru/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Danish)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Anders Ecklon <aecklon@gmail.com>
Co-authored-by: Emil Nymann <ens@hiper.dk>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/da/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Hungarian)
Currently translated at 86.3% (1055 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ZsiGiT <zsigit@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/hu/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Dutch)
Currently translated at 99.4% (1226 of 1233 strings)
feat(lang): translated using Weblate (Dutch)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Dutch)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Dutch)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Dutch)
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Bas <bashankamp+weblate@gmail.com>
Co-authored-by: COTMO <moermantom1@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kobe <kobaubarr@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/nl/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.6% (1229 of 1233 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1228 of 1228 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (1213 of 1222 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.1% (1212 of 1222 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.1% (1212 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Rafael Vieira <rafaelvieiras@pm.me>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pt_BR/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Czech)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Czech)
Currently translated at 99.7% (1223 of 1226 strings)
feat(lang): translated using Weblate (Czech)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Czech)
Currently translated at 96.4% (1179 of 1222 strings)
feat(lang): translated using Weblate (Czech)
Currently translated at 89.1% (1090 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marek <marek@pavelka.xyz>
Co-authored-by: Smexhy <roman.bartik@icloud.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/cs/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Arabic)
Currently translated at 100.0% (1233 of 1233 strings)
Co-authored-by: Fhd-pro <juve.11@msn.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ar/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pt_PT/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (German)
Currently translated at 99.9% (1233 of 1234 strings)
feat(lang): translated using Weblate (German)
Currently translated at 99.5% (1228 of 1234 strings)
feat(lang): translated using Weblate (German)
Currently translated at 99.5% (1227 of 1233 strings)
feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (German)
Currently translated at 95.9% (1172 of 1222 strings)
feat(lang): translated using Weblate (German)
Currently translated at 95.9% (1172 of 1222 strings)
feat(lang): translated using Weblate (German)
Currently translated at 94.7% (1158 of 1222 strings)
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Furkan Çakar <cakar.55.furkan@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Juli <snowjuli@protonmail.com>
Co-authored-by: Leo Schultheiss <leoschultheiss@yahoo.de>
Co-authored-by: inkarnation <94744834+inkarnation@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/de/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Swedish)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 99.6% (1229 of 1233 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 100.0% (1228 of 1228 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 90.0% (1104 of 1226 strings)
feat(lang): translated using Weblate (Swedish)
Currently translated at 90.0% (1101 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Topfield99 <timmiesonne@live.se>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/sv/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Lithuanian)
Currently translated at 58.7% (725 of 1233 strings)
feat(lang): translated using Weblate (Lithuanian)
Currently translated at 58.6% (719 of 1226 strings)
feat(lang): translated using Weblate (Lithuanian)
Currently translated at 51.0% (624 of 1222 strings)
feat(lang): translated using Weblate (Lithuanian)
Currently translated at 43.9% (537 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: PovilasID <povilas.sidaravicius@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/lt/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 99.5% (1217 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 99.4% (1216 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 98.6% (1207 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 97.2% (1189 of 1223 strings)
feat(lang): translated using Weblate (Catalan)
Currently translated at 94.3% (1154 of 1223 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Maite Guix <maite.guix@gmail.com>
Co-authored-by: dtalens <databio@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ca/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Croatian)
Currently translated at 89.9% (1103 of 1226 strings)
Co-authored-by: Bruno Ševčenko <bs3vcenk@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/hr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Italian)
Currently translated at 92.2% (1138 of 1233 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 88.5% (1092 of 1233 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 85.8% (1058 of 1233 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 86.0% (1052 of 1223 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 83.2% (1017 of 1222 strings)
Co-authored-by: Francesco <francy.ammirati@hotmail.com>
Co-authored-by: Gian Marco Cinalli <gm.cinalli@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mirco Cau <mircocau@gmail.com>
Co-authored-by: eggermn <egger.mn@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/it/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1226 of 1226 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (1225 of 1226 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (1225 of 1226 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (1224 of 1226 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (1223 of 1224 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 98.0% (1198 of 1222 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 96.7% (1182 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
Co-authored-by: anpplex <anpplex@gmail.com>
Co-authored-by: kx <yoboy.rox@gmail.com>
Co-authored-by: lkw123 <lkw20010211@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/zh_Hans/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1234 of 1234 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1233 of 1233 strings)
feat(lang): translated using Weblate (French)
Currently translated at 99.9% (1225 of 1226 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1224 of 1224 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1223 of 1223 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1222 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 99.5% (1216 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 99.5% (1216 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 99.5% (1216 of 1222 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1222 of 1222 strings)
Co-authored-by: Hordo <hordocast@mailo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Co-authored-by: Maxent <rouaultmaxent@gmail.com>
Co-authored-by: Rémi Guerrero <remidu34070@hotmail.fr>
Co-authored-by: Sulli <susu.leduc@gmail.com>
Co-authored-by: Symness <simon@frayssines.fr>
Co-authored-by: Valentin <droidente@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/fr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.7% (1219 of 1222 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 89.6% (1095 of 1222 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 주서현 <adan.89lion@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/zh_Hant/
Translation: Overseerr/Overseerr Frontend
---------
Co-authored-by: Developer J <jshsakura@gmail.com>
Co-authored-by: sct <sctsnipe@gmail.com>
Co-authored-by: 김상구 (Studio) <spair0039@gmail.com>
Co-authored-by: 최효근 <gyrms7532@gmail.com>
Co-authored-by: BeardedWatermelon <periklis.karantonis@gmail.com>
Co-authored-by: Dzonkins <nikoladjordjevic.ns@gmail.com>
Co-authored-by: Angel <adelpozoman@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Bunduc Dragos <bunduc.dragos@gmail.com>
Co-authored-by: DragoPrime <emperordrago@gmail.com>
Co-authored-by: Kirill Zhukov <siper13@gmail.com>
Co-authored-by: Anders Ecklon <aecklon@gmail.com>
Co-authored-by: Emil Nymann <ens@hiper.dk>
Co-authored-by: ZsiGiT <zsigit@gmail.com>
Co-authored-by: Bas <bashankamp+weblate@gmail.com>
Co-authored-by: COTMO <moermantom1@gmail.com>
Co-authored-by: Kobe <kobaubarr@gmail.com>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Rafael Vieira <rafaelvieiras@pm.me>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Co-authored-by: Marek <marek@pavelka.xyz>
Co-authored-by: Smexhy <roman.bartik@icloud.com>
Co-authored-by: Fhd-pro <juve.11@msn.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Furkan Çakar <cakar.55.furkan@gmail.com>
Co-authored-by: Juli <snowjuli@protonmail.com>
Co-authored-by: Leo Schultheiss <leoschultheiss@yahoo.de>
Co-authored-by: inkarnation <94744834+inkarnation@users.noreply.github.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Topfield99 <timmiesonne@live.se>
Co-authored-by: PovilasID <povilas.sidaravicius@gmail.com>
Co-authored-by: Maite Guix <maite.guix@gmail.com>
Co-authored-by: dtalens <databio@gmail.com>
Co-authored-by: Bruno Ševčenko <bs3vcenk@gmail.com>
Co-authored-by: Francesco <francy.ammirati@hotmail.com>
Co-authored-by: Gian Marco Cinalli <gm.cinalli@gmail.com>
Co-authored-by: Mirco Cau <mircocau@gmail.com>
Co-authored-by: eggermn <egger.mn@gmail.com>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
Co-authored-by: anpplex <anpplex@gmail.com>
Co-authored-by: kx <yoboy.rox@gmail.com>
Co-authored-by: lkw123 <lkw20010211@gmail.com>
Co-authored-by: Hordo <hordocast@mailo.com>
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Co-authored-by: Maxent <rouaultmaxent@gmail.com>
Co-authored-by: Rémi Guerrero <remidu34070@hotmail.fr>
Co-authored-by: Sulli <susu.leduc@gmail.com>
Co-authored-by: Symness <simon@frayssines.fr>
Co-authored-by: Valentin <droidente@gmail.com>
Co-authored-by: 주서현 <adan.89lion@gmail.com>
* fix: Include all defaults in payload
* style(src/components/settings/notifications/notificationswebhook/index.tsx): prettier format
format changes from previous commit using prettier. line length requirement now met.
* fix(server/lib/settings.ts): update default settings for first install
* fix: handle issue causing incorrect media to change back to unknown
* fix: prevent start if plex client is unavailable
* fix: initialize radarr and sonarr clients before the scan starts
* fix: compensate for multiple *arr servers
* fix: added a more reliable season lookup
* refactor: modified tuples to increase code readability
* fix: importing friends
update checkUserAccess to use getUsers
* refactor(server/api/plextv.ts): clean up
removed unused getFriends function, and its interface.
renamed friends variable.
* Make a (shallow) copy of radarr/sonarr tags into a request before adding user tags
* Undo random formatting changes
* more undoing formatting changes
* Fix undefined case.
* Prettier format
* feat: auto tagging requested media with username
Relating to discussion: https://github.com/sct/overseerr/discussions/3313
Adding an option to the Radarr and Sonarr service to enable automatic tagging
with the username requesting the media.
Current format, to reduce tag clutter if a user changes displayname:
`[user.id] - [user.displayName]`
* fix: modified new secondary tip language
---------
Co-authored-by: Brandon Cohen <brandon@z3hn.dev>
* refactor: decoupled PTR by removing import and creating new touch logic
* fix: overscroll behavior on mobile is now prevented on the y axis
* feat: added shadow effects to icon
* fix: modified cypress test
* fix: added better scroll lock functionality
* fix: hide icon if scroll value is negative
* fix: changed to allow usage on all touch devices
* fix: added extra check for unmonitored movies in radarr
* feat: created new radarr/sonarr routes to grab existing series data
* refactor: updated job routes to check by external service id
* fix: season check will now also look at episode file count
This PR disables availability sync temporarily as the current one does not have jellyfin/emby sync
ported into it. This would ensure that jellyseerr does not bug out and start removing availability
from media despite it being available on jellyfin/emby/*arr as well as their requests.
Currently when display specials within season is enabled, it increases the indexed episode count of
the season. This is a problem due to the way our jellyfin sync works as it requires total standard
episodes to be equal to season episode count for the `AVAILABLE` badge for that season. However,
when the display specials within season is enabled, the scan sets that season as `PARTIALLY
AVAILABLE`. This workaround fixes this behaviour. In addition, this fix **might** also fix the
recurring availability notifications (recurring notifications might be occurring due to the scan
initially setting the season as available, thus the series is set as available and sends the
notification, but then it sets the season as partially available due to the aforementioned sync flow
until next scan and repeats.)
fix#215#176#246
* feat: add availability synchronization job
fix#377
* fix: feedback on PR
* perf: use pagination for Media Availability Synchronization job
The original approach loaded all media items from the database at once. With large libraries, this
could lead to performance issues. We're now using a paginated approach with a page size of 50.
* feat: updated the availability sync to work with 4k
* fix: corrected detection of media in plex
* refactor: code cleanup and minimized unnecessary calls
* fix: if media is not found, media check will continue
* fix: if non-4k or 4k show media is updated, seasons and request is now properly updated
* refactor: consolidated media updater into one function
* fix: season requests are now removed if season has been deleted
* refactor: removed joincolumn
* fix: makes sure we will always check radarr/sonarr to see if media exists
* fix: media will now only be updated to unavailable and deletion will be prevented
* fix: changed types in Media entity
* fix: prevent season deletion in preference of setting season to unknown
---------
Co-authored-by: Jari Zwarts <jari@oberon.nl>
Co-authored-by: Sebastian Kappen <sebastian@kappen.dev>
* fix(ui): remove opacity classes from transition enter and leave props
The flickering was caused by the opacity classes in the `leave` prop to take effect as the
transition ends; when the `leaveTo` prop classes are no longer applied, but the `leave` prop classes
are still applied.
* fix(ui): resolve transition issues for all components
1. Remove opacity classes from `enter` and `leave` props
2. Fix some class name typos
3. Remove transform classes since those are automatically applied as from TailwindCSS v3.0
4. Narrow down `transition` classes to only the properties being transitioned in Transition components
* fix: added a refresh interval if download status is in progress
* refactor: switched to a function instead of useEffect
* feat: added editable download sync schedule
CDNs such as Cloudflare bypass their cache if cookies are set in the response.
clearCookies
middleware removes the header before imageproxy serves the image.
* fix(build): use env variable to login with snapcraft 7
* refactor(build): replace deprecated set-output command in GHA
* fix(build): use correct environment variable for output
* style(build): run prettier
* docs(installation): add PORT env variable to Docker CLI & Docker Compose examples
* docs(installation): fix typo
* docs(installation): clarify hint about named volumes for windows installation example
Added missing German translations and fixed some spelling mistakes.
Changed some German translations to match informal address of user.
Unification of wordings like "Episoden" and "Folgen".
* fix: series would show an empty season on season list or tv request modal
* fix: request more would show even if all requestable seasons are already requested
* fix: will check if request or season length is longer
* fix(deps): update dependency @heroicons/react to v2
* fix: update imports and fix icon name changes for heroicons
* fix: also update MiniStatusBadge to use new check icon
* fix: update last place with old import
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: sct <ryan@sct.dev>
Jellyfin allows combined episodes, like `S01E01-E02`,
but seasons containing such episodes are only recognized
as `Partially Available`. This commit should fix that.
* fix(ui): hide available media on person page
* fix(ui): set correct label for image cache settings
* fix(ui): disable status badge tooltip for collections
* fix(ui): replace empty space when no episodes in season
* fix: suggested changes
* fix(jobs): set watchlist sync to short interval
* chore: run i18n:extract
* fix: suggested changes
The updated `next.js` dependency has a new regex match in the code for `/^\/_next\/data\//`.
This `sub_filter` creates invalid regex `/^\/overseerr/_next\/data\//`
```nginx
sub_filter '/_next' '/$app/_next';
```
It needs to be updated to substitute the correct the regex `/^\/overseerr\/_next\/data\//`
```nginx
sub_filter '\/_next' '\/$app\/_next';
sub_filter '/_next' '/$app/_next';
```
if all seasons are requested for a TV show, show each indivdual season badge. This prevents the
admin from needing to open a second tab / navigate to see how many seasons / what seasons have been
requested.
* feat(logs): add search filter
* refactor(logs): move loading spinner inside log viewer
Inputting text in the search bar on the logs page would refresh the page
losing focus on the search bar.
This moves the loading spinner inside the log viewer, so that it is not
as disruptive as it would
* fix(logs): escape string for search filter
* chore: rebase
* fix(logs): suggested changes
* feat: pull down to refresh functionality
Custom pull down to refresh added to replace the default browser pull down to refresh. This will
allow you to manually reload the page if you are using it as a PWA.
* test: update test to check api call correctly
changed api call for test and made sure it pulls down all the way to trigger refresh
* fix: changed positioning of pull to refresh
Refresh indicator now has absolute positioning and will prevent the top edge from pulling down.
* fix(jobs): reset job schedule edit modal values when closed
* feat(jobs): show job's current frequency
* fix(jobs): reset job schedule edit modal values when cancelled
* chore: rebase
* refactor(jobs): use reducer instead of several react states
* fix(jobs): reset modal state when opening instead of closing the modal
This prevents the modal state from glitching when saving/closing the modal
* feat(jobs): parse job schedule cron string
unavailable locale will fallback to english
* feat(lang): translated using Weblate (French)
Currently translated at 99.4% (1067 of 1073 strings)
feat(lang): translated using Weblate (French)
Currently translated at 97.1% (1040 of 1071 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/fr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (1063 of 1071 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pt_BR/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (1083 of 1085 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.6% (1081 of 1085 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1073 of 1073 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.4% (1067 of 1073 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.5% (1066 of 1071 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/zh_Hant/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1073 of 1073 strings)
feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1073 of 1073 strings)
feat(lang): translated using Weblate (German)
Currently translated at 99.6% (1067 of 1071 strings)
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/de/
Translation: Overseerr/Overseerr Frontend
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: Ben <ben.david.wallner@gmail.com>
* feat(perms): add new permission for viewing recently added media
* test: update login test to check for Trending instead of Recently Added
* fix: avoid conflict with new watchlist perms
The delete user modal will now show the user that is being deleted and the delete button will now
ask you to confirm deletion similar to the delete request button.
* build(snap): try re-enabling snap workflow
* build: try adding a safe directory exception?
* build(snap): disable cypress binary install
* build(snap): add yarnrc to force frozen lockfile and timeout arguments
* build(snap): add back in release snap workflow
* build(snap): revert back to only running on dev branch
Manual scan in setup says "Jellyfin will scan your Jellyfin's server" and same with emby, so I
replaced jellyfin with jellyseerr. And also added emby to login page
Fixed translation issue where it showed as import {mediaServerName} user as it was using the same
variable both inside the plex import modal and also outside in userlist on the button
Fixes jellyfin forgot password as it had a wrong url that lead to an empty page and also adds in
emby forgot password link if the environmental variable is set
fix#99
TMDB API would only return 40 results and the recommendations page expected more. This would cause
an infinite amount of network requests. A limit was implemented to specifically to solve this
problem
* fix: fixed recommendations page causing infinite network requests to tmdb api
TMDB API would only return 40 results and the recommendations page expected more. This would cause
an infinite amount of network requests. I set a limit specifically for this solving the problem.
fix#2710
* fix(tautulli): fetch additional user history as necessary to return 20 unique media
* refactor: rename var for clarity
* refactor: make single DB query for recently watched media
* fix: resolve query builder weirdness
* refactor: use find instead of qb
* refactor: minor refactor
* fix: also find 4K rating keys
* feat: if local sign-in disabled, verify Plex server access during auth for existing users
* fix: disable local/password login by default
* fix: set localLogin to disabled in getInitialProps
* fix: verify Plex server access on local logins as well
* feat(lang): translated using Weblate (Japanese)
Currently translated at 46.5% (485 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ja/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 62.6% (652 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 50.7% (528 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 16.3% (170 of 1041 strings)
feat(lang): added translation using Weblate (Albanian)
Co-authored-by: Denis Çerri <deniscerri3@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: sct <sctsnipe@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/sq/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1041 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nackophilz <zrv4flra@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/fr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Polish)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Polish)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Polish)
Currently translated at 100.0% (1041 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: tomgacz <tomgacz@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pl/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 98.5% (1026 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pt_BR/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Italian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 99.8% (1039 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Simone Chiavaccini <mazzetta86@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/it/
Translation: Overseerr/Overseerr Frontend
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: Denis Çerri <deniscerri3@gmail.com>
Co-authored-by: sct <sctsnipe@gmail.com>
Co-authored-by: Nackophilz <zrv4flra@anonaddy.me>
Co-authored-by: tomgacz <tomgacz@gmail.com>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Co-authored-by: Simone Chiavaccini <mazzetta86@gmail.com>
* feat(lang): translated using Weblate (Serbian)
Currently translated at 49.9% (518 of 1038 strings)
feat(lang): translated using Weblate (Serbian)
Currently translated at 47.3% (492 of 1038 strings)
Co-authored-by: Dalibor Radovanović <darkobg@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/sr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1038 of 1038 strings)
feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1038 of 1038 strings)
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Ben Wallner <ben.david.wallner@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/de/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1038 of 1038 strings)
feat(lang): translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1038 of 1038 strings)
feat(lang): translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1038 of 1038 strings)
feat(lang): translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1038 of 1038 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: exentler <gurandsrud@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/nb_NO/
Translation: Overseerr/Overseerr Frontend
Co-authored-by: Dalibor Radovanović <darkobg@gmail.com>
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: exentler <gurandsrud@gmail.com>
* feat: media/user watch history data via Tautulli
* fix(frontend): only display slideover cog button if there is media to manage
* fix(lang): tweak permission denied messages
* refactor: reorder Media section in slideover
* refactor: use new Tautulli stats API
* fix(frontend): do not attempt to fetch data when user lacks req perms
* fix: remove unneccessary get_user requests
* feat(frontend): display user avatars
* feat: add external URL setting
* feat: add play counts for past week/month
* fix(lang): tweak strings
Co-authored-by: Ryan Cohen <ryan@sct.dev>
* feat(frontend): open media management slideover on status badge click
* fix(frontend): use Link component for in-app badge links
* fix: check for query param value of '1'
* fix: correct query param check
* fix: available badges should still link to Plex
* build(deps): bump dependencies
* build(deps): bump next to 12.0.8
* build(deps): bump swr to 1.1.2
* build(deps): bump more dependencies
* build(deps): bump husky to 7.0.4
* fix: remove user list button outlines
* build(deps): bump dependencies again
* build(deps): bump dependencies once more
* docs(contrib): clarify when to squash commits
* docs(support): ask for more details when requesting support
* docs(install): specify more container details
* docs(contrib): suggested changes
* fix(notif): show event in pop up notification for slack
fix#2408
* fix(notifs): suggested changes
* fix(notif): add fallback text to slack embed builder
Co-authored-by: Ryan Cohen <ryan@sct.dev>
* fix(frontend): theme-color meta tag
* fix(frontend): add theme-color to offline.html
* fix(frontend): reorder application-name meta tag instead
* fix(lang): regenerate strings
* refactor: optimize Trakt logo SVG
* feat(api): allow importing of only selected Plex users
* feat(frontend): modal for importing Plex users
* feat: add alert if 'Enable New Plex Sign-In' setting is enabled
* refactor: fetch all existing Plex users in a single DB query
Co-authored-by: Ryan Cohen <ryan@sct.dev>
* feat(search): search by id
This adds the ability to search by ID (starting with TMDb ID).
Since there doesn't seem to be way of searching across movies, tv and persons,
I have to search through all 3 and use the first one in the order: movie -> tv -> person
Searching by ID is triggered using a 'prefix' just like in the *arrs.
* fix: missed some refactoring
* feat(search): use locale language
* feat(search): search using imdb id
* feat(search): search using tvdb id
* fix: alias type import
* fix: missed some refactoring
* fix(search): account for id being a string
* feat(search): account for movies/tvs/persons with the same id
* feat(search): remove non-null assertion
Co-authored-by: Ryan Cohen <ryan@sct.dev>
* fix: order collection parts by release date
* feat(frontend): add posters & release years to collection request modal
* fix(frontend): wrap movie titles in collection request modal
* feat(ui): allow admins to edit & accept request from request modal
This changes the "Edit Request" button in the advanced request modal to "Edit & Accept Request"
since the only thing an admin would do next is to accept the request.
The button would stay the same for users without the manage request permissions;
users who are editing their own requests or requesting content.
* feat(ui): suggested changes
* feat: add quotas, advanced options, and toggles to collection request modal
* fix: use correct requiredquota strings
* refactor: clean up collection part request status logic
* revert: undo changes to effect dependencies
* fix(lang): tweak TV request modal request button strings
* fix: don't try to fetch other users' quotas without MANAGE_USERS perm
* feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (992 of 992 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: dtalens <databio@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ca/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Danish)
Currently translated at 99.1% (984 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 99.1% (984 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 99.1% (984 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 90.7% (900 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 88.9% (882 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 72.1% (716 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 56.9% (565 of 992 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Simon Thyregod <p2v2w8ar@simon.thyregod.eu>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/da/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 90.7% (900 of 992 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 90.6% (899 of 992 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/zh_Hans/
Translation: Overseerr/Overseerr Frontend
Co-authored-by: dtalens <databio@gmail.com>
Co-authored-by: Simon Thyregod <p2v2w8ar@simon.thyregod.eu>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
* fix(api): fix requestedBy logic in request edits
* fix(frontend): do not display empty advanced request options box
* fix(frontend): set max height on modal backdrop
* fix: users should always be able to view their own issues
* fix: apply route guards to issues pages instead
* fix(api): only allow users w/ issue perms to edit comments / delete issues
* fix(frontend): more issues-related fixes
* fix: permission VIEW_ISSUES is also sufficient for viewing issues in slideover
* fix(frontend): only display issue notif types user is eligible to receive
* fix: don't display issues block in slideover if no open issues
* fix: move year out of link in issue details header
* fix: use 'view' global string for issue block button
* fix: issue/request/user list sort options
* feat(notif): add Pushbullet and Pushover agents to user notification settings
* docs(notif): add "hint" about user notifications to Pushbullet and Pushover pages
* fix: regenerate DB migration
* fix(lang): string edits
* fix: correct notif type ordering
* fix(lang): a few more edits
* fix(frontend): align & wrap media attributes properly
* fix(lang): use consistent cache names
* fix(email): do not attempt to display logo if app URL not configured
* fix(email): prevent Gmail from turning usernames with periods into hyperlinks
* fix(email): fix(email): use displayName instead of username/plexUserName and improve Gmail link fix
* feat(ui): link processing/requested status badges to service URL where available
* refactor: add URL prop to Badge component
* fix(css): tweak font weight of media rating values and request card link hover effect
* fix: only set StatusBadge serviceUrl for admins
* feat(servarr): auto fill base url when testing service if missing
This will fill the base URL of the *arr service only if it's missing and the base URL hasn't been
provided beforehand
* fix(servarr): replace redundant check
* fix(servarr): suggested changes
* feat: dynamically fetch login screen backdrop images
* fix: remove media check from backdrops endpoint
* fix: remove mapping and work with TMDb data directly
* feat(jobs): backend implementation
* feat(jobs): initial frontend implementation
* feat(jobs): store job settings as Record
* feat(jobs): use heroicons/react instead of inline svgs
* feat(jobs): use presets instead of cron expressions
* feat(jobs): ran `yarn i18n:extract`
* feat(jobs): suggested changes
- use job ids in settings
- add intervalDuration to jobs to allow choosing only minutes or hours for the job schedule
- move job schedule defaults to settings.json
- better TS types for jobs in settings cache component
- make suggested changes to wording
- plural form for label when job schedule can be defined in minutes
- add fixed job interval duration
- add predefined interval choices for minutes and hours
- add new schema for job to overseerr api
* feat(jobs): required change for CI to not fail
* feat(jobs): suggested changes
* fix(jobs): revert offending type refactor
* docs: improve Docker documentation
* docs: suggested changes
* docs: minor formatting changes
* docs: add Doplarr to list of third-party integrations
* docs: rename docker run tab
* docs: add link to official Docker CLI docs
* docs: minor edits
* feat: display release dates for theatrical, digital, and physical release types
* fix(ui): use disc icon for physical release
* style: reformat to make new version of Prettier happy
Thanks for taking the time to fill out this bug report!
Please note that we use GitHub issues exclusively for bug reports and feature requests. For support requests, please use our other support channels to get help.
- type:textarea
id:description
attributes:
label:Description
description:Please provide a clear and concise description of the bug or issue.
validations:
required:true
- type:input
id:version
attributes:
label:Version
description:What version of Jellyseerr are you running? (You can find this in Settings → About → Version.)
validations:
required:true
- type:textarea
id:repro-steps
attributes:
label:Steps to Reproduce
description:Please tell us how we can reproduce the undesired behavior.
placeholder:|
1. Go to [...]
2. Click on [...]
3. Scroll down to [...]
4. See error in [...]
validations:
required:true
- type:textarea
id:screenshots
attributes:
label:Screenshots
description:If applicable, please provide screenshots depicting the problem.
- type:textarea
id:logs
attributes:
label:Logs
description:Please copy and paste any relevant log output. (This will be automatically formatted into code, so no need for backticks.)
description:Please provide any additional information that may be relevant or helpful.
- type:checkboxes
id:terms
attributes:
label:Code of Conduct
description:By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/fallenbagel/jellyseerr/blob/develop/CODE_OF_CONDUCT.md)
options:
- label:I agree to follow Jellyseerr's Code of Conduct
Thanks for taking the time to fill out this feature request!
Please note that we use GitHub issues exclusively for bug reports and feature requests. For support requests, please use our other support channels to get help.
- type:textarea
id:description
attributes:
label:Description
description:Is your feature request related to a problem? If so, please provide a clear and concise description of the problem; e.g., "I'm always frustrated when [...]."
validations:
required:true
- type:textarea
id:desired-behavior
attributes:
label:Desired Behavior
description:Provide a clear and concise description of what you want to happen.
validations:
required:true
- type:textarea
id:additional-context
attributes:
label:Additional Context
description:Provide any additional information or screenshots that may be relevant or helpful.
- type:checkboxes
id:terms
attributes:
label:Code of Conduct
description:By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/fallenbagel/jellyseerr/blob/develop/CODE_OF_CONDUCT.md)
options:
- label:I agree to follow Jellyseerr's Code of Conduct
Is your feature request related to a problem? If so, please provide a clear and concise description of the problem. E.g., "I'm always frustrated when [...]."
#### Desired Behavior
Provide a clear and concise description of what you want to happen.
#### Additional Context
Provide any additional information or screenshots that may be relevant or helpful.
All help is welcome and greatly appreciated! If you would like to contribute to the project, the following instructions should get you started...
@@ -17,14 +17,14 @@ All help is welcome and greatly appreciated! If you would like to contribute to
1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository to your own GitHub account and [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device:
@@ -66,17 +66,17 @@ All help is welcome and greatly appreciated! If you would like to contribute to
### Contributing Code
- If you are taking on an existing bug or feature ticket, please comment on the [issue](https://github.com/sct/overseerr/issues) to avoid multiple people working on the same thing.
- If you are taking on an existing bug or feature ticket, please comment on the [issue](https://github.com/fallenbagel/jellyseerr/issues) to avoid multiple people working on the same thing.
- All commits **must** follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
- It is okay to squash your pull request down into a single commit that fits this standard.
- Pull requests with commits not following this standard will **not** be merged.
- Please make meaningful commits, or squash them.
- Please make meaningful commits, or squash them prior to opening a pull request.
- Do not squash commits once people have begun reviewing your changes.
- Always rebase your commit to the latest `develop` branch. Do **not** merge `develop` into your branch.
- It is your responsibility to keep your branch up-to-date. Your work will **not** be merged unless it is rebased off the latest `develop` branch.
- You can create a "draft" pull request early to get feedback on your work.
- Your code **must** be formatted correctly, or the tests will fail.
- We use Prettier to format our code base. It should automatically run with a Git hook, but it is recommended to have the Prettier extension installed in your editor and format on save.
- If you have questions or need help, you can reach out via [Discussions](https://github.com/sct/overseerr/discussions) or our [Discord server](https://discord.gg/overseerr).
- If you have questions or need help, you can reach out via [Discussions](https://github.com/fallenbagel/jellyseerr/discussions) or our [Discord server](https://discord.gg/ckbvBtDJgC).
- Only open pull requests to `develop`, never `master`! Any pull requests opened to `master` will be closed.
### UI Text Style
@@ -86,7 +86,7 @@ When adding new UI text, please try to adhere to the following guidelines:
1. Be concise and clear, and use as few words as possible to make your point.
2. Use the Oxford comma where appropriate.
3. Use the appropriate Unicode characters for ellipses, arrows, and other special characters/symbols.
4. Capitalize proper nouns, such as Plex, Radarr, Sonarr, Telegram, Slack, Pushover, etc. Be sure to also use the official capitalization for any abbreviations; e.g., TMDb and IMDb have a lowercase 'b', whereas TheTVDB has a capital 'B'.
4. Capitalize proper nouns, such as Plex, Radarr, Sonarr, Telegram, Slack, Pushover, etc. Be sure to also use the official capitalization for any abbreviations; e.g., IMDb has a lowercase 'b', whereas TMDB and TheTVDB have a capital 'B'.
5. Title case headings, button text, and form labels. Note that verbs such as "is" should be capitalized, whereas prepositions like "from" should be lowercase (unless as the first or last word of the string, in which case they are also capitalized).
6. Capitalize the first word in validation error messages, dropdowns, and form "tips." These strings should not end in punctuation.
7. Ensure that toast notification strings are complete sentences ending in punctuation.
@@ -97,9 +97,9 @@ When adding new UI text, please try to adhere to the following guidelines:
## Translation
We use [Weblate](https://hosted.weblate.org/engage/overseerr/) for our translations, and your help with localizing Overseerr would be greatly appreciated! If your language is not listed below, please [open a feature request](https://github.com/sct/overseerr/issues/new/choose).
We use [Weblate](https://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/) for our translations, and your help with localizing Overseerr would be greatly appreciated! If your language is not listed below, please [open a feature request](https://github.com/fallenbagel/jellyseerr/issues/new/choose).
**Jellyseerr** is a free and open source fork of Overseerr for managing requests for your media library. It integrates with your existing services, such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)**, and **[Jellyfin](https://jellyfin.org/)**!
**Jellyseerr** is a free and open source software application for managing requests for your media library.
It is a fork of [Overseerr](https://github.com/sct/overseerr) built to bring support for [Jellyfin](https://github.com/jellyfin/jellyfin) & [Emby](https://github.com/MediaBrowser/Emby) media servers!
_The original Overseerr team have been busy and Jellyfin/Emby support aren't on their roadmap, so we started this project as we wanted to bring the Overseerr experience to the Jellyfin/Emby Community!_
## Current Features
- Jellyfin support
-Easy integration with your existing services. Currently, Jellyseerr supports Sonarr and Radarr.
-Jellyfin library scan, to keep track of the titles which are already available.
- Full Jellyfin/Emby/Plex integration including authentication with user import & management
-Supports Movies, Shows and Mixed Libraries
-Ability to change email addresses for smtp purposes
- Easy integration with your existing services. Currently, Jellyseerr supports Sonarr and Radarr. More to come!
- Jellyfin/Emby/Plex library scan, to keep track of the titles which are already available.
- Customizable request system, which allows users to request individual seasons or movies in a friendly, easy-to-use interface.
- Incredibly simple request management UI. Don't dig through the app to simply approve recent requests!
- Granular permission system.
- Support for various notification agents.
- Mobile-friendly design, for when you need to approve requests on the go!
Check out our [issue tracker](https://github.com/Fallenbagel/jellyseerr/issues).
(Upcoming Features include: Multiple Server Instances, and much more!)
## Supported Architectures
Jellyseerr image support multiple architectures such as x86-64, arm64 and armv7.
**NOTE: `:arm` and `:armv7` tag has been deprecated and replaced with `:latest`.**
| **Architecture** | **Tag** |
| ---------------- | ------- |
| x86-64 | latest |
| ARM64 | latest |
| ARMv7 | latest |
With more features on the way! Check out our [issue tracker](https://github.com/fallenbagel/jellyseerr/issues) to see the features which have already been requested.
## Getting Started
Check out our dockerhub for instructions on how to install and run Jellyseerr:
#### Pre-requisite (Important)
_*On Jellyfin/Emby, ensure the `Settings > Home > Automatically group content from the following folders into views such as 'Movies', 'Music' and 'TV'` is turned off*_
### Launching Jellyseerr using Docker (Recommended)
Check out our docker hub for instructions on how to install and run Jellyseerr:
- [Yarn](https://classic.yarnpkg.com/lang/en/docs/install) (on Debian based distros, the package manager provided `yarn` is different and is a package called cmdlet. You can remove that using `apt-remove cmdlet` then install yarn using `npm install -g yarn`)
- Git
**Steps:**
1. Assuming you want the root folder for the jellyseerr source code to be cloned to `/opt`
```bash
cd /opt
```
2. Then execute the following commands to clone and checkout to the stable version
4. Now you can start jellyseerr using `yarn start` and opening http://localhost:5055 in your browser.
5. If you want to run jellyseerr as a _Systemd-service:_
- assuming jellyseerr was cloned to `/opt/`
- first create the environment file at `/etc/jellyseerr/jellyseerr.conf`
Environment file:
```
# Jellyseerr's default port is 5055, if you want to use both, change this.
# specify on which port to listen
PORT=5055
# specify on which interface to listen, by default jellyseerr listens on all interfaces
#HOST=127.0.0.1
# Uncomment if your media server is emby instead of jellyfin.
# JELLYFIN_TYPE=emby
```
- Then run the command `which node` to find your node path (assuming it's at `/usr/bin/node`)
- Then create the service file using `sudo systemctl edit jellyseerr.service` or creating and editing a file at `/etc/systemd/system/jellyseerr.service`
- You can get support on [Discord](https://discord.gg/ckbvBtDJgC).
-Bug reports and feature requests can be submitted via [GitHub Issues](https://github.com/sct/overseerr/issues).
-You can ask questions in the Help category of our [GitHub Discussions](https://github.com/fallenbagel/jellyseerr/discussions).
- Bug reports and feature requests can be submitted via [GitHub Issues](https://github.com/fallenbagel/jellyseerr/issues).
## API Documentation
You can access the API documentation from your local Jellyseerr install at http://localhost:5055/api-docs
## Community
You can ask questions, share ideas, and more in [GitHub Discussions](https://github.com/fallenbagel/jellyseerr/discussions).
If you would like to chat with other members of our growing community, [join the Jellyseerr Discord server](https://discord.gg/ckbvBtDJgC)!
Our [Code of Conduct](https://github.com/fallenbagel/jellyseerr/blob/develop/CODE_OF_CONDUCT.md) applies to all Jellyseerr community channels.
## Contributing
You can help improve Jellyseerr too! Check out our [Contribution Guide](https://github.com/fallenbagel/jellyseerr/blob/develop/CONTRIBUTING.md) to get started.
## Contributors ✨
Thanks goes to these wonderful people from Overseerr ([emoji key](https://allcontributors.org/docs/en/emoji-key)) and all those that contributed directly to Jellyseerr:
### Jellyseerr Contributors ✨
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<td align="center" valign="top" width="14.28%"><a href="https://nvds.be"><img src="https://avatars.githubusercontent.com/u/5257222?v=4?s=100" width="100px;" alt="Nicolai Van der Storm"/><br /><sub><b>Nicolai Van der Storm</b></sub></a><br /><a href="https://github.com/Fallenbagel/jellyseerr/commits?author=NicolaiVdS" title="Code">💻</a></td>
@@ -21,4 +21,4 @@ The primary motivation for starting this project was to have an incredibly perfo
Overseerr is an ambitious project. We have already poured a lot of work into this, and have a lot more to do. We need your valuable feedback and help to find and fix bugs. Also, with Overseerr being an open-source project, anyone is welcome to contribute. Contribution includes building new features, patching bugs, translating the application, or even just writing documentation.
If you would like to contribute, please be sure to review our [contribution guidelines](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md).
If you would like to contribute, please be sure to review our [contribution guidelines](https://github.com/fallenbagel/jellyseerr/blob/develop/CONTRIBUTING.md).
You can then add a jail using this filter in `jail.local`. Please see the [Fail2ban documetation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Jails) for details on how to configure the jail.
You can then add a jail using this filter in `jail.local`. Please see the [Fail2ban documentation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Jails) for details on how to configure the jail.
We do not officially support these third-party integrations. If you run into any issues, please seek help on the appropriate support channels for the integration itself!
**We do not officially support these third-party integrations.** If you run into any issues, please seek help on the appropriate support channels for the integration itself!
{% endhint %}
- [Organizr](https://organizr.app/), a HTPC/homelab services organizer
- [Heimdall](https://github.com/linuxserver/Heimdall), an application dashboard and launcher
- [LunaSea](https://docs.lunasea.app/modules/overseerr), a self-hosted controller for mobile and macOS
- [Requestrr](https://github.com/darkalfx/requestrr/wiki/Configuring-Overseerr), a Discord chatbot
- [Doplarr](https://github.com/kiranshila/Doplarr), a Discord request bot
- [Overseerr Assistant](https://github.com/RemiRigal/Overseerr-Assistant), a browser extension for requesting directly from TMDB and IMDb
- [ha-overseerr](https://github.com/vaparr/ha-overseerr), a custom Home Assistant component
- [OverCLIrr](https://github.com/WillFantom/OverCLIrr), a command-line tool
- [Overseerr Exporter](https://github.com/WillFantom/overseerr-exporter), a Prometheus exporter
**Overseerr is currently in BETA.** If you would like to help test the bleeding edge, please use the image **`sctx/overseerr:develop`**!
**Overseerr is currently in BETA.** If you would like to help test the bleeding edge, please use the image **`fallenbagel/jellyseerr:develop`**!
{% endhint %}
{% hint style="info" %}
@@ -10,25 +10,66 @@ After running Overseerr for the first time, configure it by visiting the web UI
## Docker
{% hint style="warning" %}
Be sure to replace `/path/to/appdata/config` in the below examples with a valid host directory path. If this volume mount is not configured correctly, your Overseerr settings/data will not be persisted when the container is recreated (e.g., when updating the image or rebooting your machine).
The `TZ` environment variable value should also be set to the [TZ database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) of your time zone!
{% endhint %}
{% tabs %}
{% tab title="Basic" %}
{% tab title="Docker CLI" %}
For details on the Docker CLI, please [review the official `docker run` documentation](https://docs.docker.com/engine/reference/run/).
**Installation:**
```bash
docker run -d \
--name overseerr \
-e LOG_LEVEL=debug \
-e TZ=Asia/Tokyo \
-e PORT=5055`#optional` \
-p 5055:5055 \
-v /path/to/appdata/config:/app/config \
--restart unless-stopped \
sctx/overseerr
fallenbagel/jellyseerr
```
To run the container as a specific user/group, you may optionally add `--user=[ user | user:group | uid | uid:gid | user:gid | uid:group ]` to the above command.
**Updating:**
Stop and remove the existing container:
```bash
docker stop overseerr && docker rm overseerr
```
Pull the latest image:
```bash
docker pull fallenbagel/jellyseerr
```
Finally, run the container with the same parameters originally used to create the container:
```bash
docker run -d ...
```
{% hint style="info" %}
You may alternatively use a third-party updating mechanism, such as [Watchtower](https://github.com/containrrr/watchtower) or [Ouroboros](https://github.com/pyouroboros/ouroboros), to keep Overseerr up-to-date automatically.
{% endhint %}
{% endtab %}
{% tab title="Compose" %}
{% tab title="Docker Compose" %}
**docker-compose.yml:**
For details on how to use Docker Compose, please [review the official Compose documentation](https://docs.docker.com/compose/reference/).
**Installation:**
Define the `overseerr` service in your `docker-compose.yml` as follows:
Then, start all services defined in the Compose file:
```bash
# Stop the Overseerr container
docker stop overseerr
docker-compose up -d
```
# Remove the Overseerr container
docker rm overseerr
**Updating:**
# Pull the latest update
docker pull sctx/overseerr
Pull the latest image:
# Run the Overseerr container with the same parameters as before
docker run -d ...
```bash
docker-compose pull overseerr
```
Then, restart all services defined in the Compose file:
```bash
docker-compose up -d
```
{% endtab %}
{% endtabs %}
{% hint style="info" %}
Use a 3rd party updating mechanism such as [Watchtower](https://github.com/containrrr/watchtower) or [Ouroboros](https://github.com/pyouroboros/ouroboros) to keep Overseerr up-to-date automatically.
{% endhint %}
## Unraid
1. Ensure you have the **Community Applications** plugin installed.
If using a named volume like above, you can safely ignore the warning about the `/app/config` folder being incorrectly mounted on the setup page.
To access the files inside the volume created above, navigate to `\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\overseerr-data\_data` using File Explorer.
{% hint style="info" %}
@@ -133,7 +155,7 @@ Docker on Windows works differently than it does on Linux; it runs Docker inside
**If you must run Docker on Windows, you should put the `/app/config` directory mount inside the VM and not on the Windows host.** (This also applies to other containers with SQLite databases.)
Named volumes, like in the example commands above, are automatically mounted inside the VM.
Named volumes, like in the example commands above, are automatically mounted inside the VM. Therefore the warning on the setup about the `/app/config` folder being incorrectly mounted page should be ignored.
{% endhint %}
## Linux
@@ -144,29 +166,24 @@ The [Overseerr snap](https://snapcraft.io/overseerr) is the only officially supp
Currently, the listening port cannot be changed, so port `5055` will need to be available on your host. To install `snapd`, please refer to the [Snapcraft documentation](https://snapcraft.io/docs/installing-snapd).
{% endhint %}
**To install:**
**Installation:**
```
sudo snap install overseerr
```
{% hint style="danger" %}
To install the development build, add the `--edge` argument to the above command (i.e., `sudo snap install overseerr --edge`). However, note that this version can break any moment. Be prepared to troubleshoot any issues that arise!
{% endhint %}
**Updating:**
Snap will keep Overseerr up-to-date automatically. You can force a refresh by using the following command.
```
```bash
sudo snap refresh
```
**To install the development build:**
```
sudo snap install overseerr --edge
```
{% hint style="danger" %}
This version can break any moment. Be prepared to troubleshoot any issues that arise!
If you can't find the solution to your problem here, please read [Need Help?](./need-help.md) and reach out to us on [Discord](https://discord.gg/overseerr).
If you can't find the solution to your problem here, please read [Need Help?](./need-help.md) and reach out to us on [Discord](https://discord.gg/ckbvBtDJgC).
_Please do not post questions or support requests on the GitHub issue tracker!_
{% endhint %}
@@ -20,6 +20,12 @@ A more advanced, user-friendly, and secure (if using SSL) method is to set up a
The most secure method (but also the most inconvenient method) is to set up a VPN tunnel to your home server. You would then be able to access Overseerr as if you were on your local network, via `http://LOCAL-IP-ADDRESS:5055`.
### Are there mobile apps for Overseerr?
Since Overseerr has an almost native app experience when installed as a Progressive Web App (PWA), there are no plans to develop mobile apps for Overseerr.
Out of the box, Overseerr already fulfills most of the [PWA install criteria](https://web.dev/install-criteria/). You simply need to make sure that your Overseerr instance is being served over HTTPS (e.g., via a [reverse proxy](../extending-overseerr/reverse-proxy.md)).
### Overseerr is amazing! But it is not translated in my language yet! Can I help with translations?
You sure can! We are using [Weblate](https://hosted.weblate.org/engage/overseerr/) for translations. If your language is not listed, please [open a feature request on GitHub](https://github.com/sct/overseerr/issues/new/choose).
@@ -28,7 +34,7 @@ You sure can! We are using [Weblate](https://hosted.weblate.org/engage/overseerr
You can find the changelog for your version (stable/`latest`,s or `develop`) in the **Settings → About** page in your Overseerr instance.
You can alternatively review the [stable release history](https://github.com/sct/overseerr/releases) and [`develop` branch commit history](https://github.com/sct/overseerr/commits/develop) on GitHub.
You can alternatively review the [stable release history](https://github.com/fallenbagel/jellyseerr/releases) and [`develop` branch commit history](https://github.com/fallenbagel/jellyseerr/commits/develop) on GitHub.
### Some media is missing from Overseerr that I know is in Plex!
@@ -39,7 +45,7 @@ Overseerr currently supports the following agents:
- New Plex TV
- Legacy Plex TV
- TheTVDB
- TMDb
- TMDB
- [HAMA](https://github.com/ZeroQI/Hama.bundle)
Please verify that your library is using one of the agents previously listed.
@@ -61,7 +67,7 @@ You can also perform the following to verify the media item has a GUID Overseerr
1. Go to the media item in Plex and **"Get info"** and click on **"View XML"**.
2. Verify that the media item's GUID follows one of the below formats:
4. Legacy Plex Movie agent `guid="com.plexapp.agents.imdb://tt0765446"`
@@ -82,7 +88,7 @@ Yes! Please see the [documentation for creating local users](../using-overseerr/
### Is is possible to set user roles in Overseerr?
Permissions can be configured for each user via the **User List** or their **User Settings** page. The list of assignable permissions is still growing, so if you have any suggestions, [submit a feature request](https://github.com/sct/overseerr/issues/new/choose)!
Permissions can be configured for each user via the **User List** or their **User Settings** page. The list of assignable permissions is still growing, so if you have any suggestions, [submit a feature request](https://github.com/fallenbagel/jellyseerr/issues/new/choose)!
## Requests
@@ -112,10 +118,16 @@ If you configured a URL base in Sonarr, make sure you have also configured the [
Also, check that you are using Sonarr v3 and that you have configured a default language profile in Overseerr.
Language profile support for Sonarr was added in [v1.20.0](https://github.com/sct/overseerr/releases/tag/v1.20.0) along with a new, _required_**Language Profile** setting. If series requests are failing, make sure that you have a default language profile configured for each of your Sonarr servers in **Settings → Services**.
Language profile support for Sonarr was added in [v1.20.0](https://github.com/fallenbagel/jellyseerr/releases/tag/v1.20.0) along with a new, _required_**Language Profile** setting. If series requests are failing, make sure that you have a default language profile configured for each of your Sonarr servers in **Settings → Services**.
## Notifications
### I am getting "Username and Password not accepted" when attempting to send email notifications via Gmail!
If you have 2-Step Verification enabled on your account, you will need to create an [app password](https://support.google.com/mail/answer/185833).
### The logo image in email notifications is broken!
This may be an issue with how you are proxying your Overseerr instance. A good first troubleshooting step is to verify that the [`Content-Security-Policy` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) being set by your proxy (if any) is configured appropriately to allow external embedding of the image.
For Gmail users, another possible issue is that Google's image URL proxy is being blocked from fetching the image. If using Cloudflare, overzealous firewall rules could be the culprit.
@@ -9,7 +9,7 @@ Before seeking assistance, please make sure you have first tried these following
- **Analyzing** your logs, you just might find the solution yourself!
- **Searching** the [documentation](../README.md), [installation guide](../getting-started/installation.md), and [FAQs](./faq.md).
If you still have questions after troubleshooting on your own, feel free to ask on [Discord](https://discord.gg/overseerr)! (Please review our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_CONDUCT.md) before posting.)
If you still have questions after troubleshooting on your own, feel free to ask on [Discord](https://discord.gg/ckbvBtDJgC)! (Please review our [Code of Conduct](https://github.com/fallenbagel/jellyseerr/blob/develop/CODE_OF_CONDUCT.md) before posting.)
Be sure to also include a link to your logs. (Please see [How can I share my logs?](#how-can-i-share-my-logs) below.)
@@ -19,6 +19,11 @@ Please try to include as much information as possible. A vague statement like "i
Try to answer the following questions:
- What version of Overseerr are you running? (You can find this in Settings → About → Version.)
- How did you install Overseerr? Are you using the official Docker or snap images, or images published by a third-party?
- How are you accessing Overseerr?
- Are you accessing Overseerr through your reverse proxy or via a local IP address?
- What browser are you using? What browser extensions are enabled?
- What were you trying to do, and how did you attempt it?
- What command did you enter?
- What did you click on?
@@ -37,4 +42,4 @@ Try to answer the following questions:
1. Locate the current log file at `<your Overseerr config directory>/logs/overseerr.log`.
2. Open the log file and **copy its contents** into a [**secret gist** on GitHub](https://gist.github.com/). If you upload your logs elsewhere, we may ask you to share them again via GitHub Gist.
3.**Share the link/URL to your secret gist** in the [`#support` channel in our Discord server](https://discord.gg/overseerr).
3.**Share the link/URL to your secret gist** in the [`#support` channel in our Discord server](https://discord.gg/ckbvBtDJgC).
Users can optionally configure personal notifications in their user settings.
User notifications are separate from system notifications, and the available notification types are dependent on user permissions.
{% endhint %}
## Configuration
### Access Token
[Create an access token](https://www.pushbullet.com/#settings) and set it here to grant Overseerr access to the Pushbullet API.
### Channel Tag (optional)
Optionally, [create a channel](https://www.pushbullet.com/my-channel) to allow other users to follow the notification feed using the specified channel tag.
Users can optionally configure personal notifications in their user settings.
User notifications are separate from system notifications, and the available notification types are dependent on user permissions.
{% endhint %}
## Configuration
### Application/API Token
[Register an application](https://pushover.net/apps/build) and enter the API token in this field. (You can use one of the [official icons in our GitHub repository](https://github.com/sct/overseerr/tree/develop/public) when configuring the application.)
[Register an application](https://pushover.net/apps/build) and enter the API token in this field. (You can use one of the [official icons in our GitHub repository](https://github.com/fallenbagel/jellyseerr/tree/develop/public) when configuring the application.)
For more details on registering applications or the API token, please see the [Pushover API documentation](https://pushover.net/api#registration).
|`{{notification_type}}` | The type of notification (e.g. `MEDIA_PENDING` or `ISSUE_COMMENT`) |
|`{{event}}` | A friendly description of the notification event |
| `{{subject}}` | The notification subject (typically the media title) |
| `{{message}}` | The notification message body (the media overview/synopsis for request notifications; the issue description for issue notificatons) |
| `{{image}}` | The notification image (typically the media poster) |
### User
### Notify User
These variables are for the target recipient of the notification.
|`{{notifyuser_username}}` | The target notification recipient's username |
|`{{notifyuser_email}}` | The target notification recipient's email address |
|`{{notifyuser_avatar}}` | The target notification recipient's avatar URL |
| `{{notifyuser_settings_discordId}}` | The target notification recipient's Discord ID (if set) |
| `{{notifyuser_settings_telegramChatId}}` | The target notification recipient's Telegram Chat ID (if set) |
{% hint style="info" %}
The `notifyuser` variables are not set for the following notification types, as they are intended for application administrators rather than end users:
The `notifyuser` variables are not defined for the following request notification types, as they are intended for application administrators rather than end users:
- Media Requested
-Media Automatically Approved
-Media Failed
- Request Pending Approval
-Request Automatically Approved
-Request Processing Failed
On the other hand, the `notifyuser` variables _will_ be replaced with the requesting user's information for the below notification types:
-Media Approved
-Media Declined
-Media Available
-Request Approved
-Request Declined
-Request Available
If you would like to use the requesting user's information in your webhook, please instead include the relevant variables from the [Request](#request) section below.
{% endhint %}
@@ -59,28 +64,69 @@ If you would like to use the requesting user's information in your webhook, plea
The following variables must be used as a key in the JSON payload (e.g., `"{{extra}}": []`).
-`{{request}}` This object will be `null` if there is no relevant request object for the notification.
-`{{media}}` This object will be `null` if there is no relevant media object for the notification.
-`{{extra}}`This object will contain the "extra" array of additional data for certain notifications.
@@ -8,9 +8,9 @@ The user account created during Overseerr setup is the "Owner" account, which ca
There are currently two methods to add users to Overseerr: importing Plex users and creating "local users." All new users are created with the [default permissions](../settings/README.md#default-permissions) defined in **Settings → Users**.
### Importing Users from Plex
### Importing Plex Users
Clicking the **Import Users from Plex** button on the **User List** page will fetch the list of users with access to the Plex server from [plex.tv](https://www.plex.tv/), and add them to Overseerr automatically.
Clicking the **Import Plex Users** button on the **User List** page will fetch the list of users with access to the Plex server from [plex.tv](https://www.plex.tv/), and add them to Overseerr automatically.
Importing Plex users is not required, however. Any user with access to the Plex server can log in to Overseerr even if they have not been imported, and will be assigned the configured [default permissions](../settings/README.md#default-permissions) upon their first login.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.