Compare commits

...

2432 Commits

Author SHA1 Message Date
Bogdan 2f04b037a1 Fixed nlog deprecated calls 2024-08-11 09:08:38 -07:00
Bogdan 7b87de2e93
Clear pending changes for edit import list exclusions on modal close 2024-08-11 11:53:17 -04:00
Bogdan eb2fd13509
Fixed: Overwriting query params for remove item handler (#7075) 2024-08-11 11:51:11 -04:00
Bogdan ffdb08cfe6 Fixed: Dedupe titles to avoid similar search requests 2024-08-11 08:49:22 -07:00
Mark McDowall 37c4647f24 Fix typos and improve log messages 2024-08-11 08:48:33 -07:00
Mark McDowall f7a58aab33 Align queue action buttons on right 2024-08-11 08:48:33 -07:00
Mark McDowall 4b186e894e
Fixed: Marking queued item as failed not blocking the correct Torrent Info Hash 2024-08-11 11:48:22 -04:00
kephasdev 35a2bc9403
Fix: Use indexer's Multi Languages setting for pushed releases
Closes #7059
2024-08-11 11:47:59 -04:00
Bogdan cc03ce04f1 Fixed: Formatting empty size on disk values 2024-08-11 08:46:56 -07:00
Bogdan 363f8fc347
New: Match search releases using IMDb ID if available 2024-08-11 11:46:46 -04:00
RaZaSB 0877a6718d
New: Remove all single quote characters from searches 2024-08-11 11:46:02 -04:00
Bogdan 8b253c36ea
Validation for bulk series editor 2024-08-11 11:45:15 -04:00
Bogdan e6f82270a9
Parse TVDB ID for releases from HDBits
ignore-downstream
2024-08-11 11:45:00 -04:00
Mark McDowall 813965e6a2 New: Configurable log file size limit 2024-08-11 08:44:35 -07:00
Mark McDowall 0d914f4c53 New: Add Compact Log Event Format option for console logging
Closes #7045
2024-08-11 08:44:35 -07:00
Mark McDowall ae7f73208a Upgrade nlog to 5.3.2 2024-08-11 08:44:35 -07:00
Weblate 4c86d673ea Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Ano10 <arnaudthommeray+github@ik.me>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-08-11 08:44:27 -07:00
Weblate b1527f9abb Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: iMohmmedSA <i.mohmmed.i+1@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ar/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-07-31 22:26:09 -07:00
Bogdan 291d792810
Fixed: Moving files on import for usenet clients
Closes #7043
2024-08-01 01:17:10 -04:00
Mark McDowall 9b528eb829
New: Default file log level changed to debug 2024-08-01 01:16:24 -04:00
Mark McDowall 4c0b896174 Improve messaging for for Send Notifications setting in Emby / Jellyfin
Closes #7042
2024-07-31 22:16:01 -07:00
Bogdan 4ff83f9efc
Fixed: Persist Indexer Flags for automatic imports
Revert "Fixed: Persist Indexer Flags when manual importing from queue"

This reverts commit 217611d716.
2024-08-01 01:15:36 -04:00
Bogdan 217611d716
Fixed: Persist Indexer Flags when manual importing from queue 2024-07-31 00:28:01 -04:00
Mark McDowall 1299a97579 Update React Lint rules for TSX 2024-07-30 21:27:33 -07:00
Mark McDowall 4c0de55672 Fixed: Setting page size in Queue, History and Blocklist
Closes #7035
2024-07-30 21:27:33 -07:00
Bogdan 78a0def46a
Fixed: Moving files for torrents when Remove Completed is disabled 2024-07-31 00:27:19 -04:00
Mark McDowall 11a9dcb389
New: Return downloading magnets from Transmission
Closes #7029
2024-07-31 00:26:24 -04:00
Mark McDowall 4eab168267
New: Add metadata links to telegram messages
Closes #5342
---------

Co-authored-by: Ivar Stangeby <istangeby@gmail.com>
2024-07-31 00:25:48 -04:00
Bogdan c9b5a1258a New: Title filter for Series Index 2024-07-30 21:25:10 -07:00
Mark McDowall 9127a91dfc Fixed: Allow leading/trailing spaces on non-Windows
Closes #6971
2024-07-30 21:25:00 -07:00
Weblate cc85a28ff7 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Lizandra Candido da Silva <lizandra.c.s@gmail.com>
Co-authored-by: Wolfy The Broccoly <theproviderofsolace@gmail.com>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-07-30 21:24:50 -07:00
Mark McDowall 72db8099e0 Convert System to TypeScript 2024-07-28 17:47:08 -07:00
Weblate ebc5cdb335 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translation: Servarr/Sonarr
2024-07-28 17:27:52 -07:00
Mark McDowall d6d90a64a3 Convert App to TypeScript 2024-07-28 17:27:13 -07:00
Mark McDowall d46f4b2154 Convert Utilities to TypeScript 2024-07-28 17:27:13 -07:00
Mark McDowall 76650af9fd Convert Queue to TypeScript 2024-07-28 16:59:48 -07:00
Mark McDowall 824ed0a369 Convert History to TypeScript 2024-07-28 16:59:48 -07:00
Mark McDowall ee80564dd4 Convert Blocklist to TypeScript 2024-07-28 16:59:48 -07:00
Mark McDowall 3824eff5eb New: Parse Chinese Anime that separates titles with vertical bar
Closes #7014
2024-07-28 16:59:38 -07:00
Bogdan 15e3c3efb1 Include available version in update health check 2024-07-28 16:59:32 -07:00
Stevie Robinson f2f4a98eed Fixed: Interactive Import dropdown width on mobile
Closes #7015
2024-07-28 16:59:21 -07:00
Mark McDowall bc7799139e Don't hash files in development builds 2024-07-28 16:59:21 -07:00
Bogdan 33b62a2def
New: Add TVMaze and TMDB IDs to Kodi .nfo (#7011)
Closes #6895
ignore-downstream
2024-07-28 19:59:10 -04:00
Mark McDowall 5ac6c0e651 Fix height of tags in tag inputs 2024-07-28 16:58:44 -07:00
Bogdan 60cba74c39 Bump ImageSharp to 3.1.5
https://github.com/advisories/GHSA-63p8-c4ww-9cg7
2024-07-28 16:58:39 -07:00
Bogdan 5c2c490cb2 Improve messaging for renamed episode files progress info 2024-07-28 16:58:32 -07:00
Mark McDowall 63fdf8ca8f
Cache root folders and improve getting disk space for series path roots 2024-07-28 19:58:16 -04:00
Mark McDowall e791f4b743
Fixed: Updating series path from different OS paths
Closes #6953
2024-07-28 19:57:54 -04:00
jbstark 6dd85a5af9
New: 'Seasons Monitored Status' Custom Filter to replace 'Has Unmonitored Season'
Closes #6896
2024-07-28 19:57:22 -04:00
Weblate a80f5b794b Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-07-28 16:56:09 -07:00
Weblate 578f95546b Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: marudosurdo <marudosurdo@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ja/
Translation: Servarr/Sonarr
2024-07-24 21:34:30 -07:00
ManiMatter 9a613afa35
Treat forcedMetaDL from qBit as queued instead of downloading 2024-07-25 00:33:08 -04:00
Mark McDowall 5ad3d2efcc Fixed: Don't treat SubFrench as French audio language
Closes #6995
2024-07-24 21:32:18 -07:00
Bogdan 1ad722acda
Fixed: Improve performance in Select Series Modal 2024-07-25 00:32:09 -04:00
Bogdan bde5f68142 Refresh series with recently aired episodes with TBA titles
Co-authored-by: Stevie Robinson <stevie.robinson@gmail.com>
2024-07-24 21:31:46 -07:00
Bogdan fbda2d54c7
New: Display original language on series details and search results page
Closes #6984
2024-07-25 00:31:29 -04:00
Bogdan 2a26c6722a
New: Ignore Litestream tables in Database 2024-07-25 00:30:56 -04:00
Bogdan b7dfb8999d Improve tooltip for Next Airing on series Overview 2024-07-24 21:30:27 -07:00
Bogdan 1662521d40 Fixed: Display tag list when sort by tags on series Posters 2024-07-24 21:30:27 -07:00
Weblate f8d75d174a Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dream <seth.gecko.rr@gmail.com>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2024-07-24 21:30:00 -07:00
Bogdan 80ca1a6ac2
Fixed: Editing Quality Profiles 2024-07-18 08:10:43 -07:00
Weblate f59c0b16ca Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dream <seth.gecko.rr@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translation: Servarr/Sonarr
2024-07-16 21:42:50 -07:00
Mark McDowall 0e95ba2021 New: Allow major version updates to be installed 2024-07-16 21:39:49 -07:00
Mark McDowall c023fc7008 New: Show update settings on all platforms 2024-07-16 21:39:49 -07:00
Mark McDowall 19466aa290
Fixed: Assume category path from qBittorent starting with '//' is a Windows UNC path
Radarr/Radarr#10162
2024-07-17 00:39:40 -04:00
Mark McDowall 4b5ef4907b Set default value for CustomColonReplacementFormat if not provided 2024-07-16 21:38:26 -07:00
Stevie Robinson 7b8d606a1b
New: Wrap specifications in Custom Format and Auto Tagging modals 2024-07-17 00:38:15 -04:00
diamondpete 6a4824c029
Fixed: Remove apostrophe, backtick in contractions 2024-07-17 00:36:29 -04:00
Mark McDowall 1a1c8e6c08
New: Use natural sorting for lists of items in the UI
Closes #6955
2024-07-17 00:34:43 -04:00
Mark McDowall e35b39b4b1 New: Add option to show tags on series Poster and Overview
Closes #6946
2024-07-16 21:34:25 -07:00
Mark McDowall d3f14d5f5e Fixed: Parse Chinese anime formats with reverse title order 2024-07-16 21:34:11 -07:00
Mark McDowall 06936c4f22 Fixed: Parsing of Chinese anime with ordinal number in English title 2024-07-16 21:34:11 -07:00
Mark McDowall 0a28ff84e8 Fixed: Parsing of anime with 3 digit number in middle of title 2024-07-16 21:34:11 -07:00
Bogdan 703dee9383 New: Rating votes tooltip and series filter 2024-07-16 21:33:49 -07:00
Marc Carbonell dca5239420
Remove extraneous indentation in RemoveFileExtension 2024-07-17 00:33:34 -04:00
Mark McDowall 1aaa9a14bc Bump version to 4.0.8 2024-07-15 21:36:26 -07:00
Weblate c6c37a408a Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dream <seth.gecko.rr@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translation: Servarr/Sonarr
2024-07-15 21:36:15 -07:00
Weblate ae4a97b4ae Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dream <seth.gecko.rr@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translation: Servarr/Sonarr
2024-07-15 12:07:12 -07:00
Mark McDowall 3afae968eb
Fixed: Import queue not processing after incomplete import 2024-07-15 12:03:53 -07:00
Mark McDowall c01abbf3b5 Add 'On Import Complete' for Discord notifications 2024-07-15 12:03:31 -07:00
Mark McDowall f5ccf98162 Rename 'On Upgrade' to 'On File Upgrade' 2024-07-15 12:03:31 -07:00
Mark McDowall 6afd3bd344 Bump version to 4.0.7 2024-07-14 16:44:07 -07:00
Weblate acaf5cd353 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Lizandra Candido da Silva <lizandra.c.s@gmail.com>
Co-authored-by: MattiaPell <mattiapellegrini16@gmail.com>
Co-authored-by: Rauniik <raunerjakub@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-07-14 16:43:56 -07:00
Sonarr e97e5bfe8f Automated API Docs update
ignore-downstream
2024-07-09 22:22:48 -07:00
martylukyy 678872b879
Fixed: Parsing of some Web releases 2024-07-10 01:19:07 -04:00
Mark McDowall 10e9735c1c
New: Update AutoTags on series update
Closes #6783
2024-07-10 01:02:23 -04:00
Mark McDowall 293a1bc618
New: Custom colon replacement option
Closes #6898
2024-07-10 01:02:04 -04:00
Bogdan 0c883f7886 Fixed: Removing pending release without blocklisting 2024-07-09 22:01:23 -07:00
Mark McDowall 46c7de379c New: Group updates for the same series for Kodi and Emby / Jellyfin 2024-07-09 22:00:57 -07:00
Mark McDowall a83b521766 New: 'On Import Complete' notification when all episodes in a release are imported
Closes #363
2024-07-09 22:00:57 -07:00
Bogdan 1d06e40acb New: Queued episode count for seasons in series details 2024-07-09 21:59:41 -07:00
Weblate bfcdc89f6a Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Serhii Matrunchyk <serhii@digitalidea.studio>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/uk/
Translation: Servarr/Sonarr
2024-07-09 21:59:25 -07:00
Sonarr 67943edfbc Automated API Docs update
ignore-downstream
2024-07-05 16:35:21 -07:00
Mark McDowall 04f8595498 Custom Import List improvements
Fixed: Add placeholder title for Custom Import List title
New: Support 'title' property for Custom Import List
2024-07-05 16:35:08 -07:00
Bogdan 81ac73299a
Fixed: Bulk series deletion for unmonitored series
Closes #6933
2024-07-05 19:34:56 -04:00
Mark McDowall a779a5fad2 Fixed: Parsing of anime season releases with 3-digit number in title 2024-07-05 16:34:06 -07:00
Mark McDowall bfe6a740fa Fixed: Parsing of anime releases using standard numbering
Closes #6925
2024-07-05 16:34:06 -07:00
Mark McDowall c9ea40b874 New: Parse VFI as French
Closes #6927
2024-07-05 16:34:00 -07:00
Bogdan 4ee0ae1418 Fixed: History with unknown series 2024-07-05 16:33:50 -07:00
Bogdan ac1da45ecd
Fixed: Calculate Custom Formats after user specified options in Manual Import 2024-07-05 19:33:33 -04:00
Weblate 5c327d5be3 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Lizandra Candido da Silva <lizandra.c.s@gmail.com>
Co-authored-by: MattiaPell <mattiapellegrini16@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: quek76 <quek@libertysurf.fr>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-07-05 16:31:56 -07:00
Mark McDowall 55c1ce2e3d Bump version to 4.0.6 2024-06-30 15:42:47 -07:00
Weblate fd7f0ea973 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Kshitij Burman <kburman6@gmail.com>
Co-authored-by: MattiaPell <mattiapellegrini16@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: damienmillet <contact@damien-millet.dev>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2024-06-30 15:42:41 -07:00
Bogdan d5dff8e8d6
Fixed: Trimming disabled logs database
Closes #6918
2024-06-30 13:49:41 -04:00
Bogdan 8099ba10af
Fixed: Already imported downloads appearing in Queue briefly 2024-06-30 13:47:00 -04:00
Mark McDowall 143ccb1e2a Remove seriesTitle from EpisodeResource
Closes #6841
2024-06-28 06:22:10 -07:00
Mark McDowall 29480d9544 Fixed: Don't use cleaned up release title for release title 2024-06-28 06:22:04 -07:00
Mark McDowall 6de536a7ad Fixed: Limit Queue maximum page size to 200
Closes #6899
2024-06-26 09:45:43 -07:00
Mark McDowall bce848facf Fixed: Reprocessing items that were previously blocked during importing 2024-06-26 09:45:28 -07:00
Mark McDowall ea4fe392a0 New: Remove websites in parentheses before parsing 2024-06-25 15:52:24 -07:00
Mark McDowall 45fe585944 Fixed: Prevent errors parsing releases in unexpected formats 2024-06-25 15:52:24 -07:00
Mark McDowall a0d2933134
New: Ignore Deluge torrents without a title
Closes #6885
2024-06-25 18:52:12 -04:00
Mark McDowall 4c622fd412 New: Ability to select Plex Media Server from plex.tv
Closes #6887
2024-06-25 15:51:57 -07:00
Bogdan fb060730c7 Fixed: Exclude invalid releases from Newznab and Torznab parsers 2024-06-25 15:51:41 -07:00
Mark McDowall 6d5ff9c4d6
New: Improve UI status when downloads cannot be imported automatically
Closes #6873
2024-06-25 18:51:20 -04:00
Mark McDowall 63bed3e670 New: Parse anime seasons with trailing number in title
Closes #6883
2024-06-25 15:51:03 -07:00
Weblate e684c10432 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: MattiaPell <mattiapellegrini16@gmail.com>
Co-authored-by: Taylan Tatlı <taylantatli90@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2024-06-25 15:50:56 -07:00
Bogdan d2509798e9 New: Display stats for delete multiple series modal 2024-06-17 20:40:04 -07:00
Bogdan 6c39855ebe Fix UpdatePackageProviderFixture for v4
ignore-downstream
2024-06-17 20:39:33 -07:00
Bogdan a30e9da767 New: Ignore inaccessible folders when getting folders 2024-06-17 20:39:33 -07:00
Mark McDowall f8e81396d4 Fixed: Importing from IMDb list 2024-06-17 20:39:22 -07:00
Mark McDowall 7fccf590a8
Fixed: Adding series with unknown items in queue 2024-06-17 23:39:13 -04:00
Stephan Sundermann e1b937e8d5
New: Add TMDB ID support
Closes #6866
2024-06-17 23:38:41 -04:00
Bogdan c331c8bd11 Ignore `Grabbed` from API docs
Run application in docs.sh specific to platform
2024-06-10 20:30:26 -07:00
Mark McDowall 52b72925f9 Fixed: Improve error messaging if config file isn't formatted correctly
Closes #6860
2024-06-10 20:30:13 -07:00
Mark McDowall 378fedcd9d
Fixed: Skip invalid series paths during validation 2024-06-10 23:30:03 -04:00
Bogdan a90ab1a8fd Fixed: Ignore case when resolving indexer by name in release push 2024-06-10 20:29:46 -07:00
Bogdan 0edc5ba99a Fixed: Ignore case for name validation in providers 2024-06-10 20:29:46 -07:00
Bogdan ea54ade9bf New: Refresh cache for tracked queue on series add 2024-06-10 20:29:41 -07:00
Weblate e07eb05e8b Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: AlbertCoolGuy <Albert.rosenstand@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: xuzhihui <5894940@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/da/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-06-10 20:29:28 -07:00
Bogdan d9b771ab0b
Fixed: Error sending Manual Interaction Required when series is unknown 2024-05-31 20:11:31 -04:00
Mark McDowall 6b08e849b8 Search for raw and clean titles for Newznab/Torznab indexers that support raw title searching 2024-05-31 17:10:32 -07:00
Mark McDowall 9c1f48ebc9 Fixed: Include full series title in episode search 2024-05-31 17:10:32 -07:00
Mark McDowall fd3dd1ab7d New: Genres and Images for Webhooks and Notifiarr
Closes #6822
2024-05-31 17:10:13 -07:00
yammes08 11e5c5a11b
Fixed: SDR Files Being Parsed As HLG 2024-05-31 20:09:53 -04:00
Weblate 48f0291884 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Ano10 <arnaudthommeray+github@ik.me>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: r0bertreh <Robert.reh@live.de>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translation: Servarr/Sonarr
2024-05-31 17:09:11 -07:00
Mark McDowall af0e55aef4 Bump version to 4.0.5 2024-05-29 16:23:16 -07:00
Weblate 39a439eb4c Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Bao Trinh <servarr@baodtrinh.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Lizandra Candido da Silva <lizandra.c.s@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: mm519897405 <baiya@vip.qq.com>
Co-authored-by: thegamingcat13 <sandervanbeek2004@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/vi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-05-29 16:23:04 -07:00
Weblate 66940b283b Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: mm519897405 <baiya@vip.qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-05-24 06:21:13 -07:00
Mark McDowall 2a662afaef Fixed: Time for episodes airing today being blank 2024-05-24 06:19:38 -07:00
Weblate 62a9c2519b Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: mm519897405 <baiya@vip.qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-05-22 20:09:18 -07:00
Mark McDowall ca372bee25 Fixed: Queue and Calendar not loading 2024-05-22 20:07:31 -07:00
Sonarr 0904a0737e Automated API Docs update
ignore-downstream
2024-05-21 17:09:20 -07:00
Bogdan 70bc26dc19 Disable workflows on forks
ignore-downstream
2024-05-21 17:06:44 -07:00
Bogdan a2e0002a08 Replace multiple occurrences in branch env variable
ignore-downstream
2024-05-21 17:06:44 -07:00
Bogdan d7ceb11a64 Fixed: Trimming slashes from UrlBase when using environment variable 2024-05-21 17:06:44 -07:00
Bogdan cc5b5463f2 Ignore `Grabbed` with STJson 2024-05-21 17:06:36 -07:00
Bogdan 9b4ff657af Update the wanted section for missing and cutoff unmet 2024-05-21 17:06:36 -07:00
Bogdan aea50fa47e Bump Npgsql to 7.0.7
ignore-downstream
2024-05-21 17:06:28 -07:00
Mark McDowall 05edd44ed6 New: Include time for episode/season/series history 2024-05-21 17:06:18 -07:00
Bogdan 4440aa3cac New: Root folder exists validation for import lists 2024-05-21 17:06:09 -07:00
Bogdan 084fcc2295 Implement equality checks for providers 2024-05-21 17:05:48 -07:00
Weblate 536ff142c3 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Lizandra Candido da Silva <lizandra.c.s@gmail.com>
Co-authored-by: Ransack6086 <servarr.jubilant150@slmail.me>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yi Cao <caoyi06@qq.com>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: topnew <sznetim@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-05-21 17:05:34 -07:00
Mark McDowall 627b2a4289 New: Parse 480i Bluray/Remux as Bluray 480p
Closes #6801
2024-05-09 22:04:18 -07:00
Bogdan 9734c2d144 Fixed: Notifications with only On Rename enabled
ignore-downstream
2024-05-09 22:04:12 -07:00
Bogdan c7c1e3ac9e Refactor PasswordInput to use type password 2024-05-09 22:04:04 -07:00
Bogdan 429444d085 Fixed: Text color for inputs on login page 2024-05-09 22:03:56 -07:00
Mark McDowall 5cb649e9d8 Fixed: Attempt to parse and reject ambiguous dates
Closes #6799
2024-05-09 22:03:44 -07:00
Mark McDowall cac7d239ea Fixed: Parsing of partial season pack 2024-05-09 22:03:44 -07:00
Sonarr 3940059ea3 Automated API Docs update
ignore-downstream
2024-05-09 22:03:31 -07:00
Weblate 20d00fe88c Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Michael5564445 <michaelvelosk@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/uk/
Translation: Servarr/Sonarr
2024-05-09 22:03:24 -07:00
Mark McDowall b4d05214ae Fixed: Ignore invalid movie tags when writing XBMC metadata
Co-authored-by: Bogdan <mynameisbogdan@users.noreply.github.com>
2024-05-08 18:45:19 -07:00
Mark McDowall cc0a284660 New: Add series tags to Webhook and Notifiarr events 2024-05-08 18:45:19 -07:00
Mark McDowall f50a263f4f New: Add Custom Format Score to file in Episode Details 2024-05-08 18:45:03 -07:00
Mark McDowall 29176c8367 New: Has Unmonitored Season filter for Series 2024-05-08 18:44:52 -07:00
Bogdan 1eddf3a152 Use number input for seed ratio 2024-05-08 18:44:36 -07:00
Bogdan 8360dd7a7b Fixed: Parsing long downloading/seeding values from Transmission 2024-05-08 18:44:27 -07:00
Bogdan 7e8d8500f2
Fixed: Next/previous/last air dates with Postgres DB
Closes #6790
2024-05-08 18:43:51 -07:00
Mark McDowall cae134ec7b New: Dark theme for login screen
Closes #6751
2024-05-08 18:42:54 -07:00
Stevie Robinson f81bb3ec19
New: Blocklist Custom Filters
Closes #6763
2024-05-08 18:42:41 -07:00
Bogdan 128309068d Fixed: Initialize databases after app folder migrations
Co-authored-by: Mark McDowall <mark@mcdowall.ca>
2024-05-08 18:42:15 -07:00
Mickaël Thomas 73a4bdea52
New: Support stoppedUP and stoppedDL states from qBittorrent 2024-05-08 18:41:59 -07:00
Bogdan 47ba002806
Fixed: Indexer flags for torrent release pushes 2024-05-04 18:56:52 -07:00
Mark McDowall ba88185dea New: Treat batch releases with total episode count as full season release
Closes #6757
2024-05-04 18:56:15 -07:00
Mark McDowall e24ce40eb8 Fixed: History with unknown episode
Closes #6782
2024-05-04 18:55:56 -07:00
Stevie Robinson 8be8c7f89c
Add missing translation key 2024-05-04 18:55:44 -07:00
Bogdan 7166a6c019 Parameter binding for API requests 2024-05-04 18:55:12 -07:00
Mark McDowall 3fbe436138 Forward X-Forwarded-Host header
Closes #6764
2024-05-04 18:54:55 -07:00
Jared 92eab4b2e2
New: Config file setting to disable log database
Closes #6743
2024-05-04 18:54:42 -07:00
Mika 23c741fd00
Add file-count for Transmission RPC 2024-05-04 18:53:47 -07:00
Weblate 8ddf46113b Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2024-05-04 18:53:15 -07:00
Bogdan c81ae65461 Fixed: Limit titles in task name to 10 series 2024-04-27 18:09:08 -07:00
Bogdan efb3fa93e4
Fixed: Retrying download for pushed releases
ignore-downstream
#6752
2024-04-27 21:08:40 -04:00
Stevie Robinson 04bd535cfc
New: Don't initially select 0 byte files in Interactive Import
Closes #6686
2024-04-27 21:07:41 -04:00
Bogdan 9738101042 Treat CorruptDatabaseException as a startup failure
ignore-downstream
2024-04-27 18:06:49 -07:00
Bogdan 1df7cdc65e New: Add KRaLiMaRKo and BluDragon to release group parsing exceptions
ignore-downstream
2024-04-27 18:06:38 -07:00
Jared d051dac12c
New: Optionally use Environment Variables for settings in config.xml
Closes #6744
2024-04-27 21:06:26 -04:00
Bogdan 5d01ecd30e Bump frontend dependencies
ignore-downstream
2024-04-27 18:05:16 -07:00
Mark McDowall 316b5cbf75
New: Validate that folders in paths don't start or end with a space
Closes #6709
2024-04-27 21:04:50 -04:00
Bogdan 2440672179 Bump SixLabors.ImageSharp to 3.1.4
ignore-downstream
2024-04-27 18:04:35 -07:00
Mark McDowall a97fbcc40a Fixed: Improve paths longer than 256 on Windows failing to hardlink 2024-04-27 18:04:26 -07:00
Christopher d738035fed
New: Remove qBitorrent torrents that reach inactive seeding time 2024-04-27 21:04:16 -04:00
Mark McDowall dc3e932102 macOS tests now run on arm64 2024-04-27 18:03:12 -07:00
Weblate aded9d95f7 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Ano10 <arnaudthommeray+github@ik.me>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Mailme Dashite <mailmedashite@protonmail.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: aghus <aghus.m@outlook.com>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: maodun96 <435795439@qq.com>
Co-authored-by: toeiazarothis <patrickdealmeida89000@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-04-27 18:03:03 -07:00
Mark McDowall b81c3ee4a8 Fix labeling config 2024-04-15 21:14:49 -07:00
Mark McDowall cf6748a80c Fix merge conflict labeling 2024-04-15 21:14:49 -07:00
Sonarr ef6cc7fa3a Automated API Docs update
ignore-downstream
2024-04-15 20:35:29 -07:00
Mark McDowall f9b013a8bf New: Parse releases with multiple Ukranian audio tracks
Closes #6714
2024-04-15 20:25:41 -07:00
Bogdan e966254462 Fixed: Re-testing edited providers will forcibly test them 2024-04-15 20:25:31 -07:00
Gauvino 016c4b353b
Add merge conflict labeler 2024-04-15 23:25:13 -04:00
Uruk d71c619f1a Update CI dependencies 2024-04-15 20:24:20 -07:00
Gauthier 6c232b062c
New: Multi Language selection per indexer
Closes #2854
2024-04-15 23:24:05 -04:00
Josh McKinney d6278fced4 Add dev container workspace
Allows the linting and style settings for the frontend to be applied even when you load the main repo as a workspace
2024-04-15 20:23:13 -07:00
Weblate 317ce39aa2 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Altair <villagermd@outlook.com>
Co-authored-by: Fonkio <maxime.fabre10@gmail.com>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Jacopo Luca Maria Latrofa <jacopo.latrofa@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2024-04-15 20:23:04 -07:00
Mark McDowall 941985f65b Bump version to 4.0.4 2024-04-13 10:05:01 -07:00
Mark McDowall 10daf97d81 Improve build step dependencies 2024-04-12 16:00:46 -07:00
Mark McDowall 6b08117d7d Improve release notes for main releases 2024-04-12 16:00:46 -07:00
Weblate 9afe1c4b3f Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: YSLG <1451164040@qq.com>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-04-12 16:00:37 -07:00
Mark McDowall 0fdbbd018c New: Parse absolute episode numbers within square brackets
Closes #6694
2024-04-12 16:00:16 -07:00
Sonarr 8a7b67c593 Automated API Docs update
ignore-downstream
2024-04-09 16:17:48 -07:00
Weblate 4b8afe3d33 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: myrad2267 <myrad2267@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-04-09 16:16:11 -07:00
Bogdan 476e7a7b94
Fixed: Changing Release Type in Manage Episodes
Closes #6706
2024-04-09 19:14:56 -04:00
Bogdan 1fcd2b492c Prevent multiple enumerations in Custom Formats token 2024-04-09 16:14:33 -07:00
Bogdan 1aef91041e New: Detect shfs mounts in disk space 2024-04-09 16:14:16 -07:00
Bogdan fc06e51352
Fixed: Renaming episodes for a series
Closes #6640
2024-04-09 19:13:59 -04:00
Mark McDowall f4c19a384b New: Auto tag series based on tags present/absent on series
Closes #6236
2024-04-09 16:13:30 -07:00
Josh McKinney 5061dc4b5e
Add DevContainer, VSCode config and extensions.json 2024-04-09 19:12:58 -04:00
Mark McDowall 37863a8deb
New: Option to prefix app name on Telegram notification titles 2024-04-09 19:12:20 -04:00
Mark McDowall 5c42935eb3 Fixed: Improve AniList testing with Media filters 2024-04-09 16:12:05 -07:00
Weblate dac69445e4 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Jason54 <jason54700.jg@gmail.com>
Co-authored-by: Michael5564445 <michaelvelosk@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/uk/
Translation: Servarr/Sonarr
2024-04-05 23:13:02 -07:00
Qstick aca10f6f4f Fixed: Skip move when source and destination are the same
ignore-downstream

Co-Authored-By: Colin Hebert <makkhdyn@gmail.com>
(cherry picked from commit 7a5ae56a96700f401726ac80b3031a25207d8f75)
2024-04-05 23:11:37 -07:00
Mark McDowall 74cdf01e49
New: Set 'Release Type' during Manual Import
Closes #6681
2024-04-06 02:11:17 -04:00
Mark McDowall a169ebff2a
Fixed: Sending ntfy.sh notifications with unicode characters
Closes #6679
2024-04-06 02:11:03 -04:00
fireph 7fc3bebc91
New: Footnote to indicate some renaming tokens support truncation 2024-04-06 02:10:42 -04:00
Till Krüss e672996dbb
Improve text for file deleted through UI/API 2024-04-06 02:09:55 -04:00
Stevie Robinson 238ba85f0a
New: Informational text on Custom Formats modal 2024-04-06 02:08:57 -04:00
Cuki 1562d3bae3
Fixed: Use widely supported display mode for PWA 2024-04-06 02:08:08 -04:00
Jendrik Weise 7776ec9955 Reimport files imported prematurely during script import 2024-04-05 23:07:38 -07:00
Jendrik Weise af5a681ab7 Fix ignoring title based on pre-rename episodefile 2024-04-05 23:07:38 -07:00
Jendrik Weise 0a7f3a12c2 Do not remove all extras when script importing 2024-04-05 23:07:38 -07:00
Jendrik Weise 2ef46e5b90 Fix incorrect subtitle copy regex 2024-04-05 23:07:38 -07:00
Mark McDowall 6003ca1696 Fixed: Deleted episodes not being unmonitored when series folder has been deleted
Closes #6678
2024-04-05 23:07:07 -07:00
Mark McDowall 0937ee6fef Fixed: Path parsing incorrectly treating series title as episode number 2024-04-05 23:06:56 -07:00
Mark McDowall 60ee7cc716
Fixed: Cleanse BHD RSS key in log files
Closes #6666
2024-04-06 02:06:35 -04:00
Mark McDowall 4e83820511 Bump version to 4.0.3 2024-03-31 21:52:19 -07:00
Sonarr 5a66b949cf Automated API Docs update
ignore-downstream
2024-03-31 21:43:33 -07:00
Weblate f010f56290 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: 王锋 <17611382361@163.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-03-31 21:43:09 -07:00
Louis R 060b789bc6
Fixed: Exceptions when checking for routable IPv4 addresses 2024-03-28 01:31:28 -04:00
Bogdan 7353fe479d
New: Allow HEAD requests to ping endpoint
Closes #6656
2024-03-28 01:30:45 -04:00
Alex Cortelyou 1ec1ce58e9
New: Add additional fields to Webhook Manual Interaction Required events 2024-03-28 01:30:21 -04:00
Stevie Robinson 35d0e6a6f8
Fixed: Handling torrents with relative path in rTorrent 2024-03-28 01:29:15 -04:00
Carlos Gustavo Sarmiento 588372fd95
Fixed: qBittorrent not correctly handling retention during testing 2024-03-28 01:28:41 -04:00
Bogdan 13c925b341 New: Advanced settings toggle in import list, notification and download client modals 2024-03-27 22:27:51 -07:00
iceypotato 1335efd487 New: My Anime List import list
Closes #5148
2024-03-27 22:27:34 -07:00
Mark McDowall d338425951 Fixed: Use custom formats from import during rename 2024-03-27 22:27:25 -07:00
Mark McDowall fc6494c569 Fixed: Task with removed series causing error 2024-03-27 22:27:14 -07:00
Weblate c403b2cdd5 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Altair <villagermd@outlook.com>
Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Stanislav <prekop3@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/sk/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2024-03-27 22:27:07 -07:00
Weblate cf3d51bab2 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Casselluu <jack10193@163.com>
Co-authored-by: Gianmarco Novelli <rinogaetano94@live.it>
Co-authored-by: Jason54 <jason54700.jg@gmail.com>
Co-authored-by: MadaxDeLuXe <madaxdeluxe@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: infoaitek24 <info@aitekph.com>
Co-authored-by: reloxx <reloxx@interia.pl>
Co-authored-by: shimmyx <shimmygodx@gmail.com>
Co-authored-by: vfaergestad <vgf@hotmail.no>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-03-21 21:21:30 -07:00
Mark McDowall dec3fc6889
Fixed: Don't add series from import list with no matched TVDB ID 2024-03-22 00:21:04 -04:00
Mark McDowall 40bac23698 New: Support parsing season number from season folder when importing
Closes #903
2024-03-21 21:20:49 -07:00
Mark McDowall 88de927435 Fixed: Plex Watchlist import list 2024-03-21 21:20:27 -07:00
Mark McDowall 29204c93a3 New: Parsing multi-episode file with two and three digit episode numbers
Closes #6631
2024-03-21 21:20:13 -07:00
Mark McDowall c641733781 Fixed: Task progress messages in the UI
Closes #6632
2024-03-21 21:20:08 -07:00
Weblate 58de0310fd Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Gianmarco Novelli <rinogaetano94@live.it>
Co-authored-by: Jason54 <jason54700.jg@gmail.com>
Co-authored-by: MadaxDeLuXe <madaxdeluxe@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: infoaitek24 <info@aitekph.com>
Co-authored-by: reloxx <reloxx@interia.pl>
Co-authored-by: vfaergestad <vgf@hotmail.no>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nb_NO/
Translation: Servarr/Sonarr
2024-03-21 21:20:01 -07:00
Bogdan 172b1a82d1 Sort series by title in task name 2024-03-21 21:19:23 -07:00
Bogdan e14568adef Ensure not allowed cursor is shown for disabled select inputs 2024-03-21 21:19:23 -07:00
Weblate 381ce61aef Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dennis Langthjem <dennis@langthjem.dk>
Co-authored-by: DimitriDR <dimitridroeck@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Ihor Mudryi <mudryy33@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/da/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/uk/
Translation: Servarr/Sonarr
2024-03-13 21:49:22 -07:00
Mark McDowall 9f705e4161 Fixed: Release push with only Magnet URL
Closes #6622
2024-03-13 21:47:50 -07:00
Mark McDowall 063dba22a8 Fixed: Disabled select option still selectable 2024-03-13 21:47:33 -07:00
Mark McDowall 6d552f2a60 New: Show Series title and season number after task name when applicable
Closes #6601
2024-03-13 21:47:22 -07:00
Mark McDowall 4d4d63921b
Add notification for build success/failures 2024-03-14 00:47:01 -04:00
Alan Collins 6584d95331
New: Update Custom Format renaming token to allow excluding specific formats
Closes #6615
2024-03-14 00:46:33 -04:00
Bogdan 86034beccd Bump ImageSharp, Polly, DryIoc, STJson, WindowsServices 2024-03-13 21:44:23 -07:00
Mark McDowall 4aa56e3f91 Fixed: Parsing of some French and Spanish anime releases 2024-03-13 21:44:07 -07:00
Stevie Robinson 2ec071a5ec
Update release profile download client warning 2024-03-09 23:54:21 -05:00
Alan Collins d86aeb7472
New: Release Hash renaming token
Closes #6570
2024-03-09 23:54:06 -05:00
Alan Collins 48cb5d2271
New: 'Custom Format: Format Name' rename token 2024-03-09 23:53:02 -05:00
bakerboy448 a0329adeba
Improve single file detected as full season messaging 2024-03-09 23:51:29 -05:00
Bogdan 89bef4af99
New: Wider modal for Interactive Search and Manual Import 2024-03-09 23:50:45 -05:00
Mark McDowall a12cdb34bc Fixed: Error sending Manual Interaction Required notification 2024-03-07 18:11:36 -08:00
Bogdan 13e29bd257 Prevent NullRef in naming when truncating a null Release Group 2024-03-07 18:11:28 -08:00
Sonarr 61a7515041 Automated API Docs update
ignore-downstream
2024-03-07 17:34:04 -08:00
Weblate 2c25245860 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Jason54 <jason54700.jg@gmail.com>
Co-authored-by: Mark Martines <mark-martines@hotmail.com>
Co-authored-by: Maxence Winandy <maxence.winandy@gmail.com>
Co-authored-by: Stevie Robinson <stevie.robinson@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: linkin931 <931linkin@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/el/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ko/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-03-07 17:30:56 -08:00
Bogdan 18aadb544e
Fixed: Maintain release type for items in Manual Import 2024-03-07 20:30:20 -05:00
Helvio Pedreschi c7dd7abf89
Fixed: WebApp functionality on Apple devices 2024-03-07 20:29:50 -05:00
CheAle14 d0e9504af0 Fix import list exclusion props 2024-03-07 17:26:29 -08:00
Bogdan e81bb3b993 Persist page size for Import List Exclusions 2024-03-07 17:25:27 -08:00
Bogdan f211433b77 Remove debugger from metadata source and rearrange some imports 2024-03-07 17:25:19 -08:00
Bogdan 2068c5393e Fixed: URL Base setting for Kodi connections 2024-03-07 17:25:19 -08:00
Mark McDowall 0183812cc5 Fixed: Overly aggressive exception release group parsing
Closes #6591
2024-03-07 17:25:10 -08:00
Bogdan 7f09903a06 New: Episode Requested filter for Interactive Search 2024-03-02 21:26:23 -08:00
Mark McDowall fa4c11a943 New: Do not automatically unmonitor episodes renamed outside of Sonarr
Closes #6584
2024-03-02 21:23:27 -08:00
Sonarr 653963a247 Automated API Docs update
ignore-downstream
2024-03-02 21:22:27 -08:00
Mark McDowall 32c32e2f88 Fixed: Issue extracting subtitle information for unknown episodes 2024-03-02 21:22:15 -08:00
nopoz 07bd159436
New: Add download directory & move completed for Deluge
Closes #4575
2024-03-03 00:22:03 -05:00
Mark McDowall 20273b07ad Properly type validation errors/warnings 2024-03-02 21:21:24 -08:00
bakerboy448 e5f19f01fa
Update AddSeries Messaging and Logging 2024-03-03 00:21:16 -05:00
Louis R 13af6f5779
Fixed: Don't disable IPv6 in IPv6-only Environment
Closes #6545
2024-03-03 00:20:36 -05:00
Mark McDowall 71c2c0570b
Renamed SeasonPackSpecification to ReleaseTypeSpecification 2024-03-03 00:19:44 -05:00
Mark McDowall 64c6a8879b Queue Manual Import commands at high priority 2024-03-02 21:19:26 -08:00
Weblate 7f061a9583 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Nicolò Castagnola <nipica@outlook.it>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2024-03-02 21:19:17 -08:00
The Dark 4285691064
New: Import list exclusion pagination
Closes #6079
2024-03-03 00:19:02 -05:00
Sonarr de9899c60e Automated API Docs update
ignore-downstream
2024-03-01 17:33:41 -08:00
Weblate 6c8758c27a Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translation: Servarr/Sonarr
2024-03-01 17:32:55 -08:00
Mark McDowall 086d3b5afa Increase migration timeout to 5 minutes 2024-03-01 17:26:26 -08:00
Mark McDowall f8a0751775 New: Release Type (Single/Multi episode and Season Pack) for Custom Formats
Closes #3562
2024-03-01 17:26:26 -08:00
Mark McDowall c99d81e79b New: Bypass archived history for failed downloads in SABnzbd 2024-03-01 17:26:10 -08:00
Mark McDowall 9fd193d2a8 New: URL Base setting for Media Server connections
Closes #4416
2024-03-01 17:24:52 -08:00
Bogdan 64f4365fe9 Update caniuse-lite 2024-03-01 17:24:41 -08:00
Bogdan 2773f77e1c New: Options button for Missing/Cutoff Unmet 2024-03-01 17:24:41 -08:00
Weblate 0a84b4a8e9 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-03-01 17:24:35 -08:00
Weblate 236d8e4c50 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-02-27 20:44:11 -08:00
Mark McDowall 16d3827dbd Fixed: Processing updated episodes in series after refresh
Closes #6560
2024-02-27 20:42:27 -08:00
Bogdan fa600e62e0
Fixed: Error when download client information is unavailable for Manual Interaction Required event
Closes #6558
(cherry picked from commit 173b1d6a4c0f2125c4413c0c09b269d87a1f1ee8)

Co-authored-by: Qstick <qstick@gmail.com>
2024-02-27 23:42:08 -05:00
Mark McDowall fb6fc568c5 Fixed: Don't store seasons from import list items in database
Closes #6555
2024-02-27 20:40:39 -08:00
Bogdan 1f97679868 Fixed: Selection of last added custom filter
Plus some translations and typos
2024-02-27 20:40:33 -08:00
Mark McDowall b34e0f8259
Fixed: Ignore language in split episode title 2024-02-27 00:33:07 -05:00
Mark McDowall 4c170d0452 New: Update anime episodes by season/episode number instead of absolute episode number
Closes #6547
2024-02-26 21:32:46 -08:00
Mark McDowall 6dc0a88004 New: Search for recently aired anime episodes with added absolute episode number
Closes #2044
2024-02-26 21:32:46 -08:00
Mark McDowall 33b44a8a53 New: Option to sync season monitoring state when importing from another Sonarr instance
Closes #6542
2024-02-26 21:32:39 -08:00
Mark McDowall cb72e752f9
Fixed: Parsing of subtitle languages separated by dash
Closes #6494
2024-02-27 00:32:31 -05:00
Weblate a11ee7bc11 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: EDUYO <eduardoestabiel@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Sadi A. Nogueira <contato@sadi.eti.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Xupix <colinaubert25@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-02-26 21:32:04 -08:00
Stevie Robinson 98d60e1a8e
Replace URLs in translations with tokens 2024-02-27 00:30:58 -05:00
Bruno Garcia 6377c688fc
Update Sentry SDK add features
Co-authored-by: Stefan Jandl <reg@bitfox.at>
2024-02-27 00:30:32 -05:00
Mark McDowall 7a37f130f9 Bump version to 4.0.2 2024-02-26 20:54:08 -08:00
Mark McDowall 724dd7e733 Clean branch name to remove slashes 2024-02-20 21:23:52 -08:00
Weblate e1be3b20e9 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: 闫锦彪 <yanjinbiaohere@163.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-02-20 20:20:43 -08:00
Sonarr 2f041f9ec1 Automated API Docs update
ignore-downstream
2024-02-20 20:20:28 -08:00
Mark McDowall f10ccf587d Don't fail fast for integration tests 2024-02-20 20:12:57 -08:00
Mark McDowall 0242b40eda Use GitHubActionsTestLogger for test reporting 2024-02-20 20:12:57 -08:00
Bogdan 7a768b5d0f
New: Indexer flags
Closes #2782
2024-02-20 23:12:45 -05:00
Mark McDowall a57254640f Upgrade actions/setup-dotnet to v4 2024-02-20 20:10:36 -08:00
Mark McDowall 1a6f45bafd Upgrade actions/checkout to v4 2024-02-20 20:10:36 -08:00
Mark McDowall c6071f6d81 Upgrade node to 20.11.1 2024-02-20 20:10:36 -08:00
Bogdan 2a47a237d4 Fix typo in log message matching by TVRage ID 2024-02-20 20:10:30 -08:00
Mark McDowall a7607ac7d6 Fixed: Only match via TV Rage ID if TheTVDB ID is not available
Closes #6517
2024-02-20 20:10:17 -08:00
Mark McDowall 43797b326d New: Parse releases with season and episode numbers separated by a period
Closes #6492
2024-02-20 20:10:09 -08:00
Mark McDowall 5c4f829993 Fixed: Multi-word genres in Auto Tags
Fixed #6488
2024-02-20 20:10:02 -08:00
Bogdan 8dd8c95f36 Fixed: Avoid upgrades for custom formats cut-off already met 2024-02-20 20:09:52 -08:00
Weblate 6f6036a199 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Chaoshuai Lü <lcs@meta.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: wgwqd <wgwqd@163.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-02-20 20:08:04 -08:00
Mark McDowall 625e500132 Use 'paths-ignore' instead of 'path' with only negative matches 2024-02-17 22:39:18 -08:00
Weblate 39575b1248 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: David13467 <davidnow00@gmail.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Hicabi Erdem <bilgi@hicabierdem.com>
Co-authored-by: Lucas <sixagag973@fkcod.com>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Steve Hansen <steve@hansenconsultancy.be>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: aghus <aghus.m@outlook.com>
Co-authored-by: bai0012 <baicongrui@gmail.com>
Co-authored-by: bogdan-rgb <b.hmelniczky@yandex.ru>
Co-authored-by: savin-msk <ns@a77.io>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-02-13 16:56:10 -08:00
abcasada f1d343218c Hints for week column and short dates in UI settings
(cherry picked from commit 4558f552820b52bb1f9cd97fdabe03654ce9924a)
2024-02-13 16:47:48 -08:00
Qstick b0829d5537 Fixed: Correctly persist calendar custom filter selection
ignore-downstream
2024-02-13 16:47:41 -08:00
Bogdan 965e7c22d9 Fixed: Reprocessing multi-language file in Manage Episodes 2024-02-13 16:47:31 -08:00
Bogdan 75535e61d9 Fixed: Reprocessing custom formats for file in Manual Import 2024-02-13 16:47:31 -08:00
Bogdan c0b17d9345 Show download client ID as hint in select options 2024-02-13 16:46:55 -08:00
Bogdan 84e657482d Improve messaging on indexer specified download client is not available 2024-02-13 16:46:55 -08:00
Bogdan ed27bcf213 Fixed: Refresh tags state to clear removed tags by housekeeping
(cherry picked from commit 2510f44c25bee6fede27d9fa2b9614176d12cb55)
2024-02-13 16:46:46 -08:00
Bogdan 9ee2fe6f5c Fix typo 2024-02-13 16:46:38 -08:00
Bogdan d5e19b8c3c Prevent useless builds 2024-02-13 16:46:38 -08:00
Sonarr 2957b40512 Automated API Docs update
ignore-downstream
2024-02-13 16:46:26 -08:00
Bogdan 9f46fc923d Fix typo for Downloaded Episodes Scan command name 2024-02-13 16:46:02 -08:00
Bogdan 7dc1e47504 Fix translation token for DL client directory help text 2024-02-13 16:46:02 -08:00
Bogdan d15c116f13 Fix translation keys for indexer validation 2024-02-13 16:46:02 -08:00
Bogdan dd704579df Improve add/loading error notices 2024-02-13 16:46:02 -08:00
Bogdan bd9d4b484c Update Custom Format Deletion confirmation message
Consistency with the rest of the Delete*MessageText
2024-02-13 16:46:02 -08:00
Qstick 913b845faa Fixed: Prevent anime search with ep/season if not supported 2024-02-09 21:30:08 -05:00
Stas Panasiuk 6e81517d51
New: Parsing titles with multiple translated titles 2024-02-06 23:03:36 -05:00
Mark McDowall 34e74eecd7
Fixed: Don't attempt to import from list with title only (#6477)
Closes #6474
2024-02-06 23:02:26 -05:00
Mark McDowall 895eccebc5
New: Parse and reject split episode releases and files 2024-02-06 23:02:03 -05:00
Mark McDowall f722d49b3a Fixed: Don't use sub folder to check for free disk space for update
Closes #6478
2024-02-06 20:01:30 -08:00
bakerboy448 cac97c057f
Improve Custom Format rejection messaging 2024-02-06 23:01:07 -05:00
jab416171 63e132d257 Wrapped fields on series details page in div
This allows you to triple click to select the path for instance, similar
to the details page in radarr.
2024-02-06 19:59:02 -08:00
Mark McDowall 6ab1d8e16b
New: Log database engine version on startup 2024-02-06 22:58:49 -05:00
Stevie Robinson 80630bf97f
Fixed: Wrapping of naming tokens with alternate separators 2024-02-06 22:58:09 -05:00
Bogdan 904285045b Fixed: Naming validation when using max token length 2024-02-06 19:57:44 -08:00
Stevie Robinson 1006ec6b52 really fix translation key 2024-02-06 19:57:33 -08:00
Mark McDowall 4cb1100704 Fixed: Remove old naming config from v3 API responses
Closes #6460
2024-02-06 19:57:25 -08:00
Mark McDowall 745b92daf4 Fixed: Redirecting after login
Closes #6454
2024-02-06 19:57:17 -08:00
Weblate 9eafdbd1af Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Ole Nørby <ole@olenoerby.dk>
Co-authored-by: Stevie Robinson <stevie.robinson@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: aghus <aghus.m@outlook.com>
Co-authored-by: gr0sz <joshuatg727@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/da/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-02-06 19:57:09 -08:00
Weblate 200396ef7a Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-01-31 19:39:13 -08:00
Stevie Robinson c5a724f14e
New: Send 'On Manual Interaction Required' notifications in more cases
Closes #6448
2024-01-31 19:38:51 -08:00
Mark McDowall 42b11528b4 New: Improve multi-language negate Custom Format
Closes #6408
2024-01-31 19:37:44 -08:00
Alex Herbig e2210228b3
New: Add RZeroX to release group parsing exceptions 2024-01-31 19:36:39 -08:00
Bogdan ded7c3c6e2
Only bind shortcut for pending changes confirmation when it's shown 2024-01-31 19:36:21 -08:00
Stevie Robinson e1c6722aad
New: Ignore 'Other' subfolder when scanning disk
Closes #6437
2024-01-31 19:35:21 -08:00
Bogdan e17655c26a
Fixed: Notifications with only On Series Add enabled being labeled as disabled 2024-01-31 19:34:51 -08:00
Stevie Robinson e66c628241
Update some translation keys 2024-01-31 19:34:17 -08:00
Mark McDowall 8f0514a91d Fixed: Grouped calendar events not correctly showing as downloading
Closes #6441
2024-01-31 19:33:46 -08:00
bakerboy448 d7aea82e45 Improve Release Grabbing & Failure Logging 2024-01-31 19:33:38 -08:00
Mark McDowall 19db75b36b Add max token length (including ellipsis) for some tokens
New: Accept ':##' on renaming tokens to allow specifying a maximum length for series, episode titles and release group
Closes #6416
2024-01-31 19:33:21 -08:00
Weblate 11a18b534a Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Crocmou <slaanesh8854@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Lars <lars.erik.heloe@gmail.com>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Stas Panasiuk <temnyip@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: resi23 <x-resistant-x@gmx.de>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/uk/
Translation: Servarr/Sonarr
2024-01-31 19:33:13 -08:00
Sonarr 70807a9dcf Automated API Docs update
ignore-downstream
2024-01-26 22:09:26 -08:00
Weblate 350600607d Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Alexander <a.burdun@gmail.com>
Co-authored-by: Crocmou <slaanesh8854@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: diaverso <alexito_perez.95@hotmail.com>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: reloxx <reloxx@interia.pl>
Co-authored-by: zichichi <sollami@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/uk/
Translation: Servarr/Sonarr
2024-01-26 22:09:16 -08:00
Mark McDowall e9f0c96249 Fixed: Specials not allowing multi-episode select in Manual Import
Closes #6429
2024-01-26 22:01:04 -08:00
ta264 d9acbf5682 Fixed: FolderWritable check for CIFS shares mounted in Unix
This reverts commit 8c892a732ed57af9bb1f39743e0c16361f41b50f.

(cherry picked from commit 96384521c59233dab5bd8289e7c84043f75b84a2)
2024-01-26 22:00:50 -08:00
Stevie Robinson 07cbd7c8d2
Fixed: Validating DownloadStation output path
Closes #6421
2024-01-27 00:59:43 -05:00
Mark McDowall 0ea189d03c Fixed: History retention for Newsbin 2024-01-26 21:56:13 -08:00
Bogdan 9e3f9f9618 Fixed: Testing for disabled Notifications 2024-01-26 21:56:05 -08:00
The Dark 68c326ae27
New: Import list clean library option
Closes #5201
2024-01-27 00:55:52 -05:00
Weblate 46367d2023 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: wilfriedarma <wilfriedarma.collet@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-01-26 21:54:57 -08:00
Sonarr b64c52a846 Automated API Docs update
ignore-downstream
2024-01-22 20:59:24 -08:00
Mark McDowall 345854d0fe
New: Optionally remove from queue by changing category to 'Post-Import Category' when configured
Closes #6023
2024-01-22 23:56:35 -05:00
Bogdan 31baed4b2c Fixed: Sorting by name in Manage Indexer and Download Client modals 2024-01-22 20:56:01 -08:00
Bogdan 7d0d503a5e New: Display database migration version in Status 2024-01-22 20:55:53 -08:00
Stevie Robinson 9f50166fa6
Fixed: Regular Expression Custom Format translation 2024-01-22 23:55:33 -05:00
Bogdan 3c1ca6ea4e New: Expand seasons with all episodes having missing air dates 2024-01-22 20:54:35 -08:00
Mark McDowall 3cd4c67ba1 New: Add download client name to pending items waiting for a specific client
Closes #6274
2024-01-22 20:52:01 -08:00
Mark McDowall fc3a2e9ab2 New: Added some extra pixels to grouped calendar events
Closes #6395
2024-01-22 20:51:53 -08:00
Mark McDowall a71d40edba New: Add recycle bin path for deleted episodes to webhook/custom script
Closes #6114
2024-01-22 20:51:38 -08:00
Mark McDowall 9ba5850fca Fixed: Parsing Hungarian anime releases
Closes #6275
2024-01-22 20:51:27 -08:00
Mark McDowall 0d06418194 New: Add size to more history events
Closes #6234
2024-01-22 20:51:19 -08:00
Mark McDowall f95dd00b51 Fixed: Migrating subtitle files with unexpectedly large number at end
Closes #6409
2024-01-22 20:50:43 -08:00
Bogdan 271266b10a Fix possible NullRef in Email Encryption migration 2024-01-22 20:50:34 -08:00
Mark McDowall cab93249ec Fixed: Number only hashes getting substituted incorrectly 2024-01-20 16:44:12 -08:00
Mark McDowall 8921c5d7a0 Fixed: Subtitle title migration when original title is null 2024-01-20 16:43:53 -08:00
Weblate dbbf1a7f58 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-01-20 16:43:40 -08:00
Jendrik Weise 69f99373e5
New: Parse subtitle titles
Closes #5955
2024-01-20 15:19:33 -08:00
Mark McDowall 7be5732a3a
New: Option to disable Email encryption
Closes #6380
2024-01-20 15:18:26 -08:00
Mark McDowall e66ba84fc0 New: Log warning if less than 1 GB free space during update
Closes #6385
2024-01-20 15:18:06 -08:00
Mark McDowall c0b30a5028 Fixed: Series poster view on mobile devices
Closes #6387
2024-01-20 15:17:55 -08:00
Bogdan 3cf4d2907e Transpile logical assignment operators with babel 2024-01-20 15:17:42 -08:00
Weblate ae96ebca57 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Bastián Quezada <baskezada@gmail.com>
Co-authored-by: Blair Noctis <fqmxz5hyfba7ft85@neon.casa>
Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: Deleted User <noreply+2593@weblate.org>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Julian Baquero <julian-baquero@upc.edu.co>
Co-authored-by: Koch Norbert <kochnorbert@icloud.com>
Co-authored-by: MaddionMax <kovacs.tamas@ius.hu>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: brn <barantsenkul@gmail.com>
Co-authored-by: resi23 <x-resistant-x@gmx.de>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-01-20 15:17:33 -08:00
Mark McDowall d336aaf3f0 Fixed: Don't clone indexer API Key
Closes #6265
2024-01-19 21:30:34 -08:00
bakerboy448 ec40bc6eea
Improve Release Title Custom Format debugging
Towards #5598
2024-01-19 21:30:24 -08:00
Mark McDowall 75bb34afaa Bump version to 4.0.1 2024-01-19 19:26:38 -08:00
Stevie Robinson de1cc25c90 Translate backend: Autotagging + CF specs, Metadata + ImportLists
Signed-off-by: Stevie Robinson <stevie.robinson@gmail.com>
2024-01-18 21:47:03 -08:00
Mark McDowall 9884f6f282
Fixed: Icons on full color calendar events
Closes #6331
2024-01-19 00:43:51 -05:00
Qstick e792db4d33 New: Improve All Series call by using dictionary for stats iteration 2024-01-18 21:43:34 -08:00
Bogdan 2dbf5b5a71 Check Content-Type in FileList parser 2024-01-18 21:43:17 -08:00
Stevie Robinson c6bb6ad878 Round off the seeded ratio when checking for removal candidates
Signed-off-by: Stevie Robinson <stevie.robinson@gmail.com>
2024-01-18 21:43:07 -08:00
Bogdan bfd24da2d9
Fixed: Importing Plex RSS lists with invalid items (#6374) 2024-01-19 00:42:51 -05:00
Stevie Robinson 8dd3b45c90
New: Drop commands table content before postgres migration
Signed-off-by: Stevie Robinson <stevie.robinson@gmail.com>
2024-01-19 00:42:31 -05:00
Stevie Robinson 0b0f21d0ac Update install.sh to not prompt for package installation
Script will exit without input if a prereq package is missing
2024-01-18 21:41:38 -08:00
Sonarr 738f5c58ad Automated API Docs update
ignore-downstream
2024-01-18 21:41:30 -08:00
Weblate 9a7b5bf14e Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Blair Noctis <fqmxz5hyfba7ft85@neon.casa>
Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Petr Vojar <vojar.petr@outlook.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: crayon3shawn <crayon3shawn@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_TW/
Translation: Servarr/Sonarr
2024-01-18 21:41:14 -08:00
Mark McDowall e1260d504e Re-enable deploy 2024-01-15 21:55:35 -08:00
Sonarr 736651324f Automated API Docs update
ignore-downstream
2024-01-15 21:55:22 -08:00
Bogdan 489f03441b
Fixed: Filter history by multiple event types 2024-01-16 00:54:27 -05:00
Stevie Robinson e4b5d559df
Sort Custom Filters
Closes #6334
2024-01-16 00:53:21 -05:00
Stevie Robinson 07fbb0d1f4
Add missing translation keys from Indexer Settings
Signed-off-by: Stevie Robinson <stevie.robinson@gmail.com>
2024-01-16 00:52:55 -05:00
Stevie Robinson 666455f9b1
New: Add 'zhtw' and 'yue' language codes as Chinese language
Closes #6363
2024-01-16 00:52:40 -05:00
Bogdan 091449d9bf Throw download as failed for invalid magnet links 2024-01-15 21:51:17 -08:00
Qstick f87a66fcba Improved http timeout handling 2024-01-15 21:51:02 -08:00
Blair Noctis 1bba7e177b
Fixed: Improve help text for download client priority
Closes #6270
2024-01-16 00:50:25 -05:00
Rubicj 57445bbe57
New: Added column in Queue
Closes #6270
2024-01-16 00:28:28 -05:00
Qstick ec91142c85 Fixed: Only use frames for Primary video stream for analysis
(cherry picked from commit 581828b0dcfcd4aa1ae581b899f812071457c9ca)
2024-01-15 23:03:46 -06:00
Mark McDowall 0685896ed8 Fixed: Prevent selecting season or episode in Manual Import if series or episode is not selected
Closes #6354
2024-01-14 12:37:33 -08:00
Mark McDowall ee0048c768 Fixed: Reprocessing multi-language file in Manual Import 2024-01-14 12:37:33 -08:00
bakerboy448 16e5ffa467
Update logging to indicate a hardlink is being attempted 2024-01-14 15:16:53 -05:00
Mark McDowall 431c66c7c1 Update PR Template
[skip ci]
2024-01-14 12:12:30 -08:00
Mark McDowall 57bd6539c8
Update bug_report.yml
[skip ci]
2024-01-14 12:44:37 -05:00
Mark McDowall 637cb1711d
Update PR template
[skip ci]
2024-01-14 12:43:14 -05:00
Weblate 7e011df2b2 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Daniele Prevedello <dprevedello86@gmail.com>
Co-authored-by: DimitriDR <dimitridroeck@gmail.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Watashi <drazy24@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: hansaudun <hans@n5.no>
Co-authored-by: hcharbonnier <hugues.charbonnier@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-01-13 17:07:06 -08:00
Stevie Robinson 79907c881c Add: New icon for deleted episodes with status missing from disk
Signed-off-by: Stevie Robinson <stevie.robinson@gmail.com>
2024-01-13 16:35:13 -08:00
Mark McDowall db6a627983 Don't write global.json while updating API docs 2024-01-13 16:33:17 -08:00
Weblate d76a489be6 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Watashi <drazy24@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-01-13 16:33:01 -08:00
Mark McDowall fd17df0dd0 New: Optional directory setting for Aria2
Closes #6343
2024-01-13 16:32:09 -08:00
Mark McDowall 53cf530893 Fixed: Series posters flickering when width changes repeatedly
Closes #6311
2024-01-13 16:31:58 -08:00
Mark McDowall 91f33c670e Fix post-build test reporting and report summary 2024-01-13 11:32:01 -08:00
Mark McDowall d322619733 Temporarily disable deploy 2024-01-12 17:45:32 -08:00
Mark McDowall 1182798929 Actually run Windows integration tests 2024-01-12 17:45:32 -08:00
Mark McDowall ad0249c7db Use publish-unit-test-result-action for test result reporting 2024-01-12 17:45:32 -08:00
Mark McDowall 3259e6dc10 Download artifacts for Publish Test Results workflow 2024-01-12 17:45:32 -08:00
Mark McDowall 541d3307e1 Don't use TestCase for single test 2024-01-12 17:45:32 -08:00
Mark McDowall ad60352bae Ignore CA1825 2024-01-12 17:45:32 -08:00
Mark McDowall 02e051580c
Separate publishing of test results for PRs from forks 2024-01-12 11:56:45 -05:00
Bogdan b8964f8bba
Fixed: Improve torrent blocklist matching 2024-01-11 19:39:27 -05:00
Stevie Robinson 53f6f64448 Update bug_report.yml 2024-01-11 16:38:20 -08:00
Bogdan 9044ecc59b Fixed: Release source for release/push 2024-01-11 16:38:11 -08:00
Bogdan eff0408b0e Fixed: Persist release source for pending releases 2024-01-11 16:38:04 -08:00
ilike2burnthing fef525ddb8
Remove unsupported pagination for Nyaa 2024-01-11 19:37:31 -05:00
ilike2burnthing 3454f1c9ed
Remove dead Torznab presets 2024-01-11 19:37:18 -05:00
Andrejs Ķīlis 21666df8f1 Fixed: Latvian and Russian language parsing
Added proper support for Latvian with test cases I have encountered in the wild and fixed a case where Russian is not recognized (RU instead of RUS).
2024-01-11 16:36:55 -08:00
Bogdan fd58e9671c Remove unused LanguagesBelowCutoff 2024-01-11 16:36:27 -08:00
Bogdan 8971ac2e14
Fixed: Series end date is UTC 2024-01-11 19:36:18 -05:00
Stevie Robinson a99fc6fa66
Exit Debian Install Script when running from install dir 2024-01-11 19:33:37 -05:00
Stevie Robinson 587b600d6c
Fix Missing HelpText Translation Keys 2024-01-11 19:33:01 -05:00
Gabriel Patzleiner 06b86d4fad
New: Parse German Dual Language and Multi-language releases 2024-01-11 19:32:40 -05:00
Mark McDowall 6b92b556bb Build and publish using GitHub actions 2024-01-11 16:31:45 -08:00
Weblate a49cf72869 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: DimitriDR <dimitridroeck@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bianying1 <luzhenn@gmail.com>
Co-authored-by: liangyi <994302767@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-01-11 16:31:25 -08:00
Weblate 070919a7e6 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: DimitriDR <dimitridroeck@gmail.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: JJonttuu <oikeaihminen@protonmail.com>
Co-authored-by: Mario Rodriguez <mario2423@gmail.com>
Co-authored-by: Norbi <kovinor123@gmail.com>
Co-authored-by: RicardoVelaC <ricardovelac@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: 饶志华 <879467666@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2024-01-05 18:06:05 -06:00
Stevie Robinson 8f7f23c938
Translate Notifications settings 2024-01-03 12:41:16 -08:00
Bogdan cd2ce34f10 New: Custom formats in episode history
Details part of actions in episode history
2024-01-03 12:39:40 -08:00
Mark McDowall d172f2e6d9 Remove version.sh 2024-01-03 12:39:02 -08:00
Mark McDowall 46517e4397 install.sh: Use /dev/tty for user input 2024-01-03 12:39:02 -08:00
Stevie Robinson b7ce5a8318 Bump packageVersions 2024-01-03 12:38:55 -08:00
Stevie Robinson 87d0a6bdf6 Bump MacOS Major Version 2024-01-03 12:38:55 -08:00
Bogdan b6ffe935e8
Fixed: Don't monitor last season if series is ended 2024-01-03 12:38:24 -08:00
Bogdan 0673374e97 New: Watch list sorting and rate limit for Trakt Import Lists 2024-01-03 12:37:20 -08:00
Weblate 84c95f5a9d Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Mario Rodriguez <mario2423@gmail.com>
Co-authored-by: Norbi <kovinor123@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2024-01-03 12:36:23 -08:00
Stevie Robinson 72401759b5
install.sh: Remove UTF8-BOM 2024-01-02 04:24:58 -05:00
Mark McDowall 4e19fec123 Fixed: Disable SSL on start if certificate path is not set 2023-12-31 15:53:52 -08:00
Weblate 5ce98fd83d Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: SunStorm <me@sunstorm.rocks>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chiral-lab <jan.eltner@googlemail.com>
Co-authored-by: ube <ube@alienautopsy.net>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/sv/
Translation: Servarr/Sonarr
2023-12-30 17:20:32 -08:00
Bogdan bc20ef73bd New: Retry on failed downloads of torrent and nzb files 2023-12-30 16:07:18 -08:00
Bogdan 16d60a6586
Fixed: Show errors when adding Root Folder 2023-12-30 19:07:06 -05:00
Bogdan 0a5200766e Fixed: Ignore empty tags when adding items to Flood 2023-12-30 16:06:28 -08:00
Bogdan be937ec581 New: HDR metadata for Trakt connection 2023-12-30 16:06:17 -08:00
Bogdan 1f82b9fb78 New: Rate limiting for Trakt connection 2023-12-30 16:06:17 -08:00
Bogdan c8a1118679 Simplify mapping in Trakt connection 2023-12-30 16:06:17 -08:00
Stevie Robinson 91053ca51d
New: Add sorting to Manage Indexer and Download Client modals 2023-12-30 19:05:59 -05:00
Bogdan 4085771602
Fixed: Available fields for Discord Manual Interaction Required 2023-12-30 19:05:19 -05:00
Stevie Robinson efb000529b New: Show Proper or Repack tag in interactive search 2023-12-30 16:04:18 -08:00
Mark McDowall 4b22200708 New: Add qBittorrent option for Content Layout
Closes #6213
2023-12-30 16:04:09 -08:00
Stevie Robinson f9148c36db
Remove yes/no check from install.sh 2023-12-30 09:43:15 -08:00
Stevie Robinson 7a82e7b365
Add install.sh script and remove debian package 2023-12-29 18:13:05 -05:00
bakerboy448 65aeb19486
Improve Custom Format compare logging
Co-authored-by: Stevie Robinson <stevie.robinson@gmail.com>
2023-12-28 15:35:04 -05:00
Weblate f9d9754220 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Aitzol Garmendia <aitzolgarmendia@gmail.com>
Co-authored-by: Dimitri <dimitridroeck@gmail.com>
Co-authored-by: Koch Norbert <kochnorbert@icloud.com>
Co-authored-by: Nicola <nicola.neri@gmail.com>
Co-authored-by: Pietro Ribeiro <xxb1exuv6@mozmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrizl <chrizl@gmail.com>
Co-authored-by: resi23 <x-resistant-x@gmx.de>
Co-authored-by: slammingdeath <sebastianbrudny97@gmail.com>
Co-authored-by: ηg <jonas.konrath@icloud.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translation: Servarr/Sonarr
2023-12-28 12:34:30 -08:00
Bogdan e291834393 Fixed: Bump media info revision for DV HDR10Plus 2023-12-18 22:54:54 -08:00
Weblate 8ff6354d44 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Andrés Reyes Monge <armonge@gmail.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Menno Liefstingh <mennoliefstingh@gmail.com>
Co-authored-by: Michael Schönenberger <muchi94@gmail.com>
Co-authored-by: VisoTC <szlytlyt@outlook.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-12-18 22:54:40 -08:00
Mark McDowall 5a3bc49392 Fixed: Imported episodes updating on Calendar
Closes #6240
2023-12-14 17:27:53 -08:00
Bogdan 0cd5bb50bd
Fixed: Undefined statistics and season folder column width on series index 2023-12-14 20:25:36 -05:00
nuxen e4ec065386
New: Parse 'E.N.D' Release Group 2023-12-14 20:24:48 -05:00
Fossil e7224832cf
Updated NZB Finder categories and removed OZnzb 2023-12-14 20:24:17 -05:00
Agneev Mukherjee da9a60691f
Enable browser navigation buttons for PWA 2023-12-14 20:24:09 -05:00
Bogdan 848c03f16a
New: Support for DV HDR10Plus from media info
Co-authored-by: Chad A Simmons <chad.simmons@member.fsf.org>
2023-12-14 20:23:54 -05:00
Bogdan 96cb7c4d5f
Fixed: Handle query limit error and add rate limit for BroadcastheNet
Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
2023-12-14 20:23:07 -05:00
Stevie Robinson aa9d25211f
Hide ratings on series page if non existent 2023-12-14 20:22:34 -05:00
Weblate c9a8d32042 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Appoxo <appoxo@appoxo.de>
Co-authored-by: Augusto Poletti <augustpolet@gmail.com>
Co-authored-by: Charlie <zola@zipmail.pw>
Co-authored-by: David Molero <contact@dolvem.com>
Co-authored-by: Dimitri <dimitridroeck@gmail.com>
Co-authored-by: Dominika Matějková <dominika.matejkova@outlook.cz>
Co-authored-by: Hajiroxx <luypanda@163.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Jurriaan Den Toonder <jur.den.toonder@gmail.com>
Co-authored-by: Patatra <patrice.chevreau@gmail.com>
Co-authored-by: ROSERAT Ugo <roserat.ugo@gmail.com>
Co-authored-by: RicardoVelaC <ricardovelac@gmail.com>
Co-authored-by: SHUAI.W <x@ousui.org>
Co-authored-by: VisoTC <szlytlyt@outlook.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Zalhera <tobias.bechen@gmail.com>
Co-authored-by: liimee <git.taaa@fedora.email>
Co-authored-by: ndqnnwg <andydq@foxmail.com>
Co-authored-by: resi23 <x-resistant-x@gmx.de>
Co-authored-by: 米大饭 <1246333567@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/id/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/lv/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-12-14 17:22:15 -08:00
Qstick 97ee24507f Fixed: Correctly handle Migration when PG Host has ".db" 2023-12-11 16:43:03 -08:00
Bogdan 4bb9dc78a7 Add missing translation key MonitorNewItems 2023-12-11 16:42:48 -08:00
Bogdan 5e61b413b7 Fix filter type for series' network 2023-12-11 16:42:48 -08:00
Stevie Robinson c6ad2396bb
New: Remove Defunct Boxcar notifications 2023-11-25 15:23:00 -05:00
Stevie Robinson 75420d4a89
Fix missing translation key MonitorNone 2023-11-25 15:22:37 -05:00
Weblate 749d841d3a Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2023-11-25 12:20:56 -08:00
Bogdan 4e048bf499 Wrap long lines in description lists 2023-11-19 21:32:06 -08:00
Mark McDowall 65cb1ccafd Fixed force saving provider triggering testing 2023-11-19 21:02:28 -08:00
Mark McDowall d211887050 New: Add more exception release groups
Closes #6146
2023-11-19 20:45:37 -08:00
Mark McDowall 804a5921b3 Fixed: Saving indexer, download client, etc settings 2023-11-19 14:47:30 -08:00
Bogdan 87ecbf39c1
Fixed: Autotagging Genres are case insensitive 2023-11-19 17:47:27 -05:00
Stevie Robinson 174deb2509
Fix missing translation renames 2023-11-19 14:54:18 -05:00
Stevie Robinson 7464c09a46
Update translation keys to be Sonarr specific 2023-11-19 14:34:32 -05:00
Sonarr 0bfa7aed83 Automated API Docs update
ignore-downstream
2023-11-19 11:29:11 -08:00
Weblate dd5a4ad0dc Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Андрей <andryfly7@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translation: Servarr/Sonarr
2023-11-19 11:28:59 -08:00
nexus671 4f57c088a1
Fixed: Plex RSS TMDb ID Lookup 2023-11-19 14:27:31 -05:00
Stevie Robinson 81f3c4bd55
Cleanup appName tokens 2023-11-19 13:56:28 -05:00
Bogdan 366d8a4e78 New: Confirmation before clearing blocklist 2023-11-19 10:55:28 -08:00
Mark McDowall b248163df5 New: Require password confirmation when setting or changing password 2023-11-19 10:54:20 -08:00
Mark McDowall d95660d3c7 Fixed: Disable SSL when migrating from v3
Closes #5979
2023-11-19 10:54:20 -08:00
Mark McDowall c922cc5dc6 Always validate Custom Script path 2023-11-19 10:54:05 -08:00
Stevie Robinson c3dcc542da
Fix translation tokens 2023-11-19 13:53:30 -05:00
Jendrik Weise b4ac495983
New: Custom import scripts can communicate information back 2023-11-19 13:52:37 -05:00
Mark McDowall 3541cd7ba8 Fixed: Blocklisting torrents from indexers that do not provide torrent hash
Closes #6108
2023-11-19 10:50:08 -08:00
Mark McDowall 5d86329c18 Last Season and Recent Episodes
New: Added option to only monitor recent episodes
Fixed: Last Season always monitors the whole season
Closes #6175
2023-11-19 10:49:53 -08:00
Qstick ade40b72bc New: Option to control whether new seasons get monitored automatically
(cherry picked from commit b95a84f6612333d96fcdca083f9c39d96956f3f4)
Closes #5083
2023-11-19 10:49:53 -08:00
Bogdan 5328fb4ab3
New: Additional options for HDBits 2023-11-17 10:25:38 -05:00
Weblate 6ddfd99619 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: kevin8717 <871728422@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-11-17 07:23:21 -08:00
Mark McDowall 812712e284 Rename 'ReturnUrl' to 'returnUrl' for forms auth redirection 2023-11-16 16:35:15 -08:00
Mark McDowall c028222617 New: Support import list lookup by TMDb ID 2023-11-16 16:35:15 -08:00
Mark McDowall 71fd09f162 Don't retest unchanged providers
New: Don't retest connections, indexers, download clients, etc if re-saved with the exact same settings
Closes #6169
2023-11-16 16:35:15 -08:00
bakerboy448 c7d12066bf
Fixed: Logging length of sample file
Closes #6180
2023-11-16 19:32:51 -05:00
Stevie Robinson b76bf37371
Fixed: Custom Format Deletion confirmation message
Closes #6172
2023-11-16 19:31:44 -05:00
Bogdan c3b4126d0c Fixed: Enforce validation warnings when testing providers 2023-11-16 16:30:43 -08:00
Stevie Robinson f205cfabab
Translate Indexers on the backend 2023-11-16 19:30:22 -05:00
Qstick e68b13940d Bump ffprobe to 5.1.4 2023-11-11 11:17:08 -06:00
Stevie Robinson 48b12f5b00
Translate Download Clients on the backend 2023-11-10 11:44:04 -05:00
Bogdan 3d05913534 Fixed: Record status for notifications on tests 2023-11-10 11:43:25 -05:00
Mark McDowall de23182d59 Don't store successful results for invalid providers 2023-11-09 17:08:34 -08:00
Mark McDowall 1e295d81f2 Fixed: Don't do title search when adding series from AniList import list
Closes #6140
2023-11-09 17:08:34 -08:00
Mark McDowall 0fe05fb3a9 Remove extraneous comments/code from migrations 2023-11-09 17:08:34 -08:00
Sonarr 24759b9060 Automated API Docs update
ignore-downstream
2023-11-09 19:52:43 -05:00
Weblate eec862d3ff Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Baptiste Mongin <baptiste.mongin@gmail.com>
Co-authored-by: Francisco Cachado <franciscomcachado@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Javier Parada <jparada@gmail.com>
Co-authored-by: Nesego <nesego@gmail.com>
Co-authored-by: RicardoVelaC <ricardovelac@gmail.com>
Co-authored-by: Ruben Lourenco <ruben.lourenco01@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bowsefather <husseinali39@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2023-11-09 19:52:27 -05:00
Stevie Robinson 2e51b8792d
Fixed: Replacing 'appName' translation token 2023-11-09 19:00:54 -05:00
Bogdan 8c3a0ebaba Fixed: Showing already imported episodes as downloading in Series index 2023-11-09 18:59:29 -05:00
Xetera 10fbc4e25a
New: Parsing of Turkish release names 2023-11-09 18:58:38 -05:00
Collin Heist 6432f310e7
New: Add TvdbId to Webhook Episode payload 2023-11-09 18:57:20 -05:00
Bogdan e4b9086a7a
New: Sort root folders by path 2023-11-09 18:57:04 -05:00
Bogdan 0496e728dc New: Resolve download client by name using 'downloadClient' for pushed releases 2023-11-09 18:56:35 -05:00
Zach Nedwich 0a2090237a
Remove extraneous $1 from translation 2023-11-09 18:56:21 -05:00
Mark McDowall 165e3dbae8 New: Parsing for titles with multiple translated titles separated by '/'
Closes #6137
2023-10-29 16:27:30 -07:00
Mark McDowall d484553b31 New: Support SABnzb's new format for sorters
Closes #6125
2023-10-29 14:19:47 -07:00
Mark McDowall 44d8dbaac8 Fixed: Blocking unknown indexers from pushed releases
Closes #5900
2023-10-29 12:14:02 -07:00
Mark McDowall 58d841c463 Fixed: Searching for series with XEM and TVDB mapping overrides 2023-10-29 11:23:31 -07:00
Bogdan aa8659eecd
Fix full disk releases regex for DVDs at the end of the title 2023-10-29 12:44:42 -04:00
Stevie Robinson 6e2162ebf4
New: Relative path as default Sort order on Manual Import 2023-10-28 17:56:18 -04:00
Weblate fc0b42efd5 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Jordy <prive@jordyhoebergen.nl>
Co-authored-by: LeDaFeEs <leonardo.fonseca85300@gmail.com>
Co-authored-by: Lizandra Candido da Silva <lizandra.c.s@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bai0012 <baicongrui@gmail.com>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-10-28 14:53:59 -07:00
Sonarr b0cf36a431 Automated API Docs update
ignore-downstream
2023-10-28 14:52:51 -07:00
Bogdan 192eb7b62a
New: Set busy timeout for SQLite 2023-10-28 17:52:30 -04:00
Bogdan ba447c93e3
Fixed: DVDRip/DVDRemux being treated as full disk releases
Closes #6134
2023-10-28 17:52:13 -04:00
Stevie Robinson a5506b09d2
New: Add [SEV] to release group exceptions
Closes #6118
2023-10-28 17:49:52 -04:00
Stevie Robinson cd1d8a3ff0 fix translation token 2023-10-28 14:49:21 -07:00
Bogdan 36ca24e55a Allow 0 as valid value in QualityProfileExistsValidator 2023-10-28 14:48:39 -07:00
Bogdan e53b7f8c94 New: Add Download Client validation for indexers 2023-10-28 14:48:39 -07:00
Bogdan 653aede0b7 Rename instances of Profile to QualityProfile 2023-10-28 14:48:39 -07:00
Bogdan b06d5fb07b Use the correct property for quality profile on overview 2023-10-28 14:48:26 -07:00
Bogdan f2cae4e2b2 Improve UI notice for delayed queue items 2023-10-28 14:47:50 -07:00
Bogdan dc099a77ca Set proper default props for Queue details and status 2023-10-28 14:47:50 -07:00
Bogdan a171132f98 Fix typo in visible for Queue size 2023-10-28 14:47:50 -07:00
Bogdan 43ed7730f0 Add default value for Queue count to avoid failed prop type 2023-10-28 14:47:50 -07:00
Bogdan 3a99c2781b Remove duplicated condition in history controller 2023-10-28 14:47:50 -07:00
Bogdan 910c403d84 Add translations to history and queue custom filters 2023-10-28 14:47:50 -07:00
Bogdan 6027041a4f Sort series by name in filter builder 2023-10-28 14:47:50 -07:00
Bogdan e9bb1d52a7 Sort Custom Formats by name 2023-10-28 14:46:00 -07:00
Bogdan b183743d9f
Fixed: Avoid import loop for already imported episodes part of season packs
Closes #6075
2023-10-28 17:45:47 -04:00
Stevie Robinson 59ea524e0c Use Diacritical.Net library for TitleFirstCharacter token 2023-10-28 14:45:10 -07:00
Stevie Robinson 99b34c2065
Fix Localization test after translation changes 2023-10-27 09:53:05 -04:00
Qstick 5d90d68bf7
Fix translation for Search for Missing option 2023-10-20 22:14:04 -05:00
Weblate b5e2b32915 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Daniel Suárez Bobes <danielsbobes@gmail.com>
Co-authored-by: DavidHenryThoreau <sorau@protonmail.com>
Co-authored-by: Dlgeri123 <bornemiszageri@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Ruben Lourenco <ruben.lourenco01@gmail.com>
Co-authored-by: Timo <Tclemens@live.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bai0012 <baicongrui@gmail.com>
Co-authored-by: jianl <jianjianfengyun@126.com>
Co-authored-by: 宿命 <331874545@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-10-20 19:29:48 -05:00
Daniel Martin Gonzalez a131c88d5f
New: Add Watched filter type to Trakt User Import List 2023-10-17 02:58:05 -04:00
Stevie Robinson 03f5174a4b
Fixed: Reduce font size for series title on series details
Closes #6087
2023-10-17 02:55:48 -04:00
Stevie Robinson 0219f84789
Fixed: Has Missing Season not applying false condition 2023-10-17 02:54:39 -04:00
Bogdan e8a47b4d0b
New: Support for IMDb ID in Plex Watchlist RSS
Closes #6105
2023-10-17 02:52:59 -04:00
Mark McDowall 2fe8f3084c New: History custom filters
Closes #2974
2023-10-16 23:52:04 -07:00
Mark McDowall e357d17b18 New: Queue custom filters 2023-10-16 23:52:04 -07:00
Mark McDowall fd789343b5 Cleanup Calendar custom filters 2023-10-16 23:52:04 -07:00
Mark McDowall 11f96c3104
Use named tokens for backend translations
Closes #6051
2023-10-17 02:51:00 -04:00
Bogdan 41ed300899
Fixed: Ignore case when cleansing announce URLs
Closes #6047
2023-10-17 02:50:23 -04:00
bakerboy448 7b31287fc4
Fixed: Re-run Removed Series health check after series is deleted 2023-10-17 02:50:08 -04:00
scampower3 ec8da1c7de
New: Add "enddate" tag to Kodi/Jellyfin series metadata 2023-10-17 02:49:22 -04:00
Mark McDowall 076aaba908 Fixed: End year displayed on series details
Closes #6067
2023-10-10 06:58:16 -07:00
Mark McDowall df2e867528 Fixed: Reject full DVD disk releases
Closes #5975
2023-10-10 06:58:16 -07:00
Stevie Robinson 81aaf00a4c
New: Add additional CleanTitle tokens and re-order options
Closes #6066
2023-10-10 09:58:03 -04:00
Bogdan 3ade52fc90
Fixed: Wanted Missing showing Unmonitored episodes
Closes #6084
2023-10-10 09:56:35 -04:00
Sonarr 5bceacb30e Automated API Docs update
ignore-downstream
2023-10-09 22:15:38 -07:00
Mark McDowall 95b389a948 Fix previous airing test 2023-10-09 22:13:00 -07:00
Mark McDowall 78b39bd2fe Log executing health check
Towards #6076
2023-10-09 21:00:05 -07:00
Mark McDowall 4b9baddccd Fixed: Only use monitored episodes for previous/next airing
Closes #6068
2023-10-09 20:41:46 -07:00
Mark McDowall 87e0a7983a New: Download client option for redownloading failed releases from Interactive Search
Closes #5580
2023-10-09 20:41:46 -07:00
Mark McDowall 113b0864b8 New: Sort episodes on series details page
Closes #  4558
2023-10-09 20:41:46 -07:00
Mark McDowall db15a03c1e New: Import List option to search for missing episodes
Close #5882
2023-10-09 20:41:45 -07:00
Bogdan 44eb729ccc Fixed: Avoid logging evaluations when not using any Remote Path Mappings 2023-10-09 20:40:33 -07:00
Bogdan 6de3e7c950 New: Auto tag based on series quality profile 2023-10-09 20:40:22 -07:00
Bogdan a26df9e9af Prevent NullRef for cases when media covers have nullable urls 2023-10-09 20:40:13 -07:00
Stevie Robinson 8c07f0d3d1
New: Additional tooltips for icon buttons 2023-10-09 23:40:00 -04:00
Stevie Robinson 732c2fe12f
Fixed: Parsing Spanish releases 2023-10-09 23:39:26 -04:00
Bogdan 4ffa1816bd Add status test all button for IndexerLongTermStatusCheck 2023-10-09 20:38:59 -07:00
Stevie Robinson b3c691859a
Fixed: Cleanup First Character in Title when using 'TitleFirstCharacter'
Closes #6055
2023-10-09 23:38:49 -04:00
Mark McDowall bfaa7291e1
Paging params in API docs
Closes #6003
2023-10-09 23:37:31 -04:00
Weblate 9f3915d4ad Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dimitri <dimitridroeck@gmail.com>
Co-authored-by: Florian <sephrat.flo@gmail.com>
Co-authored-by: Garkus98 <ivan12061998@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: He Zhu <zhuhe202@qq.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: RicardoVelaC <ricardovelac@gmail.com>
Co-authored-by: Stevie Robinson <stevie.robinson@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: blankhang <blankhang@gmail.com>
Co-authored-by: 宿命 <331874545@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-10-09 20:37:07 -07:00
Mark McDowall b4ef873cc3 Fixed: Treat season packs with volume as partial season packs 2023-09-30 11:59:18 -07:00
Stevie Robinson 33b87acabf Fixed: qBittorent history retention to allow at least 14 days seeding 2023-09-30 11:58:34 -07:00
Stevie Robinson e611e6c1ed Add Translated + Sponsor Badges to README.md 2023-09-30 11:58:27 -07:00
Weblate feee85957f Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Stevie Robinson <stevie.robinson@gmail.com>
Co-authored-by: mr cmuc <github@nextcos.de>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translation: Servarr/Sonarr
2023-09-30 11:58:18 -07:00
Mark McDowall 35365665cf Fixed: Completed downloads in Qbit missing import path 2023-09-27 12:06:30 -07:00
bakerboy448 583eb52ddc
Fixed: Only apply remote path mappings for completed items in Qbit 2023-09-27 10:50:06 -04:00
Stevie Robinson d7ca3490a8 New: Year custom filter in Series Index 2023-09-27 07:48:29 -07:00
Stevie Robinson a3938d8e02
Fixed: SABnzbd history retention to allow at least 14 days
Closes #6044
2023-09-27 10:48:15 -04:00
Bogdan 3620ad2517 Fix typo for Romanian regex group
ignore-downstream
2023-09-27 07:47:38 -07:00
Bogdan a1ea7accb3 Avoid returning null in static resource mapper Task 2023-09-27 07:47:30 -07:00
Weblate 0544011177 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Daghriry <mdaghriri@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Jaspils <jasperkemper@gmail.com>
Co-authored-by: SKAL <sir_kalot@yahoo.it>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: 宿命 <331874545@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ar/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-09-27 07:47:19 -07:00
Bogdan c7824bb593
Fixed: Skip parsing releases without title
Closes #6030
2023-09-19 00:05:28 -04:00
Bogdan d8633b9688 Preserve the protocol for fanart images 2023-09-18 21:02:05 -07:00
Mark McDowall 07f816ffb1 Fixed: Pushed releases not being properly rejected 2023-09-18 20:59:06 -07:00
Weblate 11deefc51d Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translation: Servarr/Sonarr
2023-09-18 00:11:09 -07:00
Bogdan a2f16bddfd Preserve the protocol in Series Image 2023-09-18 00:09:25 -07:00
Qstick f2b0fc946e
Fixed: Show correct error on unauthorized caps call 2023-09-18 00:09:12 -07:00
Stevie Robinson 7f2cd8a0e9 Add health check for dl clients removing completed downloads + enable for sab and qbit 2023-09-18 00:08:24 -07:00
Mark McDowall 5eb420bbe1 New: Don't treat 400 responses from Notifiarr as errors
Closes #5953
2023-09-17 23:56:17 -07:00
Mark McDowall 32e1ae2f64 Fixed: Don't allow quality profile to be created without all qualities
Closes #6005
2023-09-17 23:45:31 -07:00
Mark McDowall 5ff254b646 Fixed: Skip free space check only applies during import
Closes #5951
2023-09-17 23:27:44 -07:00
Mark McDowall fa5bfc3742 New: Optional 'downloadClientId' for pushed releases
Closes #6024
2023-09-17 23:25:00 -07:00
Mark McDowall 9a1022386a Fixed: Don't try to create metadata images if source files doesn't exist
Closes #6015
2023-09-17 23:25:00 -07:00
Herve Lauwerier a4ba3ea244 Multiple Translations updated by Weblate
Translation: Servarr/Sonarr
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
(cherry picked from commit aa8339e6c09182b65ed6e0497eb0fcf9a5abbea9)
2023-09-17 20:07:01 -05:00
Havok Dan c034d50ff3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.0% (1471 of 1485 strings)

Translation: Servarr/Sonarr
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
(cherry picked from commit 3bf0f8ad5b1b05596f1b04f8963be2c5a9da9493)
2023-09-17 19:55:58 -05:00
Bogdan c1d9187bb6 Log exceptions for failed fetches in Custom and Sonarr import lists
Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
2023-09-17 17:17:32 -07:00
Bogdan 82d586e701 Use await on reading the response content 2023-09-17 17:17:04 -07:00
Bogdan ad1f185330 Use async requests for media cover proxy 2023-09-17 17:12:58 -07:00
Qstick ddabe66262 Use variable for App name in translations 2023-09-17 17:12:29 -07:00
Bogdan 60f18249b0
Fixed: Ignore inaccessible mount points 2023-09-13 21:06:08 -04:00
Weblate 7593d4e370 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Akashi2020 <dieux02400@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: He Zhu <zhuhe202@qq.com>
Co-authored-by: Qstick <qstick@gmail.com>
Co-authored-by: Richard de Souza Leite <rs9010482@gmail.com>
Co-authored-by: Shiessis <shiessis@gmail.com>
Co-authored-by: Ulna <ulnasensei@proton.me>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: leotpp <yangdom_li@126.com>
Co-authored-by: volrod64 <sebsogamer@gmail.com>
Co-authored-by: 宿命 <331874545@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/da/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-09-13 18:05:26 -07:00
Bogdan 026327e7a3 Add missing using directive in HealthCheckServiceFixture 2023-09-11 12:40:27 -07:00
Mark McDowall 0abb4ceb26 Fixed: More restrictive finale guessing 2023-09-10 15:25:15 -07:00
Mark McDowall bb7b2808e2 Mock debouncer for testing 2023-09-10 15:25:15 -07:00
Mark McDowall 2a241294b5 Fixed: Parsing of multiple languages from Newznab/Torznab indexer releases
Closes #6004
2023-09-10 15:25:15 -07:00
Denis Gheorghescu 5f09f2b25f
New: Pushcut notifications 2023-09-10 16:09:15 -04:00
Mark McDowall c0e54773e2 Fixed: Duplicate notifications for failed health checks
Closes #4462
2023-09-10 13:07:57 -07:00
Mark McDowall 809788eb2e Map Clearlogo images to cover type 2023-09-10 13:05:41 -07:00
Mark McDowall 40a71d65ec Sonarr not Radarr 2023-09-08 07:34:22 -07:00
Mark McDowall 76f5b26322 Fixed: Windows Installer hanging on removing previous service 2023-09-07 22:00:39 -07:00
Bogdan 060be6177a
Fixed: macOS version detection 2023-09-07 20:12:46 -04:00
Bogdan 1b3ff64cc5
Fixed: Calculating seed time for qBittorrent 2023-09-07 20:12:20 -04:00
Stevie Robinson 0128dca5ac Fix relative imports for Components and Utilities 2023-09-07 17:11:42 -07:00
Weblate a63e787220 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: DavidJares <david.jares@me.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Kevin Orel Edry <techg9@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: 宿命 <331874545@qq.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/he/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-09-07 17:11:30 -07:00
Bogdan 447d8cfbb9 Migrate to merged proposals now included in babel/present-env
Bump core-js too.
2023-09-04 10:30:10 -07:00
Bogdan 828b8e0fe4 Bump dotnet to 6.0.21 2023-09-04 10:30:01 -07:00
Stevie Robinson c39902e58d
Fixed: TBA airing network label 2023-09-04 13:29:34 -04:00
Bogdan 229a4bba05
Use not allowed cursor for disabled select options 2023-09-04 13:29:03 -04:00
Stevie Robinson 3f0e8ce863
Translate Frontend Utilities 2023-09-04 13:28:46 -04:00
Mark McDowall faecdc855f New: Server pushable health checks
Closes #4116
2023-09-01 17:10:07 -07:00
Mark McDowall 276352dda4 Fixed indexer copy translation 2023-09-01 14:36:16 -07:00
Stevie Robinson e04f36186b translate frontend wanted 2023-09-01 14:36:15 -07:00
Weblate a0c2d420c7 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: He Zhu <zhuhe202@qq.com>
Co-authored-by: monopolo11 <bernardorn21@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-08-31 17:50:03 -07:00
Stevie Robinson d31fcbb2df
Translate Frontend Store 2023-08-31 20:49:38 -04:00
Bogdan 467ce70291
Fixed: Increase timeout when downloading updates 2023-08-31 20:49:24 -04:00
randomllama b76de3987b
New: Add Series Status to Kodi .nfo
Closes #5980
2023-08-31 20:48:56 -04:00
Bogdan 6394b3253a
Fixed: Showing Grab ID in history details modal 2023-08-31 20:48:23 -04:00
owine dbb07e2cf6 Add Database to Bug Report template 2023-08-31 17:47:47 -07:00
Stevie Robinson 4c72017412
Fixed: Fallback to English translations if invalid UI language in config 2023-08-31 20:47:38 -04:00
Stevie Robinson c123596c68
Translate frontend series pages 2023-08-31 20:47:17 -04:00
Bogdan 33c52a7037
Fixed: User check in Authentication Required modal 2023-08-29 16:13:50 -04:00
Mark McDowall 610cc91689 NzbDrone -> Sonarr 2023-08-28 21:51:55 -07:00
Mark McDowall 08939f2fb4 Fixed: Auto Tag required not showing in the UI correctly
Closes #5970
2023-08-28 21:51:55 -07:00
Weblate 7180a002cf Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Albert <zuozl1992@foxmail.com>
Co-authored-by: AlexR-sf <omg.portal.supp@gmail.com>
Co-authored-by: ChewyGlitter <lulu3dddsss@gmail.com>
Co-authored-by: DavidJares <david.jares@me.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: He Zhu <zhuhe202@qq.com>
Co-authored-by: Renan da Mota Ciciliato <renanciciliato@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: brokje1988 <brokje1988@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-08-28 21:51:28 -07:00
Bogdan 340740377e Improve messaging in Authentication Required modal
Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
2023-08-28 19:29:07 -07:00
Bogdan 87b3a305e9
Fixed: 'includeSeasonImages' parameter to get single series from API
Closes #5971
2023-08-28 19:28:56 -07:00
Bogdan f521942301 Fix download tooltip in interactive search 2023-08-28 19:28:14 -07:00
Bogdan 2e9dbfd382 Return original token when missing from translation 2023-08-28 19:28:08 -07:00
Stevie Robinson ce4ac75941
Fix missing translations and correct some keys 2023-08-28 19:27:47 -07:00
Bogdan 36c7c79b9e Remove duplicate Language interface 2023-08-28 19:27:27 -07:00
Stevie Robinson 936ef9f461
Add info box under health messages
Closes #5958
2023-08-28 19:27:15 -07:00
Bogdan ec9b29e364
New: Add more information to Select Series Modal
Co-authored-by: Qstick <qstick@gmail.com>
2023-08-28 19:26:38 -07:00
Bogdan dc6204d377 Fix translations and default values in Interactive Search 2023-08-28 19:26:15 -07:00
Bogdan 5a7f42a63e Prevent health checks warnings for disabled notifications 2023-08-22 18:54:47 -07:00
Weblate 2a9883ade0 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: AlexR-sf <omg.portal.supp@gmail.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Renan da Mota Ciciliato <renanciciliato@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: deepserket <deepserket@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translation: Servarr/Sonarr
2023-08-22 18:54:33 -07:00
Qstick 7986488c6d
Fixed: Ignore case when comparing torrent infohash 2023-08-20 15:25:50 -05:00
Mark McDowall fc6ac3ddf1 Fixed: Allow Min/Max age to be the same for year auto tagging 2023-08-20 11:16:44 -07:00
Mark McDowall 7be22af865 New: Auto tag based on series status
Closes #5944
2023-08-20 11:16:44 -07:00
Weblate c0d53671da Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: David Molero <contact@dolvem.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: matt <diabolino7@pm.me>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2023-08-20 13:02:00 -05:00
Mark McDowall 5411863f6a Fixed: Unknown audio language appearing as 'root'
Closes #5602
2023-08-20 00:34:57 -07:00
Mark McDowall 8fbbe21d81 Fixed: Invalid audio language leading to UI error
Closes #5702
2023-08-20 00:34:57 -07:00
Mark McDowall 0274778679 Fixed: Don't reimport the same file from the same release unless grabbed again
Closes #5625
2023-08-20 00:34:57 -07:00
Stevie Robinson 866fbc7f09 Translate Frontend Organize + Rename modal
including changing SeasonNumber component to formatSeason function
2023-08-19 17:03:00 -07:00
Bogdan 0feee19146 New: Async HttpClient 2023-08-19 17:02:48 -07:00
Bogdan 78593f428a New: Use HTTP/2 in HttpClient 2023-08-19 17:02:48 -07:00
Stevie Robinson be24fab897 tweak customformats check logic 2023-08-19 13:53:19 -07:00
Stevie Robinson c14fd2b4a3 Translate Frontend Parse modal 2023-08-19 13:53:19 -07:00
Jendrik Weise 2166e4dce4 Prevent exception when renaming after script import 2023-08-19 13:50:33 -07:00
Sonarr 1273656c8e Automated API Docs update
ignore-downstream
2023-08-19 13:49:18 -07:00
Mark McDowall b271b3b694 Fix tests for ImportListSyncService 2023-08-19 10:52:39 -07:00
Mark McDowall 311cd66fcd New: Show midseason and other finales in episode list
Closes #5719
2023-08-19 01:36:37 -07:00
Sonarr aceaaa10e1 Automated API Docs update
ignore-downstream
2023-08-19 00:23:13 -07:00
Mark McDowall 7f5ddff568 Fixed: Allow decimals for Custom Format size
Closes #5809
2023-08-19 00:14:59 -07:00
Mark McDowall 566fae9d58 New: Success check mark on blue buttons is now white instead of green 2023-08-19 00:14:59 -07:00
Mark McDowall 7be4840f02 New: Less logging when no import lists are enabled
Closes #5927
2023-08-19 00:14:59 -07:00
Stevie Robinson d8f3d7d3ea
Add info box to Remote Path Mappings Settings 2023-08-19 01:33:57 -04:00
Stevie Robinson 1bcef1b4a5 Fix Typo in QualitySource Enum 2023-08-18 22:33:31 -07:00
Mark McDowall b20e247feb
New: Parse language tags from existing subtitles files
Closes #5890
2023-08-19 01:32:54 -04:00
Mark McDowall d05cb40088 Fixed: Ignore IOException deleting download folder after import
Closes #5937
2023-08-18 17:11:55 -07:00
Mark McDowall 8aa872edf4 New: Status message when downloading metadata in qBittorrent
Closes #5940
2023-08-18 17:11:55 -07:00
Stevie Robinson efca704388 Translate Frontend InteractiveSearch 2023-08-17 21:58:45 -07:00
Bogdan 78d4dee461
Replace docker detection for cgroup v2 2023-08-18 00:58:34 -04:00
Mark McDowall d493f8762f Fixed: Hidden files being ignored 2023-08-17 21:21:46 -07:00
Mark McDowall d5c6faaf45 Fixed: Files in releases that span multiple TVDB seasons not automatically imported
Closes #5920
2023-08-17 21:14:09 -07:00
Bogdan cb27b05a6c Fix health link and add translations for notifications status 2023-08-14 19:44:54 -05:00
Qstick c281a7818a Cleanup other provider status code 2023-08-13 23:36:03 -05:00
Qstick e354580172 New: Notifications (Connect) Status 2023-08-13 23:36:03 -05:00
Stevie Robinson 060b66aa39
Add translations to frontend/InteractiveImport 2023-08-13 19:28:16 -04:00
Bogdan 16d95ea6bf
New: Default name when adding providers 2023-08-13 19:27:59 -04:00
Xabis 465a584486
New: AniList Import List 2023-08-13 19:26:03 -04:00
Stevie Robinson efd19b6a6d
Translation fixes for delete confirmations 2023-08-13 17:05:17 -04:00
Stevie Robinson e777b70184
Translate Frontend Components, Episode and Helpers 2023-08-13 17:04:18 -04:00
Stevie Robinson 074aa6f445
Translate Updated and Connection Lost Modals in frontend 2023-08-13 17:03:52 -04:00
Bogdan cc538c4b2d
Show warning when using the docker update mechanism 2023-08-13 17:03:18 -04:00
Weblate 6a0dc72808 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: David Molero <contact@dolvem.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: matt <diabolino7@pm.me>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translation: Servarr/Sonarr
2023-08-13 13:40:09 -07:00
Qstick 3b3bb5971c Fixed: Tag details query broken for Postgres 2023-08-13 13:26:05 -05:00
Mark McDowall 2a7964bc16 New: Auto tag series based on Original Language
Closes #5908
2023-08-13 00:26:37 -07:00
Mark McDowall c1442535b0 New: Parse episode numbers followed by '.5' as specials
Closes #5893
2023-08-12 23:37:37 -07:00
Stevie Robinson 6245e8a552
Revert translations on defaultProps for QueueStatus.js 2023-08-12 20:17:50 -07:00
Stevie Robinson bf43453c04 Translate Calendar Frontend 2023-08-12 20:05:44 -07:00
Qstick b1d12b8ee9 Correctly close connections in UnavailablePendingReleases housekeeper
Regression from PG
2023-08-12 20:59:21 -05:00
Weblate c423d1e7f8 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Albert <zuozl1992@foxmail.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Ivan Mazzoli <dreadtank27@gmail.com>
Co-authored-by: Nir Israel Hen <nirisraelh@gmail.com>
Co-authored-by: PerOHaugstad <perohaugstad@gmail.com>
Co-authored-by: TrojanHorsePower <alaa_alahmad@outlook.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: byakurau <byakurau1@gmail.com>
Co-authored-by: jack-mil <mcrajajack@gmail.com>
Co-authored-by: matt <diabolino7@pm.me>
Co-authored-by: wilfriedarma <wilfriedarma.collet@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/he/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ja/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
(cherry picked from commit 1e7233ca8f0fd611b9ed1441b71072269b9d5aa9)
2023-08-12 13:29:28 -05:00
Mark McDowall 9c7fab69fd Fix LocalizationService tests 2023-08-12 00:41:27 -07:00
Sonarr 5cc720184b Automated API Docs update
ignore-downstream
2023-08-12 00:35:05 -07:00
Qstick c57ceac4de Added table identifier to OrderBy to avoid column ambiguity on joins
Co-Authored-By: Richard <1252123+kharenis@users.noreply.github.com>
2023-08-12 00:45:07 -05:00
Robin Dadswell a13011aa49 New: Postgres Database Support
Co-Authored-By: Qstick <376117+Qstick@users.noreply.github.com>
2023-08-12 00:45:07 -05:00
Qstick 69ddd99eb8 New: Improve performance when adding multiple series at once from lists or import 2023-08-11 23:23:26 -05:00
Qstick df6c89ea23 New: Improve performance of DeleteBadMediaCovers housekeeper 2023-08-11 23:23:26 -05:00
Bogdan d8f314ff0e
Add one minute back-off level for all providers 2023-08-12 00:19:27 -04:00
Stevie Robinson 901b6d2084 Fix RemoveHelpTextWarning > RemoveFromDownloadClientHelpTextWarning 2023-08-11 21:18:47 -07:00
Mark McDowall 1ae0dc81f7 New: Add additional logging when renaming extra files
Closes #5890
2023-08-09 17:42:09 -07:00
ttran913 6b533ef2f9
New: Season pack searching with 'Anime Standard Format Search' 2023-08-09 20:13:35 -04:00
Bogdan 77a4ba4925
Detect Docker when using control group v2 2023-08-09 19:48:52 -04:00
Bogdan 366b2b8b52
New: Show successful grabs in Interactive Search with green icon 2023-08-09 19:48:38 -04:00
Bogdan 51dc96cb6e
Specify in the logs what indexer is lacking capabilities 2023-08-09 19:48:06 -04:00
Stevie Robinson 322836e2b3 Translate Activity pages 2023-08-09 16:47:49 -07:00
Stevie Robinson 02b0710814 Translate frontend/AddSeries 2023-08-09 16:47:42 -07:00
Bogdan f6c05d4456 Fixed: Ensure failing providers are marked as failed when testing all 2023-08-09 16:47:29 -07:00
Mark McDowall 6103c023de Fixed: Allow Original Language in Custom Format
Closes #5897
2023-08-09 08:21:41 -07:00
Mark McDowall 5a7e34e291 Fixed: Don't block updates under docker unless configured in package_info 2023-08-08 17:35:13 -07:00
Mark McDowall 65323d5e87 Fixed: Allow Unknown Language in Custom Format
Closes #5886
2023-08-07 18:07:09 -07:00
Stevie Robinson 31fe942c96 Fix Anime Episode Format key 2023-08-06 10:20:58 -05:00
Qstick 03d361f553
Filter user issues from Sentry (#5859) 2023-08-05 13:35:50 -05:00
Stevie Robinson f2c31e92ce Add Translations to Settings Pages 2023-08-04 10:09:10 -07:00
Sonarr 8008610d47 Automated API Docs update
ignore-downstream
2023-08-03 22:26:47 -07:00
Weblate 27e968be20 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Magnus <magnus.fladvad@gmail.com>
Co-authored-by: Stjepan <stjepstjepanovic@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: stormaac <yxc.frank@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translation: Servarr/Sonarr
2023-08-03 22:25:10 -07:00
Mark McDowall e5aa858410 New: Ignore inaccessible files with getting files
Closes #5818
2023-08-03 22:20:25 -07:00
Mark McDowall 60714eb89a Fix agnostic path in test 2023-08-03 21:35:49 -07:00
Mark McDowall 63a911a9a5 Fix GetBestRootFolderPath tests 2023-08-03 20:12:33 -07:00
Mark McDowall 5f72178445 Fixed: UI loading when series or root folder path is for wrong OS 2023-08-03 17:55:55 -07:00
Mark McDowall d581de00c9 Fixed: Duplicate searches when Anime Standard Format Search enabled on indexer and series has multiple aliases 2023-08-03 17:55:55 -07:00
Bogdan 377fce6fe1
New: Health check for indexers with invalid download client 2023-08-03 20:38:53 -04:00
Bogdan 551ea18caf
Simplify column translations 2023-08-03 20:38:24 -04:00
Stevie Robinson 9188a9971b
Update API docs description 2023-08-03 20:38:06 -04:00
Bogdan 5e1b46d2aa Move RootFolderAppState to root AppState 2023-08-03 17:37:43 -07:00
Qstick 45a72c7918 Fixed: Error trying to notify user when process not UserInteractive 2023-08-03 17:37:34 -07:00
Mark McDowall b7a55daa61 Fixed: Parsing of anime season releases with year after season number 2023-08-03 16:36:07 -07:00
Bogdan ab821ccba8 Remove unused how to apply tags translation 2023-08-01 17:15:26 -07:00
Bogdan 7893fdde10 Improve messaging for Interactive Search 2023-08-01 17:15:26 -07:00
Bogdan e8855c312d Add label translations in columns 2023-08-01 17:15:26 -07:00
Bogdan 67dc898797
Fixed: Clear season search results when navigating to another page 2023-08-01 20:02:25 -04:00
Bogdan a5aab810d7 Convert Root Folders to Typescript 2023-08-01 17:01:14 -07:00
Bogdan 8bd91bd86b New: Add Monitored specification to Auto Tagging 2023-08-01 16:54:40 -07:00
Bogdan c69b5fc72a New: Add Year specification to Auto Tagging 2023-08-01 16:54:40 -07:00
Bogdan 97e96537f5 Fixed: Ensure validation for Auto Tagging specifications
Co-authored-by: Qstick <qstick@gmail.com>
2023-08-01 16:54:40 -07:00
Bogdan cd0ea4ce66 Add translations to Auto Tagging
(cherry picked from commit 17a6683dbb7eb914b4732fc310044ec9baa3f141)
2023-08-01 16:54:40 -07:00
Jessica Nguyen cac101bdee
Fixed: Importing additional Anime Types from Simkl
Co-authored-by: iceypotato <nickyjedi@gmail.com>
2023-08-01 19:53:39 -04:00
Weblate 9218962e3c Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Albert <zuozl1992@foxmail.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: SHUAI.W <x@ousui.org>
Co-authored-by: Thirrian <matthiaslantermann@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: aguillement <adrien.guillement@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-07-30 13:49:38 -07:00
Bogdan a57b35a196 Convert store selectors to Typescript 2023-07-30 11:01:50 -07:00
Bogdan 94c6b0fde3
Fixed: Release note text 2023-07-30 14:01:35 -04:00
Michon van Dooren 8e925ac76d
Fixed: Include preferred size in quality definition reset 2023-07-30 12:45:50 -04:00
Sonarr 560779cc1e Automated API Docs update
ignore-downstream
2023-07-28 19:09:28 -07:00
Bogdan b407eba612
Fixed: Ensure failing indexers are marked as failed when testing all 2023-07-28 19:09:06 -07:00
Jendrik Weise ad0dc01cf7
New: Update matching series path in Jellyfin/Emby library
Closes #5826
2023-07-28 18:40:30 -07:00
Bogdan aee8579d18
New: More translations for columns 2023-07-28 18:39:06 -07:00
Bogdan cda9cf726a Fixed: Recalculate Custom Format Score in Manual Import 2023-07-28 18:38:15 -07:00
Bogdan 3937545e15 Rename formatPreferredWordScore to formatCustomFormatScore 2023-07-28 18:38:15 -07:00
Bogdan ae3dd5730e
Fixed: Check only enabled Jackett indexers for '/all' endpoint
Closes #5848
2023-07-28 18:37:21 -07:00
Stevie Robinson e1c5533efa
Extend InlineMarkdown to handle code blocks in backticks 2023-07-28 18:36:06 -07:00
Bogdan 38c717bcef
Dedupe releases based on indexer priority 2023-07-28 18:35:50 -07:00
Bogdan 3d6cf24d7c
Validation for Custom Format specifications
Co-authored-by: Qstick <qstick@gmail.com>
2023-07-28 18:35:27 -07:00
jack-mil 1a4403e0ab
New: Improved Discord add/delete notifications
Closes #5372
2023-07-26 13:38:56 -04:00
Sonarr 14bea16aef Automated API Docs update
ignore-downstream
2023-07-22 17:15:35 -07:00
Weblate 3bcf832676 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translation: Servarr/Sonarr
2023-07-22 17:15:25 -07:00
Bogdan d9786887f3 Add support for deprecated values in field select options 2023-07-22 17:14:28 -07:00
Stevie Robinson 3c17260c72
New: Update naming examples 2023-07-22 20:13:05 -04:00
Jessica Nguyen b779c92200
New: Simkl Anime List integration
Co-authored-by: iceypotato <nickyjedi@gmail.com>
Closes #5635
2023-07-22 20:11:22 -04:00
Bogdan 180153cd84
Fixed: Ensure Monitoring Options resets to No Change 2023-07-22 20:09:57 -04:00
Stevie Robinson 98cd933640
New: Add translation for IRC link 2023-07-22 20:08:11 -04:00
Bogdan 028152d732
New: Add hover background color to Series table 2023-07-22 20:07:20 -04:00
PearsonFlyer d7025a98de New: Ability to skip redownload when marking an item as failed from Activity Queue 2023-07-22 17:03:16 -07:00
Bogdan 38f263931f Cache busting for CSS files 2023-07-22 16:54:06 -07:00
Sonarr dee8820b1f Automated API Docs update
ignore-downstream
2023-07-19 18:35:32 -07:00
Weblate bb67c30dd5 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Deamon1333 <deamon133@gmail.com>
Co-authored-by: Godwhitelight <godwhitelight1@gmail.com>
Co-authored-by: Guy Porat <guyporatmail@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Leliene <lhena.gardien@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: liimee <git.taaa@fedora.email>
Co-authored-by: 君禹渊 <taoxu2870@outlook.com>
Co-authored-by: 無情天 <kofzhanganguo@126.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/he/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/id/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-07-19 18:35:06 -07:00
Bogdan 5f90fdd998
Add missing translations for Reset Quality Definitions modal 2023-07-19 21:22:31 -04:00
Stevie Robinson 93e8ff0ac7
Translate System pages 2023-07-19 21:19:43 -04:00
bakerboy448 360d989cb0
New: Log when testing for matching Remote Path Mapping 2023-07-19 21:11:05 -04:00
Mark McDowall 6d53d2a153 Fixed: Translations for columns 2023-07-19 17:52:33 -07:00
Bogdan 622f820da9 Run API docs workflow on changes to Sonarr.Http 2023-07-19 13:28:45 -07:00
Mark McDowall 73c5ec1da4 Fixed: Improve translation loading 2023-07-18 20:20:27 -07:00
Mark McDowall bb8fed94eb Fix chunk IDs and source map file names 2023-07-18 09:54:59 -07:00
Bogdan 87021fff43
Update translations for How To Apply Tags 2023-07-18 00:07:08 -04:00
Mark McDowall 3ba7e64cd0 Don't generate API docs for InitializeJson 2023-07-17 21:05:23 -07:00
jack-mil 972e140899
New: Show Custom Format score in Manual Import 2023-07-17 23:46:36 -04:00
Bogdan 5e19478266
Fixed: Error when selecting different Quality Profile 2023-07-17 23:45:46 -04:00
Bogdan 67234222e3 Fixed: Improve quality and episode info output in parse result 2023-07-17 20:43:52 -07:00
Bogdan bc374f07ce Use 2 spaces indentation for ts/tsx files 2023-07-17 20:43:52 -07:00
Mark McDowall f0cb5b81f1 UI loading improvements
Fixed: Caching for dynamically loaded JS files
Fixed: Incorrect caching of initialize.js
2023-07-17 20:37:31 -07:00
Mark McDowall f62bc59a73 Fixed: Translating column names 2023-07-15 21:12:59 -07:00
Stevie Robinson c206b92912
Translate sidebar strings 2023-07-15 17:37:31 -04:00
Mark McDowall 35e171f7b1 Fixed: Order of Discord grab notification fields 2023-07-15 14:34:43 -07:00
Sonarr 5b3b346b77 Automated API Docs update
ignore-downstream
2023-07-15 10:36:00 -07:00
Bogdan d6aee683dc
New: Show tooltips with Custom Formats in History and Queue 2023-07-15 10:29:47 -07:00
jack-mil eadd0c4e10
New: Optionally show Custom Format Score for episodes on Series Details 2023-07-15 10:28:38 -07:00
Mark McDowall ef6ff370ba Fixed: Translating static strings 2023-07-15 09:24:24 -07:00
Mark McDowall c1f8c7b17b Use named keys for apply tags help text 2023-07-15 09:16:19 -07:00
Mark McDowall dce6923b00 Fixed: Parsing of anime title that contains multiple 3-digit numbers
Closes #5801
2023-07-14 17:24:05 -07:00
Mark McDowall ad2721dc55 Fixed: Ensure translations are fetched before loading app 2023-07-14 17:24:05 -07:00
Bogdan 3aa3ac90ed Mark empty bulk endpoints as not implemented 2023-07-11 20:10:20 -07:00
Bogdan d1466ba589 Move ApplyTags to own file 2023-07-11 20:10:20 -07:00
Bogdan 0d3e9a2196 Prevent NullRef for empty ids in bulk endpoint 2023-07-11 20:10:20 -07:00
Bogdan 2693ada7de Add missing provider characteristics to bulk endpoint response 2023-07-11 20:10:20 -07:00
Bogdan e641c57ad9 New: Add translations for managing bulk indexers, lists and clients 2023-07-11 20:10:20 -07:00
Bogdan 45336389e6
Fixed: Handling of no results from BTN searches 2023-07-11 20:13:07 -04:00
Jendrik Weise e7bc145084
New: Option to disable images in Kodi Episode Metadata 2023-07-11 20:12:07 -04:00
Bogdan dc302bfaa8
Fixed: Clearing parse testing 2023-07-11 20:10:30 -04:00
Bogdan 9854884ed3
Fixed: Queue not loading when it contains unmapped releases 2023-07-11 12:45:54 -04:00
Mark McDowall c9e3890f73 Fixed: Remove 'Parse Testing' from sidebar 2023-07-11 07:51:03 -07:00
Weblate e87f853199 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Kevin Orel Edry <techg9@gmail.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Tacit <1750630216@qq.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/he/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_CN/
Translation: Servarr/Sonarr
2023-07-10 22:05:57 -07:00
bakerboy448 9713c36960
New: Clarify path used in Kodi update logging 2023-07-11 01:05:03 -04:00
bakerboy448 d2be869d9c
Import list logging improvements 2023-07-11 01:04:26 -04:00
Mark McDowall 12c3426c95 Fix circular dependency with ScriptImportDecider, TagService and DownloadClientFactory 2023-07-10 22:03:10 -07:00
Mark McDowall 85e2855981 New: Added UI for parsing release names
Closes #5263
2023-07-10 20:54:16 -07:00
Bogdan a77ef187af
Fixed: Anime standard format search on Nyaa 2023-07-10 23:52:27 -04:00
Qstick f6ae9fd6c5
New: Download Client Tags
Closes #402
2023-07-10 23:51:14 -04:00
jack-mil 3a9182b6a6
New: Add Custom Format fields to Discord On Grab notifications
Closes #5769
2023-07-10 23:50:46 -04:00
Jendrik Weise 3f0268b79f
New: Additional info passed in for Script Import and Custom Script 2023-07-10 23:49:49 -04:00
jack-mil a6f2db9139
New: Custom Format Score column in queue
Closes #5780
2023-07-10 23:49:00 -04:00
Qstick 96b7aa6585
Fix error in epic fail handler if console input redirected
Eliminates an unhandled InvalidOperationException and loop causing thousands of sentry errors
2023-07-04 12:58:25 -05:00
Qstick 5638f9c0a1 New: Speed up API add by reworking SeriesExistsValidator 2023-07-03 02:05:35 -05:00
Qstick 51d6fd32dc New: Speed up Series Add by reworking SeriesPathValidator 2023-07-03 02:05:35 -05:00
Weblate 4304d80491 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: BeardedWatermelon <periklis.karantonis@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/el/
Translation: Servarr/Sonarr
2023-07-02 22:38:32 -07:00
Qstick 551edb9e65 Fixed: Allow restore to process backups up to ~500MB 2023-07-02 22:35:24 -07:00
Qstick af8c67a24d Fixed: Correct typing for ImportListExclusions tvdbid column 2023-07-02 22:35:14 -07:00
Bogdan b6f3bcb309 Add ContentSummary to HDBits requests 2023-07-02 22:34:45 -07:00
Bogdan aa2b003167 Create overload for `ToJson()` with Formatting param 2023-07-02 22:34:45 -07:00
Mark McDowall 5c48049702 Fixed: Series added events being sent with series deleted title
Closes #5762
2023-06-27 12:31:24 -07:00
Bogdan dd096e0fda
Fixed: Invalid image URL if Series is missing background image 2023-06-26 18:23:18 -04:00
Weblate bb952e5ddf Multiple Translations updated by Weblate
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Jens <jensmahnke@me.com>
Co-authored-by: KHng0284 <giakhang021109@gmail.com>
Co-authored-by: MoowGlax <matthieu.derouet.pro@gmail.com>
Co-authored-by: Thijs Waalen <contact@thijswaalen.com>
Co-authored-by: Thodoris Kalatzis <teo.kal@hotmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: emacsdias <emacs.dias@gmail.com>
Co-authored-by: liimee <git.taaa@fedora.email>
Co-authored-by: reloxx <reloxx@interia.pl>
Co-authored-by: splifter <a.strahlke@gmail.com>
Co-authored-by: sutoramon <sutoramon@gmail.com>
Co-authored-by: ted09080037 <ted09080037@gmail.com>
Co-authored-by: Андрей <andryfly7@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/el/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/id/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/vi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_TW/
Translation: Servarr/Sonarr
2023-06-26 15:22:19 -07:00
Bogdan 6816767fad Allow array of string as value in EnhancedSelectInput 2023-06-26 15:18:15 -07:00
Bogdan ee843259bc
New: Improve empty list messaging 2023-06-26 18:18:03 -04:00
Sonarr 5184d995ca Automated API Docs update
ignore-downstream
2023-06-24 15:15:19 -05:00
Bogdan 377e5f7fc7
New: Search library by TheTVDB, TV Maze or IMDB IDs 2023-06-20 19:29:15 -07:00
Bogdan 0a05781aca Remove not implemented endpoints from API docs 2023-06-20 19:26:48 -07:00
Bogdan 82919a8ed1 Convert to 'using' declaration in Housekeeping Tasks 2023-06-20 19:26:21 -07:00
Bogdan 9af6d1b9d9 Close database connections in housekeeping tasks
Co-authored-by: ferencmarkizay <ferencmarkizay@gmail.com>
2023-06-20 19:26:21 -07:00
Bogdan b48fe6e633 Prevent NullRef when deleting missing backups
(cherry picked from commit 0ff0fe2e68f3abf7b8e4d6bf0c1e9dee4eb68227)
2023-06-20 19:24:19 -07:00
Bogdan e2f27e0c61
Fixed: Sorting queue by size 2023-06-20 19:16:54 -07:00
Mark McDowall 5601a94016 Add missing imports 2023-06-20 13:02:28 -07:00
Bogdan 1f785dd30d
Show loading errors as Alerts (#5736)
New: Improved page loading errors
2023-06-16 10:49:08 -07:00
Bogdan 059a156f4a Fixed: Treat redirects as errors in Sonarr Import List 2023-06-13 21:03:48 -07:00
Bogdan 19b8fbe13b Require ApiKey for all actions in SonarrImport 2023-06-13 21:03:48 -07:00
Bogdan 2603138975 Update translations 2023-06-13 21:01:32 -07:00
Hayden a6a61a016b
Fixed: Limit Discord embed title length to 256 characters
Co-authored-by: HeyBanditoz <7574664+HeyBanditoz@users.noreply.github.com>
2023-06-13 23:59:51 -04:00
Qstick 11bd764a75 Fixed: Correctly handle 302 and 303 redirects in HttpClient
(cherry picked from commit ed7c5a937f4b50fcdf819e8fe347c8c0bc6bd2e7)
2023-06-13 20:58:30 -07:00
Bogdan 0e07d54ee7 Add HelpTextWarning support in FieldDefinition 2023-06-13 20:55:20 -07:00
Bogdan 0b87280335 Check only clients not in failure status in DownloadClientSortingCheck 2023-06-13 20:54:05 -07:00
Bogdan e5ff4aafa3 Update cleansing rules for RSS TL feed and homedir for Mac 2023-06-13 20:53:20 -07:00
Stevie Robinson 9dc090e15e Update MoreInfo.js with new discord link 2023-06-13 20:52:11 -07:00
bakerboy448 8d8a16225f
Fixed: Handle checkingResumeData state form qBittorrent 2023-06-13 23:50:59 -04:00
Qstick 18716a0051
Update Remote Path Mapping delete modal title 2023-06-12 15:24:06 -04:00
Qstick a8d94773a1 Fixed: Filter series by Tvdb deleted status 2023-06-12 10:07:13 -04:00
Bogdan dd31c913d2 Use more specific styling for kinds in ProgressBar 2023-06-09 15:00:19 -07:00
Zak Saunders d44656bca1 New: Remove Rarbg Indexer due to site shutdown 2023-06-09 14:58:06 -07:00
bakerboy448 3b505d8734
New: Indexer Messaging and Error Improvements 2023-06-09 17:54:04 -04:00
Mark McDowall d606144e00 New: Use major version for installed version on Windows
Closes #5710
2023-06-01 17:46:03 -07:00
Sonarr 474f5f29ca Automated API Docs update
ignore-downstream
2023-05-28 11:46:29 -07:00
Qstick b050e1d2eb Faster tag view in UI for large libraries 2023-05-28 11:08:31 -07:00
Bogdan 48ee1158ad Fixed: Enforce validation warnings 2023-05-28 11:07:40 -07:00
Bogdan 7343616a47 Simplify ShouldHaveApiKey and HasErrors 2023-05-28 11:07:40 -07:00
Qstick efab1b0793 Cleanup react warnings from manage modals 2023-05-28 08:37:39 -05:00
Qstick 593652a84a Fix priority input for provider manage edit modal 2023-05-28 08:37:39 -05:00
Bogdan b06269544c Add minimum length as const in ApiKeyValidationCheck 2023-05-27 17:23:41 -07:00
Bogdan bb97fbc23f Add missing wiki fragments to health checks 2023-05-27 17:23:41 -07:00
Qstick 560a9b63ca New: Translations support for Health Checks
(cherry picked from commit bfc036178487fe0b692f306a53f2a334cdf7f9d5)
2023-05-27 17:23:41 -07:00
Bogdan a22f598b0c Minor improvements in health checks 2023-05-27 17:23:41 -07:00
Bogdan 86a7f7bd54 Deserialize asynchronously in LocalizationService 2023-05-27 17:23:41 -07:00
Bogdan f90bef6934 Fix showing sorting values, add tooltips and translations to SeriesIndexPoster 2023-05-27 16:56:19 -07:00
Bogdan 12374f7f00 Use 'var' instead of explicit type 2023-05-27 16:55:16 -07:00
Bogdan 281add47de Inline 'out' variable declarations 2023-05-27 16:55:16 -07:00
Bogdan 909f2ded6b Standardize variable declaration 2023-05-27 16:55:16 -07:00
Bogdan 6b1e4ef819
Enforce rule IDE0005 on build 2023-05-27 19:53:49 -04:00
Matthew Strapp 8e771f95ad
Fixed: Use relative paths instead of absolute paths for webmanifest 2023-05-27 19:34:48 -04:00
Qstick 73ccab53d5 New: Bulk Manage Import Lists, Indexers, Clients 2023-05-27 18:00:49 -05:00
Qstick 5fd543cf8c Ignore API doc commits downstream
ignore-downstream
2023-05-27 16:51:39 -05:00
bakerboy448 e9bbb0b9ba
Fixed: Webhook notification error messages 2023-05-26 19:45:53 -07:00
bakerboy448 b510201b43
Fixed: A really important spelling mistake 2023-05-26 19:44:32 -07:00
Mark McDowall e273f16c39 Fixed: Strip additional domains from release names 2023-05-26 19:36:50 -07:00
Mark McDowall 49fd9c4462 New: Filter SABnzbd queue by category 2023-05-26 17:14:02 -07:00
Mark McDowall 59f2e5b65d Fixed: Don't log handled exceptions in API
Closes #5690
2023-05-26 17:14:02 -07:00
Bogdan af55e322f1
Fixed: Sorting search releases by language 2023-05-26 16:19:42 -04:00
Sonarr 3ac5edeb09 Automated API Docs update 2023-05-25 10:34:05 -07:00
Mark McDowall f05405fe1c Fixed: Don't rollback file move if destination already exists
Towards #5610
2023-05-22 22:11:17 -07:00
JeWe37 9f1e215120
New: Option to Import via Script
Closes #791
2023-05-22 23:36:17 -04:00
Bogdan 365a6e77a6 Use project name as relative path in builds
(cherry picked from commit fb908e8e1969e633a50ca000c767a998427363b2)
2023-05-22 20:33:57 -07:00
Mark McDowall 349f7cf4c9 Rename Clearart to Clearlogo, use png for Clearlogo 2023-05-22 10:32:03 -07:00
Mark McDowall aecc8295c8 Fixed: Don't download unknown artwork 2023-05-22 09:00:36 -07:00
Stevie Robinson f2ddd4757c
Fixed: Parsing Vyndros as release group 2023-05-21 17:05:48 -04:00
Stevie Robinson bf90c3cbdd
New: refresh only selected or filtered series
Closes #5611
2023-05-21 17:05:30 -04:00
Bogdan a117001de6 New: Improve validation messages 2023-05-21 09:24:59 -07:00
Bogdan 6118afa339 Minor CS improvements in NzbDroneValidation 2023-05-21 09:24:59 -07:00
S0me6uy 59dd3b1127
New: Signal Notifications
Co-authored-by: Your Name <yohoho@testsmsd.com>
2023-05-21 12:22:00 -04:00
Bogdan de3bfb7c5a
Fix spelling "Use languages from Torznab/Newznab attributes if given" 2023-05-21 12:05:18 -04:00
Bogdan 90a9ecbaac Fix tests in IndexerServiceFixture 2023-05-21 09:03:51 -07:00
Bogdan d492f28645 Fix tests in TorrentDownloadStationFixture 2023-05-21 09:03:51 -07:00
Mark McDowall d743a8f7e9 Fixed tests in DownloadServiceFixture 2023-05-20 21:15:10 -07:00
Mark McDowall 3cd33d3f44 Fixed: Don't move seeding torrents in Synology Download Station
Closes #3997
2023-05-20 20:56:02 -07:00
Mark McDowall b38c1255dc Fixed: Don't retry grabbing the same release if download client is unavailable
Closes #3116
2023-05-20 20:51:24 -07:00
Mark McDowall f946d78153 Fixed: Exception when request to SABnzbd times out 2023-05-20 16:59:06 -07:00
Qstick 9c5a07f62a New: Use languages from Torznab/Newznab attributes if given
Closes #5654
2023-05-20 16:31:30 -07:00
Mark McDowall 7238100145 Add FindByName to IsoLanguage 2023-05-20 16:24:38 -07:00
Mark McDowall 4fe79e9a4e Fixed: Parsing of some additional Chinese anime releases
Closes #5667
2023-05-20 15:15:48 -07:00
Bogdan 2016f11b1c
New: Show current tags for Connections 2023-05-19 18:55:44 -04:00
Bogdan 9bdc618366 Fixed: Use indexer errors from response if Content-Type is XML before processing response 2023-05-18 17:32:24 -07:00
Sonarr 4fecd6ed89 Automated API Docs update 2023-05-18 16:43:35 -07:00
Qstick 94a8ef6304 New: Advanced settings toggle in indexer edit/add modal
(cherry picked from commit a570fd2a8f138fb89c5b0ae43ddb7919f6bf26e3)
2023-05-18 16:43:08 -07:00
Qstick de08d37267 New: Add path mapping for partial library updates in Plex Server Notifications
(cherry picked from commit 24206ad0a3095c4bf5c860af516d8543bd6525d6)
2023-05-18 16:41:06 -07:00
Bogdan ef0b91b45b Add `forceSave` to the OpenAPI docs 2023-05-18 16:37:34 -07:00
Bogdan b5050d02d6
Fixed: Log name of mount point failure 2023-05-17 20:12:06 -04:00
Bogdan 3ece1533d8 Fix checking for SameTorrent when the indexer is null 2023-05-17 17:00:27 -07:00
Bogdan f32a3cd41c Sort tags by label
(cherry picked from commit bb1ebda753157a96154095e0c1e32703f2a68d1a)

Co-authored-by: Mark McDowall <markus.mcd5@gmail.com>
2023-05-17 16:58:15 -07:00
Sonarr 14411f1f15 Automated API Docs update 2023-05-14 21:23:46 -07:00
Bogdan 3508cb63dc Update UI dependencies 2023-05-14 21:11:16 -07:00
Bogdan 3840e97da2 Update openapi.json with Github Actions 2023-05-14 21:09:03 -07:00
Bogdan 2fecd28001 Fix validation for boolean query parameters 2023-05-14 21:09:03 -07:00
Bogdan 5de7322d60 Add Pull Request Labeler 2023-05-14 10:06:48 -07:00
Bogdan 498722b240
Fixed: Prevent unknown settings implementation from failing to deserialize
(cherry picked from commit 0e2cc7851f556e928e52bb2886c7d60c13b0741e)

Log removal of invalid definitions as warnings

(cherry picked from commit 3d61719a2cc9c87ac3c92b5358bb5034aed4c2ff)
2023-05-14 10:01:55 -07:00
Qstick eacb619cfb
Fixed: Avoid error in CF calculation when release is unparsable 2023-05-13 15:40:27 -05:00
Mark McDowall 711331526b Add missing wiki hashes to health checks 2023-05-12 16:56:00 -07:00
Qstick ed22bb719d DownloadClientRootFolderCheck Improvements 2023-05-12 16:55:56 -07:00
Qstick 1f20bc63c6 RemotePathMappingCheck Improvements 2023-05-12 16:55:44 -07:00
Qstick 202449c40c Fixed: Provider health checks persist after add until next scheduled check 2023-05-12 16:55:35 -07:00
Mark McDowall 62b948b24c New: Calendar filtering by tags
Closes #5476
2023-05-11 22:36:26 -07:00
Mark McDowall 7c0d344437 New: Calendar month view will scroll to today on load and press
Closes #5574
2023-05-11 20:58:12 -07:00
Mark McDowall c7d39579b4 New: Log additional information when processing completed torrents from rTorrent
Closes #5638
2023-05-11 17:35:40 -07:00
Bogdan 3af7a6df7d Remove unused field userAgentBuilder in HttpClient 2023-05-10 21:10:36 -07:00
Bogdan 477bfb7835 Minor cleanup in RssImport 2023-05-10 21:10:09 -07:00
Bogdan c6b543e072 Remove unused imports 2023-05-10 21:08:13 -07:00
Bogdan f93a016be1 Remove empty constructors 2023-05-10 21:08:13 -07:00
Mark McDowall f63e060ac4 Use QualityProfile instead of any 2023-05-10 21:01:52 -07:00
Mark McDowall e882d0f385 Fixed CompletedDownloadService.Process tests 2023-05-09 13:11:12 -07:00
Mark McDowall 0e6f858e65 Fixed tests 2023-05-09 10:03:53 -07:00
Mark McDowall f56d504816 Fixed: Incorrect event types for interactive import required notifications 2023-05-09 08:09:27 -07:00
Stickie 5ec282750b New: Notifications when Manual Interaction is required for importing
Closes #5193
2023-05-08 16:35:03 -07:00
ta264 63654b99f2 Fixed: Don't buffer update package to memory when downloading 2023-05-08 16:35:03 -07:00
Bogdan 9325140b90
API key improvements
Fixed: Special characters in API key
New: Add heathcheck for API Key
2023-05-07 20:56:26 -07:00
Mark McDowall eaa4a358e8 Why rename many files when few file do trick 2023-05-07 20:25:55 -07:00
bakerboy448 e72431144b
New: Improved maintenance release wording 2023-05-07 18:58:56 -07:00
Mark McDowall 993c69530e GracePeriod not Graceperiod 2023-05-07 18:57:55 -07:00
The Dark 5fdc8514da
New: On Health Restored notification
Closes #4262
2023-05-07 18:57:14 -07:00
Bogdan fbf79c6639 Downgrade rimraf to v4 2023-05-07 18:50:11 -07:00
Bogdan 76f93c8415
Fixed: Ensure indexer errors are handled before processing response 2023-05-07 10:29:51 -07:00
Bogdan 8f482c534f
Fixed: custom script error when importing some downloads
Co-authored-by: Qstick <376117+Qstick@users.noreply.github.com>

Closes #5617
2023-05-07 10:23:47 -07:00
Benjamin Staneck 6a49f3989a Fix stylelint runs by pinning string-width to a non ESM-only version
Add `inset` to stylelintrc
2023-05-07 10:20:08 -07:00
Benjamin Staneck d79f42351f Remove unused babel plugins and fix build with profiling 2023-05-07 10:20:08 -07:00
Benjamin Staneck 4aba540b89 Update all relevant dev tool deps
Delete esformatter

Address lint failures

Delete unknown component property

remove deprecated stylelint rules

Address stylelint violation

Update rimraf
2023-05-07 10:20:08 -07:00
Benjamin Staneck 9ebd2f96ad Add VSCode extension recommendations
To make it easier for new contributors, suggest extensions for the tools we use
2023-05-07 10:20:08 -07:00
Benjamin Staneck e12c679cd8 Move vscode settings to the frontend folder
Since it applies to all of frontend, I think it makes more sense to have it here instead of src
2023-05-07 10:20:08 -07:00
Benjamin Staneck 0da89478cc Delete various old config files
Delete `jsconfig.json`

This file actually did nothing since we have a `tsconfig.json`. Behavior does not change since `checkJs` is `false` in both.

Delete `.jsbeautifyrc`

Was not used from what I could tell and we have a ESFormatter config file as well and that is basically the successor.

Delete `.csscomb.json`

Was not used from what I could tell, also the project seems dead, last publish 4 years ago. Also we have stylelint in place that covers CSS.
2023-05-07 10:20:08 -07:00
Bogdan a95317446c Log invalid config file exceptions
(cherry picked from commit e1d0e2c79975a10c12fc8551f5dcd4a79f1c94e7)
2023-05-07 10:18:00 -07:00
Qstick 3a6c078b30 Fixed: Catch InvalidDataException during initial config to prevent boot loop
(cherry picked from commit 9862584611f29ac3f16e0c6ef0afb183ff3f0588)
2023-05-07 10:18:00 -07:00
Mark McDowall 77efc4cc40
Fixed: Timeout when getting root folder details 2023-05-07 09:52:35 -07:00
Mark McDowall 453891e620 New: Only add version header for API requests
Closes #5601
2023-05-06 22:34:22 -07:00
Mark McDowall 95b52e630a Remove duplicated processing of unparsed paths 2023-05-06 21:53:01 -07:00
Bogdan 5bb03a9ddf
New: Add token authentication for ntfy.sh notifications
Co-authored-by: KucharczykL <lukas@kucharczyk.xyz>
2023-05-06 21:30:31 -07:00
Bogdan e3f71ca79c
New: Log content for invalid torrent files 2023-05-06 11:22:49 -07:00
Bogdan ca8b26138e Fix downloading releases without an indexer 2023-05-01 19:28:04 -05:00
Bogdan b0773ae7e3 Fix loading eslintrc 2023-04-29 21:12:20 -07:00
Bogdan a0b08f6c6f
Build download requests from indexer implementation 2023-04-30 00:09:11 -04:00
Benjamin Staneck 7aa8463438
Fixed some aria violations 2023-04-30 00:05:21 -04:00
Benjamin Staneck 5d873fafec
New: Updated button and calendar outline colors for dark theme 2023-04-29 23:58:01 -04:00
Qstick 7ce0d4a9db Fixed: Use augmented languages for queue items 2023-04-29 17:15:39 -05:00
Fabricio Silva 83cee4b00e
Fixed: Edit Quality Profile not opening
Closes #5588
2023-04-28 10:46:26 -04:00
Benjamin Staneck de4cfefde4
Update core-js and use defaults for browserlist 2023-04-27 22:37:38 -07:00
Benjamin Staneck bb77bb640c
Use minified jquery 2023-04-27 10:33:59 -04:00
Benjamin Staneck 8bcaa17e25
Update webpack and webpack-cli 2023-04-27 10:33:10 -04:00
Benjamin Staneck 0d48ebe8de
Remove unused gulpFile 2023-04-27 10:32:48 -04:00
Benjamin Staneck e34d250440
Fix typo in calendarBackgroundColor CSS variable 2023-04-27 10:32:31 -04:00
Lars 3141bf7f9d
Fixed: Subtitle tags from existing subtitle files being lost during rename
Closes #5577
2023-04-26 23:18:58 -04:00
Mark McDowall 8c50cd061e New: Report health error if Recycling Bin folder is not writable
Closes #4692
2023-04-24 21:58:51 -07:00
Gabriel Sjöberg 99c4f5b746
Use BuildInfo.AppName for RARBG appId instead of hardcoded value 2023-04-25 00:54:12 -04:00
Lars ff3327483a
New: Filter Sonarr synchronization based on Root Folders
Closes #4835
2023-04-25 00:44:20 -04:00
Mark McDowall 0bc16efe26 Don't clean slashes from folder names 2023-04-24 13:12:35 -07:00
Mark McDowall b3260ba866 New: Colon replacement naming option 2023-04-24 07:59:36 -07:00
Mark McDowall d3ad970ecc Use enum for MultiEpisodeStyle property 2023-04-24 07:59:35 -07:00
Bogdan ed7d99c160 New: Add Apprise notifications 2023-04-22 18:17:24 -07:00
Robin Dadswell 720fc2818f Frontend Placeholders from the Backend
(cherry picked from commit 69f5963f6f1e80e3f598bdb13792b7413fcc13b1)
2023-04-22 18:17:24 -07:00
Mark McDowall 94b5d23094 Fixed TruncatedEpisodeTitlesFixture tests 2023-04-22 18:16:15 -07:00
Mark McDowall cf48bf3041 Fixed: Ensure first history item when marked as failed is the selected item 2023-04-21 17:45:45 -07:00
Mark McDowall 6fe5573298 Fixed: Override modal not closed after grabbing 2023-04-21 17:45:45 -07:00
Mark McDowall 183b10f79a New: Change default Multi-Episode style to Prefixed Range
Closes #5572
2023-04-21 17:45:45 -07:00
Stevie Robinson bead56893f
Fixed: Border hover colors in dark theme 2023-04-21 20:28:07 -04:00
Mark McDowall 97cf3cee17 New: Don't prevent season searches for Newznab/Torznab if supported by the indexer
Closes #5562
2023-04-19 16:14:09 -07:00
Mark McDowall 764c084987 New: Don't try to analyze disk image files (iso, img, etc)
Closes #5567
2023-04-19 16:14:09 -07:00
Mark McDowall a989c84260 Fixed: Tag filtering on iCal feed 2023-04-19 16:14:09 -07:00
Stevie Robinson 7ed0407e77
Fixed: Spacing between manual download and override download buttons 2023-04-19 19:14:06 -04:00
Stevie Robinson 3e87870370
Fixed: Hover color on override download button 2023-04-19 13:35:45 -04:00
Bogdan b303e9c21a
New: Serve log files as UTF-8 2023-04-18 15:50:43 -04:00
Michael Peleshenko 2303bff205
Fixed: Return properly formatted episode file for deleted files Webhook 2023-04-16 17:48:59 -07:00
Qstick 5a04602672 Remove mono process detection 2023-04-16 19:21:13 -05:00
Bogdan 6f614b7d47
Rename to FolderChmodValidator to match class name 2023-04-15 12:21:17 -07:00
Stepan Goremykin 6413d212e5 Update signalr to 6.0.15 2023-04-14 16:48:47 -07:00
Stepan Goremykin 40e54685b9 Migrate to FluentValidation 9 2023-04-14 16:48:47 -07:00
Mark McDowall dec6e14036 New: On Add Series connection event
Closes #3637
2023-04-14 16:48:07 -07:00
Mark McDowall 619ac557f9 Fixed: Importing from Manage Episodes ignoring Analyse video files 2023-04-14 16:48:07 -07:00
Lars c8933d8124
New: Option to use Telegram topics for notifications
Closes #5486
2023-04-14 19:47:06 -04:00
Mark McDowall 47cf8e6430
New: Updated Rarbg request limits
Closes #5206
2023-04-13 22:54:37 -04:00
Bogdan ed3d880974
New: Add version and timestamp to backup archive 2023-04-13 22:53:32 -04:00
Qstick 39350ed0de New: Improve video stream formatting 2023-04-13 21:20:01 -05:00
Qstick b0834015e7 New: Improve primary video stream selection 2023-04-13 21:20:01 -05:00
Bakerboy448 128f62488d Fixed: DrunkenSlug Default URL 2023-04-13 18:48:41 -07:00
Mark McDowall 83a9d15ff8 New: More information on on why hardlinks should be used over copying
Closes #5542
2023-04-11 16:27:44 -07:00
Bogdan 2107635b7e
Fixed: Config file settings do not need to be case-sensitive 2023-04-11 14:52:25 -04:00
Mark McDowall 3b5e83670b Appease linter 2023-04-11 08:55:51 -07:00
Mark McDowall 513b746fc3 Fixed: Series selection unselecting on mobile browsers
Closes #5539
2023-04-10 22:54:05 -07:00
Mark McDowall 5ca868b4b2 New: Show error message for pending queue items without episodes
Closes #5541
2023-04-10 22:25:10 -07:00
Mark McDowall 48a82ad711 Fixed: Manual Import multiple episode selection
Closes #5543
2023-04-10 22:04:58 -07:00
Mark McDowall b2c43fb2a6 Typings cleanup and improvements 2023-04-10 21:38:50 -07:00
Bogdan 5326a102e2 Fixed: Ensure default config file on starting app
(cherry picked from commit e747af9f448368e2add0d2869a3749efa9e93ae0)
2023-04-10 21:37:59 -07:00
Qstick 69ed531850 Fixed: False Positives for RemotePath check with Deluge
(cherry picked from commit b888b044d61c3787ce658963c6e5c3ef6f3323a1)
2023-04-10 21:37:48 -07:00
ta264 66caec31c9 Fixed: False positive in remote path check with transmission
Correctly use the download directory when it's set

(cherry picked from commit e09ca145d125a12016a6bf41a4971148bd2de870)
2023-04-10 21:37:48 -07:00
ta264 8c68dfb8ce Fixed: Handle missing category when getting Qbittorrent download path
Fixes RADARR-7HC
Fixes RADARR-V49

(cherry picked from commit 6f97ca9a55471386454457ca52b93733e18e85e4)
(cherry picked from commit e7a8f6332c43f179d4c95b3a8a0253a235bb6eec)
2023-04-10 21:37:48 -07:00
ta264 68791ea98a Fixed: Use QBittorrent category savepath for healthcheck
(cherry picked from commit 4f281669fcd460efa4191590de31da12c7e4271d)
2023-04-10 21:37:48 -07:00
Mark McDowall 835910843b Fixed: Series index not loading 2023-04-04 12:17:39 -07:00
Mark McDowall 221bb10261 Fixed: Override and Grab release with unknown series
Closes #5533
2023-04-04 10:39:27 -07:00
Mark McDowall 3dce7e729c Fixed: Import mode for manually imported queue items 2023-04-04 10:30:56 -07:00
Mark McDowall b428bab5ee Fixed: Missing Macedonian and Slovenian languages 2023-04-04 10:29:08 -07:00
Mark McDowall 7fcb6b80b4 Fixed: Override and grab releases with Custom Formats 2023-04-04 10:28:35 -07:00
Mark McDowall ba3dfdc147 Fixed: Unable to check row in Manual Import if series is not set
Closes #5532
2023-04-04 04:42:08 -07:00
Mark McDowall 103ce3def4 New: Add result to commands to report commands that did not complete successfully
Closes #4759
2023-04-03 22:11:43 -07:00
Mark McDowall 07f0fbf9a5 Override release grab modal
New: Option to override release and grab
New: Option to select download client when multiple of the same type are configured

Closes #4526
Closes #4774
2023-04-03 20:14:44 -07:00
Mark McDowall defdc84b7e Convert Manual Import to Typescript 2023-04-03 20:14:44 -07:00
Mark McDowall 032d9a720c Extract useSelectState from SelectContext 2023-04-03 20:14:44 -07:00
Mark McDowall 2020e074db Language parsing improvements and more languages
Fixed: Parsing of multiple languages
New: Add Romanian, Latvian, Persian, Catalan, Croatian, Serbian, Bosnian, Estonian, Tamil, Indonesian, Macedonian, Slovenian languages
New: Handle some ISO 639-2/B language codes

Closes #5112
Closes #5440
Closes #5494
2023-04-03 20:00:52 -07:00
Mark McDowall f4130d96e5 New: Add release info to webhook/custom script import events
Closes #5503
2023-04-02 14:03:05 -07:00
Qstick f59276881a Convert Notifiarr Payload to JSON, Standardize with Webhook 2023-04-02 14:01:59 -07:00
Mark McDowall cc46ed56b4 Fixed: Number input changing while scrolling
Closes #5516
2023-04-01 22:08:02 -07:00
Stepan Goremykin 6ea3d8c127 Use MinBy and MaxBy instead of OrderBy + First 2023-04-01 17:37:11 -07:00
bpoxy 7fedfe7423
Fixed: Matching of custom formats during episode file import 2023-04-01 20:03:53 -04:00
Bakerboy448 a776b68574 Fixed: Parse 720p Remux as 720p BluRay
fix bad anime remux no source logic

Fixes #5517
2023-03-30 21:57:14 -07:00
Bakerboy448 9ae647d9d2 QualityParser - Simplify new expression (IDE0090) 2023-03-30 21:57:14 -07:00
Stepan Goremykin 2abbee1032
Update SixLabors.ImageSharp, MailKit, DryIoc libraries 2023-03-31 00:56:54 -04:00
Qstick 2c7eb05b52 Revert a few packages which result in build warnings and conflicts 2023-03-29 11:50:14 -05:00
Mark McDowall 42003ebd72 Reverted Microsoft package updates to 6.x
Closes #5511
2023-03-27 07:52:15 -07:00
Mark McDowall 6007e46746 Fixed: Removed hardcoded dot prefix from the transmission category in status
Closes #5510
2023-03-27 07:38:56 -07:00
Stevie Robinson 11905b99d3
New: Specials monitoring options 2023-03-26 23:40:11 -07:00
Mark McDowall 033936dce7 Fixed IsValidPath usages 2023-03-26 22:47:09 -07:00
Mark McDowall 13a0dfa4ae Fixed: Slow renaming and deleting episodes
Closes #5499
2023-03-26 22:39:18 -07:00
Mark McDowall 5ea1fb9424 New: Parsing of multi-episode files in brackets
Closes #5501
2023-03-26 22:39:18 -07:00
bakerboy448 0f6f681438
New: Various HealthCheck Improvements 2023-03-27 00:30:27 -04:00
Mark McDowall 0321368cc3 New: Improve path validation when handling paths from different OSes 2023-03-26 21:29:17 -07:00
Mark McDowall ed140dd396 Revert argument exception swallowing for Plex library update 2023-03-26 21:29:07 -07:00
Stepan Goremykin c35308b32b Update chrome driver and swagger 2023-03-26 21:26:42 -07:00
Stepan Goremykin e4dde10a3f Update Selenium.Support package 2023-03-26 21:26:42 -07:00
Stepan Goremykin 951a9ade00 Update FluentAssertions 2023-03-26 21:26:42 -07:00
Stepan Goremykin fd5d279a9e Update SharpZipLib 2023-03-26 21:26:42 -07:00
Stepan Goremykin 028c87d20c Update test packages in build props instead of csproj 2023-03-26 21:26:42 -07:00
Stepan Goremykin b303dc899a Update Newtonsoft.Json 2023-03-26 21:26:42 -07:00
Stepan Goremykin cf22208011 Update packages related to auto tests 2023-03-26 21:26:42 -07:00
Stepan Goremykin 3b6cadeb7e Update packages from microsoft 2023-03-26 21:26:42 -07:00
Mark McDowall 0a13a433a9 New: Parsing of more German WEBDL releases
Closes #5507
2023-03-26 21:19:22 -07:00
Mark McDowall ff2e8ffc37 Fixed: Permissions after installing on Windows and opening Firewall port
Closes #5509
2023-03-26 20:53:30 -07:00
Mark McDowall 34e928ebed Fixed: Agenda view on mobile 2023-03-26 20:45:20 -07:00
Stepan Goremykin 11d91faaad
Use Array.Empty and fix a few multiple enumerations 2023-03-26 23:40:51 -04:00
Mark McDowall c41aec5f77 Fixed: Pushed releases should be stored as pushed release 2023-03-22 17:25:00 -07:00
Mark McDowall b8dcd75cf5 Fixed: Refreshing Plex library on a different OS 2023-03-22 08:09:16 -07:00
Mark McDowall cef6d5a99a Fixed: Imports when custom format is a downgrade, but file is an upgrade 2023-03-22 08:06:59 -07:00
lodu 5d09b84b05
New: Add indexer option for Discord on grab notifications 2023-03-21 19:58:47 -04:00
Mark McDowall 3d24e412a6 Better quality revision logging 2023-03-17 07:46:25 -07:00
Mark McDowall ad79dd4df5 New: Better series type select input
Closes #4796
2023-03-16 22:03:31 -07:00
Mark McDowall 4ff4d32936 New: Improve accepted and rejected release logging
Closes #4965
Closes #4646
2023-03-16 20:58:01 -07:00
Mark McDowall 98308737cf New: Improved Plex library updating 2023-03-16 20:25:31 -07:00
Mark McDowall f59cc99733 Remove unused imports from SeriesIndexRow 2023-03-16 00:40:12 -07:00
Mark McDowall b16094a9e3 Fixed: Prevent loss of restrictions when attempting to edit multiple restrictions at once
Closes #4917
2023-03-16 00:36:32 -07:00
Mark McDowall bd228e88c3 New: Rescan series if destination file already exists during import
Closes #5401
2023-03-15 23:44:09 -07:00
Mark McDowall 978618f041 New: Don't import episodes that don't match grab history
Closes #5073
2023-03-15 23:26:07 -07:00
Zak Saunders 89e363fd14 New: Make Release Group Outline Not Show as Required 2023-03-15 22:28:53 -07:00
Mark McDowall 8d70def088 New: Include series year with custom scripts and webhooks
Closes #5439
2023-03-15 22:09:55 -07:00
Mark McDowall cb86f4fa50 New: Closing Move Series modal without selecting will cancel save
Closes #5448
2023-03-15 21:55:17 -07:00
Mark McDowall c80c1db947 New: Parse HBOMaxHD as WEBDL
Closes #5489
2023-03-15 21:01:37 -07:00
Mark McDowall cfcf1ad1ab Fixed: Page Plex Watchlist results
Closes #5118
2023-03-15 19:55:34 -07:00
Mark McDowall 17b9e4722a New: Parsing of poorly named absolute number-only files in batches
Closes #5488
2023-03-15 19:00:12 -07:00
Mark McDowall f22998aef3 Use episode runtime for size limits when available
Closes #3482
2023-03-15 19:00:08 -07:00
Qstick a42f97229a Convert method to static that doesn't use instance data 2023-03-15 19:24:48 -05:00
Qstick 412a36226f Add .globalconfig 2023-03-15 19:24:48 -05:00
Qstick e8b862a380 Remove Non-Failing Rules 2023-03-15 19:24:48 -05:00
Qstick 2b79fe833b Use Contains(char) instead of Contains(string) for performance 2023-03-15 19:24:48 -05:00
Qstick 4db10e6283 Prefer AsSpan to Substring to avoid unnecessary allocation 2023-03-15 19:24:48 -05:00
Qstick e8aff90582 Use span-based string.Concat to avoid unnecessary allocation
Calling Substring produces a copy of the extracted substring. By using AsSpan instead of Substring and calling the overload of string.Concat that accepts spans, you can eliminate the unnecessary string allocation.
2023-03-15 19:24:48 -05:00
Qstick af28bbad52 Use Environment.CurrentManagedThreadId for efficiency
System.Environment.CurrentManagedThreadId is a compact and efficient replacement of the Thread.CurrentThread.ManagedThreadId pattern.
2023-03-15 19:24:48 -05:00
Qstick f928ee7cad Use Environment.ProcessPath instead of GetCurrentProcess().MainModule.FileName
GetCurrentProcess().MainModule.FileName is expensive, Environment.ProcessPath added in net6
2023-03-15 19:24:48 -05:00
Qstick 7521579bca Use Apend(char) instead of Apend(string) for performance
When calling StringBuilder.Append with a unit length string, consider using a const char rather than a unit length const string to improve performance.
2023-03-15 19:24:48 -05:00
Qstick e805f61450 Use Length/Count property instead of Count() method to prevent enumerating 2023-03-15 19:24:48 -05:00
Qstick 4fe9daec03 Use Any() in place of Count() to prevent enumerating
This rule flags the Count and LongCount LINQ method calls used to check if the collection has at least one element. These method calls require enumerating the entire collection to compute the count. The same check is faster with the Any method as it avoids enumerating the collection.
2023-03-15 19:24:48 -05:00
Qstick 738dc2c98c Do not use Enumerable methods on indexable collections
This rule flags the Enumerable LINQ method calls on collections of types that have equivalent but more efficient properties to fetch the same data.
2023-03-15 19:24:48 -05:00
Qstick 0ed8ba828d Avoid unnecessary zero-length array allocations 2023-03-15 19:24:48 -05:00
Qstick b2c2c79a96 Don't compare strings to Empty using Equals
Comparing strings using the String.Length property or the String.IsNullOrEmpty method is faster than using Equals. This is because Equals executes significantly more MSIL instructions than either IsNullOrEmpty or the number of instructions executed to retrieve the Length property value and compare it to zero.
2023-03-15 19:24:48 -05:00
Qstick 08ee2f7e32 Remove unnecessary assignments to default type value
The .NET runtime initializes all fields of reference types to their default values before running the constructor. In most cases, explicitly initializing a field to its default value in a constructor is redundant, adding maintenance costs and potentially degrading performance
2023-03-15 19:24:48 -05:00
Qstick 42e45f93ac Use const where appropriate
The value of a const field is computed at compile time and stored in the metadata, which improves run-time performance when it is compared to a static readonly field.
2023-03-15 19:24:48 -05:00
Qstick b4d8f0c311 Enable all analyzers and enforce code style on build 2023-03-15 19:24:48 -05:00
Stevie Robinson 21045127cd
Fixed: Parsing of multi season packs with only space between the season numbers 2023-03-14 00:32:57 -07:00
Mark McDowall d496733b31 Fixed: Don't import Custom Format downgrades
Closes #5475
2023-03-14 00:22:37 -07:00
Mark McDowall b3d1e4f520 Fixed: Multiple Downloaded Episodes Scan commands should not run in parallel 2023-03-13 18:11:17 -07:00
Mark McDowall cd67671bc1 Fixed: Slow loading of files in Manage Episodes modal
Closes #5449
2023-03-13 00:30:28 -07:00
Mark McDowall 1f619e27f1 New: Season interactive search modal size
Closes #5483
2023-03-12 23:58:37 -07:00
Mark McDowall ac806a2933 New: Show downloading status for series progress bar
Closes #5474
2023-03-12 23:51:38 -07:00
Mark McDowall 6d88a98282 New: Plex Watchlist RSS support 2023-03-12 23:51:38 -07:00
Stevie Robinson 4f5a183152
Fixed: Color unaired items in agenda view
Closes #5477
2023-03-10 22:37:02 -08:00
cicomalieran 9800bd6b43
Fixed: Processing very long ETA from Transmission
Closes #5444
2023-03-07 16:46:48 -08:00
Mark McDowall aa938d911b Fixed: Misaligned table border
Closes #5456
2023-03-05 23:41:14 -08:00
Mark McDowall 622e36de96 Fixed: Some posters not showing for new series search results
Closes #5451
2023-03-05 23:41:13 -08:00
Sergey M 255f947860
Fixed: Mapping of parsed titles when one doesn't have an alias
Co-authored-by: Sergey M <msergein>
2023-03-05 17:30:56 -08:00
bakerboy448 92ecb30fab
Fixed: Regression in error message logging
Closes #5461
2023-03-01 18:19:16 -05:00
Qstick 6082253166 New: Additional custom filter predicates for strings 2023-02-23 22:46:15 -06:00
bakerboy448 e968919e63
Fixed: Improve some request failure messaging 2023-02-22 17:36:12 -08:00
Mark McDowall 6ec32eb45d Fixed lint error and background for poster select 2023-02-22 17:17:24 -08:00
Mark McDowall bd3816dac9 Handle null for parent name with clean path is empty 2023-02-20 17:20:07 -08:00
Mark McDowall 95a8f59a32 Fixed: Don't handle images in metadata folder as Roksbox images 2023-02-20 16:42:57 -08:00
Mark McDowall 890f107467 New: Support for .plexmatch series metadata files
Closes #4960
2023-02-20 15:08:26 -08:00
Mark McDowall 6740257135 New: Add Episode Guide option for Kodi MetadataFile
Closes #5415
2023-02-20 12:35:22 -08:00
Mark McDowall bbd9b1657d Fixed: Don't clean Kodi library if video is playing and Always Update is disabled
Closes #5387
2023-02-20 10:48:49 -08:00
Mark McDowall d923d3f106 Fixed: Series table not resizing properly when window size changed 2023-02-20 09:59:49 -08:00
Mark McDowall bf62d4f921 Fixed: Series select not working correctly after stopping/starting or changing sort order 2023-02-20 09:58:11 -08:00
Mark McDowall cf00fecbe4 Fixed: Don't grab propers/repacks when item in queue meets cutoff and propers/repacks are not downloaded automatically
Closes #1208
2023-02-19 00:32:58 -08:00
Qstick 5a22afc42b Fixed broken path tests 2023-02-18 15:37:35 -08:00
Mark McDowall 75378f7bde Fixed: USB drives mounted to folders are treated as different mounts
Closes #4147
2023-02-16 17:05:39 -08:00
Mark McDowall 37c355da51 Improved UI error messages (stack trace and version) 2023-02-16 16:45:09 -08:00
Mark McDowall 57a64b056a New: Increase clickable area of series select in poster/overview 2023-02-13 17:26:32 -08:00
Mark McDowall 279d3a89b6 Fixed loading series list and custom filters
Fixed: Loading series list
Fixed: Adding new custom filter

Closes #5430
2023-02-13 11:27:16 -08:00
tsubus 492c9e22ba Remove unused ReactDOM import
fixes error with mono: "error  'ReactDOM' is defined but never used  no-unused-vars"
2023-02-13 07:30:14 -08:00
Mark McDowall f7ce5c7b11 Fixed: File browser 2023-02-12 23:58:50 -08:00
Mark McDowall 997aabbc3c Improve CF calculation for files without scene name
Fixed: Use original filename instead of complete path when calculating CF for existing file without scene name
Closes #5365
2023-02-12 22:33:45 -08:00
Mark McDowall 2c65e4fa41 Fixed: Prevent getting disk space from returning no information when it partially fails
Closes #5247
2023-02-12 20:55:13 -08:00
Qstick 9c1fd7c73e Bump MonoTorrent to 2.0.7
Pulls in fix for parsing torrents when certain values are an empty string
2023-02-12 21:58:44 -06:00
Mark McDowall ce255b55e6 Add CSS typings 2023-02-12 19:16:07 -08:00
Mark McDowall 6fce6c2bbc Remove Season Pass 2023-02-12 19:16:07 -08:00
Mark McDowall 67232290e5 Remove Series Editor 2023-02-12 19:16:07 -08:00
Mark McDowall bdcfef80d6 New: Season Pass is now part of series list 2023-02-12 19:16:07 -08:00
Mark McDowall a18c377466 Switch to eslint for linting 2023-02-12 19:16:07 -08:00
Mark McDowall a731d24e23 New: Mass Editor is now part of series list 2023-02-12 19:16:07 -08:00
Mark McDowall 815a16d5cf Added series index selection 2023-02-12 19:16:07 -08:00
Mark McDowall 5aad84dba4 Fixed: Restoring scroll position when going back/forward to series list 2023-02-12 19:16:07 -08:00
Mark McDowall d022679b7d Refactor Series index to use react-window 2023-02-12 19:16:07 -08:00
Mark McDowall de56862bb9 Add Prettier to format TypeScript files 2023-02-12 19:16:07 -08:00
Mark McDowall 910511dba0 Add typescript 2023-02-12 19:16:07 -08:00
Mark McDowall 27cc551980 Updated API documents 2023-02-12 15:09:00 -08:00
Mark McDowall d2cd3f7716 Rename LocalizationLanguageResource to avoid collision with LanguageResource 2023-02-12 15:06:51 -08:00
bpoxy 5e761f766c
Fixed: Show calculated (rather than stored) custom format score on season and series history, to match episode history 2023-02-12 14:48:23 -08:00
bakerboy448 ddb25b1095
New: Use better page size for Newznab/Torznab (up to 100) when supported by the indexer
Closes #5373
2023-02-12 14:34:04 -08:00
Stevie Robinson c1e43e9389 Fixed: text color of complete seasons dark mode
the readability of complete seasons on season pass is not great. changed from light gray to dark gray
2023-02-12 14:32:17 -08:00
Mark McDowall 303fc5d786 New: Return static response to requests while app is starting
Closes #5402
2023-02-07 17:31:54 -08:00
Mark McDowall 81435dabc7 Fixed: Creating new Delay Profile
Closes #5419
2023-02-07 17:25:29 -08:00
Qstick a379d0c403 Fixed: Settings fail to save for some auth setups 2023-02-06 23:09:10 -06:00
Mark McDowall 72b307f4ad Fixed: Using absolute episode number in Standard Format for episode without while renaming 2023-02-06 16:55:04 -08:00
Mark McDowall 69f325b9dd SeriesFolderFormat needs to be OS Agnostic 2023-02-04 16:54:22 -08:00
Mark McDowall 81d2b18ce1 New: Use Series Folder Format to improve unmapped folders within root folders 2023-02-04 15:51:00 -08:00
Mark McDowall 119addd75f Fixed: Migrating case-sensitive Preferred Word REGEX to Custom Formats
Closes #5399
2023-02-04 00:32:48 -08:00
Xavier Xiong 0f111dd066
Fixed: Chinese Anime releases that include a season number 2023-02-04 00:10:13 -08:00
Stevie Robinson e29470d8cb
Fixed: Enable parsing of repacks with revision
Closes #5383
2023-02-04 00:08:35 -08:00
bakerboy448 83f6359063
New: Improve Manual Import logging when not parsing files 2023-02-04 00:06:59 -08:00
Mark McDowall ad42d4a14c Fixed: Ping endpoint no longer requires authentication
Closes #5396
2023-01-31 23:39:59 -08:00
Qstick faccfe17a2 Remove debug code in CleanupQualityProfileFormatItems 2023-01-22 13:47:13 -06:00
Qstick f05e109b50 Fixed: Avoid Sqlite Error when all profiles have lowest quality cutoff 2023-01-21 18:11:09 -06:00
Stevie Robinson 3973571411
New: Added new series title rename tokens without year
Closes #5369
2023-01-21 18:55:00 -05:00
bakerboy448 863d24996c
New: Improve messaging when imports are left in queue 2023-01-21 18:28:33 -05:00
Zak Saunders c897608bab Fixed: Calendar Grouped Series Title 2023-01-21 15:18:26 -08:00
PearsonFlyer 1b599c7e76 Fix notifiation in Ntfy on test from Radarr to Sonarr 2023-01-19 18:19:30 -06:00
Mark McDowall 0fbf61199f Fixed: Parsing of some files with series title aliases 2023-01-18 17:18:55 -08:00
Mark McDowall b848100693 Fixed: Images for some series not downloading
Closes #5376
2023-01-15 21:21:34 -08:00
Qstick c08b451564 Bump ImageSharp to 2.1.3 2023-01-15 14:27:08 -06:00
Mark McDowall 71bfa0ff02 Fix use of sizeOnDisk 2023-01-13 18:24:18 -08:00
Mark McDowall 6dcfc661a1 New: Show updated Custom Format Score in history 2023-01-13 17:41:43 -08:00
Mark McDowall 68d026479f New: Add custom format info to episode import notifications 2023-01-13 17:41:43 -08:00
Mark McDowall 899d6ddbab Fixed: Store Custom Format score during import
Closes #5291
2023-01-13 17:41:43 -08:00
Mark McDowall 4ed4ca4804
New: Add bypass if above Custom Format Score to Delay Profile
Closes #5043
2023-01-13 20:40:49 -05:00
Mark McDowall bc2942c28d New: Don't block imports when release was matched by ID if they were grabbed via interactive search
Closes #5043
2023-01-13 17:40:08 -08:00
Mark McDowall 599ad86657
New: Use file's format title for quality if parsed
Closes #3930
2023-01-13 20:39:29 -05:00
Mark McDowall 3f598ffa6f Fixed: UTC time sent to UI for already imported message
Closes #5366
2023-01-13 17:39:00 -08:00
Mark McDowall 67035b9266 Fixed: Monitoring episodes modal not closing after saving 2023-01-13 17:38:31 -08:00
Mark McDowall 2c5b9e9999 Fixed: Loading Sonarr on OAF browsers
Closes #5363
2023-01-11 17:09:25 -08:00
Mark McDowall 4b4301a076 Fixed: Quality Profiles resetting Custom Format scores during housekeeping
Closes #5359
2023-01-09 12:18:14 -08:00
Mark McDowall 2c004e1f96 Fixed: Unable to load UI if Quality Profiles contain removed Custom Format items 2023-01-09 08:58:25 -08:00
Mark McDowall ea612e8b78 Revert "Fixed: Unable to load UI if Quality Profiles contain removed Custom Format items"
This reverts commit facf775a43.
2023-01-09 08:57:45 -08:00
Xavier Xiong f742e1f174
Fixed: Chinese releases with season and absolute episode numbers 2023-01-09 01:57:21 -05:00
Mark McDowall facf775a43 Fixed: Unable to load UI if Quality Profiles contain removed Custom Format items
Closes #5323
2023-01-08 22:49:56 -08:00
Mark McDowall 4f61a4ab07 New: Fixed truncation on Firefox after renaming Custom Format specification
Closes #5357
2023-01-08 10:26:12 -08:00
Qstick 4a740acb80
New: Simkl List Support (#5313)
* New: Simkl List Support

* fixup! smarter sync

* fixup! comments

* fixup! comments
2023-01-07 12:58:10 -06:00
bakerboy448 e07936fb84
2023 readme fixes 2023-01-05 19:23:04 -05:00
Mark McDowall 1394122842 Fixed: Displaying audio and subtitle languages in UI 2023-01-04 21:24:26 -08:00
Mark McDowall 84e6649724 Cleanup old usages of languageCutoffNotMet 2023-01-04 21:24:26 -08:00
Mark McDowall fe5c52602a
Fixed: Custom Formats upgrading even when profile doesn't allow upgrades
Closes #5330
2023-01-04 16:41:12 -05:00
Stevie Robinson 3316665e93
Fixed: Kodi Metadata Subtitle Language 2023-01-04 16:39:34 -05:00
Mark McDowall 61fa1e5e3f New: Added health check warning if SABnzbd sorting is enabled
Closes #4985
2023-01-03 15:41:12 -08:00
Mark McDowall 48b4cc5f3f New: Improved messaging when qBittorrent fails due to host header rejection 2023-01-02 16:30:00 -08:00
Mark McDowall 396406b217 New: Description for indexer RSS setting 2023-01-01 09:10:00 -08:00
Mark McDowall 09eea0571f Fixed: Delete series
Closes #5333
2023-01-01 08:37:00 -08:00
Mark McDowall d8f6eaebdc New: Remember add import list exclusion when removing series
Closes #4984
2022-12-31 22:17:50 -08:00
Mark McDowall 2fc76a9ac5 New: Use XEM season number for some releases when mapping episodes
Closes #5195
2022-12-31 21:41:22 -08:00
Mark McDowall 6ec7c3f7a9 Fixed: Parsing of anime that uses standard numbering and includes episode number at end
Closes #5331
2022-12-30 14:59:12 -08:00
Mark McDowall 4baa2a07ba Fixed: End year for series not showing correctly in some cases 2022-12-30 13:21:49 -08:00
Mark McDowall 8fff59ff10 New: Show detailed queue status on Calendar and Series Details
Closes #3775
2022-12-29 23:57:20 -08:00
Zak Saunders ca61efa57f
Fixed: Progress bar text colour in Dark theme 2022-12-29 17:56:29 -08:00
Stevie Robinson 30cbaf06fa
Fix comment 2022-12-29 13:12:31 -05:00
Mark McDowall 738a7b38c9 New: Parsing of some Dutch/Flemish/Italian release titles
Closes #2762
2022-12-29 00:49:08 -08:00
Mark McDowall f504dfcbab New: Missing/Cutoff Unmet searches will search for episodes that haven't been searched recently first
Closes #3067
2022-12-27 23:27:31 -08:00
Mark McDowall 2491da0678 Fixed: Don't try to remove the same item from queue multiple times 2022-12-27 01:07:15 -08:00
Mark McDowall 1f8e1cf582 Fixed: Multiple pushed releases will be processed sequentially
Closes #2975
2022-12-25 23:20:43 -08:00
Mark McDowall 40ce54e165 Upgrade Newtonsoft.Json 2022-12-23 22:33:39 -08:00
Mark McDowall 32544318e1 Updated some JS dependencies 2022-12-23 22:03:17 -08:00
Mark McDowall e57e68c97a New: Option to include series image for Gotify notifications
Closes #4882
2022-12-22 23:47:05 -08:00
Mark McDowall ce0388ca99 Fixed: Only log /proc/mounts exception once per process
Closes #4929
2022-12-20 17:18:50 -08:00
Mark McDowall 17bfcdd325
New: Portuguese (Brazil) and Spanish (Latino) languages
Closes #5302
2022-12-20 20:17:47 -05:00
Qstick a26163b646 Cleanup Trakt implementation 2022-12-20 17:27:41 -06:00
Qstick 0fad20e327
Handle auth options correctly in Security Settings 2022-12-20 11:56:04 -06:00
Mark McDowall 9e694c7b06 New: Added option to filter series by complete missing season
Closes #5037
2022-12-19 22:51:06 -08:00
Qstick 62354dfac8 Fixed: Don't enforce minimum on single list fetch 2022-12-18 18:28:08 -06:00
Mark McDowall b15b6a0798 Improve handling of releases without video files
New: Show warning in queue if download contains executable or archive file and no video file was detected

Closes #5101
2022-12-18 09:58:03 -08:00
Mark McDowall 4ce4031dd8 New: Reduce size of Custom Formats in responses for most endpoints 2022-12-18 09:57:53 -08:00
Mark McDowall fc8e6d6f02 Fixed: Manual import when no reprocessing items after selecting series and season 2022-12-17 21:25:18 -08:00
Mark McDowall b8714d80a1 Fixed: Prevent unexpected data breaking Series Import 2022-12-17 21:25:18 -08:00
Colin Gagnaire fb76c237bf
New: Add support for native Freebox Download Client
Closes #5140
2022-12-16 18:37:21 -08:00
Mark McDowall 5ce8ea8985 New: Parse release group from VARYG releases with junk at the end
Closes #5308
2022-12-16 18:27:11 -08:00
Mark McDowall ad2557815e New: Allow season information tooltip to display above if unable to display below
Closes #5300
2022-12-14 18:14:06 -08:00
Mark McDowall ee1ee8f267 New: Rename Emby to Emby / Jellyfin
Closes #5301
2022-12-14 17:47:49 -08:00
Mark McDowall 6c53bf30d5 Fixed: Size on disk calculation including multi-episode files multiple times
Closes #5296
2022-12-14 17:45:43 -08:00
Mark McDowall f15f08e51a Revert "Fixed: Size on disk calculation including multi-episode files multiple times"
This reverts commit be98862ce0.
2022-12-14 08:01:56 -08:00
Mark McDowall be98862ce0 Fixed: Size on disk calculation including multi-episode files multiple times
Closes #5296
2022-12-14 00:24:02 -08:00
Mark McDowall 9a96dee49d New: Parsing of releases extra slash in Chinese anime titles
Closes #5299
2022-12-13 23:32:58 -08:00
Mark McDowall 789a8f5301 Fixed: Queue not showing items with conflicting titles 2022-12-12 22:44:08 -08:00
Mark McDowall 530829f8ed Don't copy/pasta kids 2022-12-11 19:42:44 -08:00
Mark McDowall 8bea8a10da Fixed: Skip anime version upgrade check if Proper/Repacks are not preferred
Closes #4468
2022-12-11 18:01:51 -08:00
Mark McDowall e42edf1d33 New: Add Thai Language
Closes #5170
2022-12-10 16:25:23 -08:00
Mark McDowall fea66cb7bc Fixed: Quality cutoff updating in UI when adding/removing qualities
Closes #5290
2022-12-10 16:04:06 -08:00
Mark McDowall 7f5abfd87d New: Parsing of Japanese variety shows
Closes #5279
2022-12-10 13:42:41 -08:00
Qstick 356771d139
New: Speed up mass deletes from Series Editor
* New: Speed up mass deletes from Series Editor

* fixup! Additional speed up using GetAllSeriesPaths vs GetAllSeries

* fixup! Tests
2022-12-10 14:19:10 -06:00
Mark McDowall d08f33ae21
New: Quality Preferred Setting
Co-authored-by: Qstick <qstick@gmail.com>
Closes #724
2022-12-10 09:59:54 -08:00
Mark McDowall b2b9172c92 Fixed: Custom formats with score of 0 showing 1
Closes #5288
2022-12-10 09:47:12 -08:00
Mark McDowall 60470b653a Fixed: History Since API endpoint 2022-12-10 01:11:20 -08:00
Mark McDowall d09e5d8eb4 Fixed: Trakt connection auth tokens not being refreshed
Closes #5285
2022-12-10 00:42:46 -08:00
Mark McDowall 041dc659fe Fixed: Custom formats with a total score of zero not showing in some places 2022-12-09 20:55:01 -08:00
Mark McDowall be02d0ebf7 Fixed: Series/season history loading
Closes #5286
2022-12-09 20:40:51 -08:00
Mark McDowall b3959e3162 Fixed broken pending release tests 2022-12-09 10:39:16 -08:00
Mark McDowall e50eb5188e Fixed: Unable to process downloads from client
Closes #5284
2022-12-09 09:19:11 -08:00
Stevie Robinson 05775a9bd0 Fix bug_report.yml description field
field was over 200 chars and apparantely not valid|!
2022-12-09 15:22:54 +01:00
Qstick 779f348f7b
Add deprecated sort values to validation
Fixed #5282
2022-12-09 07:47:33 -06:00
Gabriel Patzleiner b98881c576 Fixed: Absolute episodes followed by a year not getting parsed correctly 2022-12-08 22:37:32 -08:00
Mark McDowall da4f6b7df9 New: Show Custom Formats on Manual Import / Manage Episodes
Closes #5241
2022-12-08 20:00:02 -08:00
Mark McDowall 6216a71f8c
Fixed: Parsing of releases with episode titles that contain languages
Closes #861
2022-12-08 18:59:36 -08:00
Qstick 16e2d130e6 Simplify X-Forwarded-For handling
This happens in asp.net middleware now

Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-12-07 23:03:59 -06:00
Qstick fd98a179ab New: Improve IPAddress.IsLocal method
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-12-07 23:03:59 -06:00
Mark McDowall 87795708b5 New: Allow Season packs to be grabbed automatically if all episodes will have aired within 24 hours
Closes #5191
2022-12-07 20:26:49 -08:00
Mark McDowall 0450d0b2b6 Remove unused dependency in SeasonPackOnlySpecification 2022-12-07 20:26:49 -08:00
Qstick e19071da0e Fixed: Avoid path manipulation from receiving to sending for Kodi
Fixes #5260
2022-12-07 21:54:12 -06:00
Qstick c522cd120d
New: Rework List sync interval logic
* New: Rework List sync interval logic

Fixes #5011
2022-12-07 21:09:42 -06:00
Mark McDowall 7675b4bc3b Fixed: Queue failing to load if column was sorted by episode air date or title
#5257
2022-12-07 19:03:51 -08:00
Mark McDowall 1b90fbcf7d New: IPv6 support for connections/indexers/download clients
Closes #4149
2022-12-06 23:11:59 -08:00
Mark McDowall 6bdeafcf8c Fixed: Improve Bind Address validation and help text
Closes #622
2022-12-06 23:11:59 -08:00
Mark McDowall 9e6b32ca3e New: Parsing of 4K GM-TEAM releases 2022-12-06 23:10:25 -08:00
Zak Saunders 4ca5a213fa
New: Auto theme option to match OS theme
Co-authored-by: Qstick <qstick@gmail.com>
2022-12-06 02:22:52 -05:00
Mark McDowall c7d6c0f452 New: Show all options when authentication modal is open 2022-12-05 23:01:09 -08:00
Stevie Robinson 7f5769ab70
Git issue template update 2022-12-06 01:59:36 -05:00
Mark McDowall 335fc05dd1
New: Auto tagging of series
Closes #3870
2022-12-06 01:58:53 -05:00
penggongkui 8eb941d590
Fixed: Parsing of additional GM-Team formats 2022-12-05 10:54:42 -05:00
Mark McDowall e77be24c7b Fixed: Sending Webhook on upgrade if media info is unavailable
Closes #5272
2022-12-05 01:10:54 -08:00
Qstick b98ce7fb17 New: Store Task StartTime, Show Duration in UI
Closes #5266
2022-12-04 19:10:56 -08:00
Qstick 11e6e12676 Fixed: Error on EpisodeFile summary modal if CF is null
Fixes #5268
2022-12-04 15:24:22 -06:00
Qstick 78af4823cf Fixed: Imdb lists only return 1 result 2022-12-04 09:35:50 -06:00
Qstick 859e48ff5c Update API Docs 2022-12-03 23:32:54 -06:00
Qstick 7e48ea0231 Fixed: Correct Attribute compare for Id validation 2022-12-03 23:17:50 -06:00
Mark McDowall 8105da33d8 Fixed broken pending release tests 2022-12-03 17:28:11 -08:00
Mark McDowall df199ce0d8 Fix modal title for Manage Episodes in Season 2022-12-02 23:34:10 -08:00
Mark McDowall 154da57dc5 New: Add Custom Formats to episode details modal 2022-12-02 23:24:00 -08:00
Mark McDowall 998768bcf2 New: Filter by Custom Format Score in Interactive Search 2022-12-02 23:06:08 -08:00
Mark McDowall 0f2ceb85bd New: Parse GM-Team's file names that are different from their release names 2022-12-02 22:43:32 -08:00
Mark McDowall 31198c627f Fixed: Loading queue when there are pending items that were added before upgrading
Closes #5257
2022-12-02 22:42:57 -08:00
Mark McDowall 51b1ba13c1 Fixed: Grab/remove queue actions not showing spinner 2022-12-02 17:27:54 -08:00
Mark McDowall b76a7c2773 Fixed: Pending items in queue not showing Custom formats
Closes #5248
2022-12-02 17:27:12 -08:00
Qstick 3b10400948 New: FreeBSD Support
Co-authored-by: Mark McDowall <mark@mcdowall.ca>
2022-12-02 16:09:24 -08:00
Qstick aaaf18aec3
Fixed: Add back LanguageProfiles endpoints and deprecate
* Fixed: Add back LanguageProfiles endpoints and deprecate

* fixup! Fixed: Add back LanguageProfiles endpoints and deprecate
2022-11-30 19:46:27 -06:00
Qstick c9b483bdf7 Fixed: Use `develop` logo for Kodi notifications
Fixes #5256
2022-11-29 19:51:20 -06:00
Qstick 095dcac90b Make CF insensitive help text more obvious 2022-11-29 19:51:19 -06:00
Qstick becc567ff7 Fixed: Use route Id for PUT requests if not passed in body 2022-11-29 19:44:18 -06:00
Qstick 528feb14c9 Prevent NullRef on CustomFormat parse 2022-11-28 22:04:33 -06:00
Mark McDowall f2b2eb69a3 Fixed: Handle Flood reporting errors for completed and stopped downloads
Closes #5224
2022-11-28 19:04:29 -08:00
Qstick 4c7df31070 New: Add support for Simplepush notifications
Fixes #5108

Co-Authored-By: Timm Schäuble <Timm.Schaeuble@gmail.com>
2022-11-28 20:32:39 -06:00
Qstick 6d142f0b0a Clarify Custom Format regex help text 2022-11-28 18:23:33 -06:00
Qstick 89270ad7a1 Fixed: Original Language failures on Custom Format parsing
Fixes #5240
2022-11-28 18:23:33 -06:00
Mark McDowall 3fdc7c8346 Fix lint error 2022-11-27 18:27:04 -08:00
Mark McDowall 32ebb51634 Fixed some react warnings with ReleaseSceneIndicator 2022-11-27 15:44:24 -08:00
Qstick 651055820a Fixed: Logging for Cutoff and UpgradeAllowed Specs
Fixes #5242
2022-11-27 12:16:36 -06:00
Qstick 3a2a030432 Really fix Original Language in MapSeries
Fixes #5246
2022-11-27 12:14:28 -06:00
Stevie Robinson ca04c93666
Prevent false positives with HONE releases 2022-11-26 19:37:37 -08:00
Mark McDowall ed9a47449b Fixed broken tests after updating images 2022-11-26 19:36:49 -08:00
Mark McDowall 264286dcf1 Fixed: Queued downloads not showing on episodes properly 2022-11-26 19:36:49 -08:00
Bruno Garcia de3cb07c57
Sentry SDK v3.23.1
Co-authored-by: Bruno Garcia <bruno@Brunos-MacBook-Pro.local>
2022-11-26 14:06:08 -08:00
yammes08 cb00ce7c0b
New: Add HONE to list of release group exceptions
Closes #5243
2022-11-26 14:05:00 -08:00
Qstick f47abd0d99 Fix movie reference in PlexListRequestGenerator 2022-11-25 06:31:41 -06:00
Qstick 381834edce New: IMDb List Support 2022-11-25 06:31:41 -06:00
Qstick ea7af03d69
Fixed: Handle MapSeries when orig language is null 2022-11-24 14:33:12 -06:00
Mark McDowall 99e60196a4 Fixed: Parse year in title from square brackets 2022-11-24 10:12:12 -08:00
Mark McDowall 53a3fc31e2 Fixed: Saving Trakt Popular Import List without Genres 2022-11-24 08:14:23 -08:00
Qstick 08b677ca7d Enforce comment spacing with Stylecop 2022-11-21 16:58:07 -08:00
Qstick be0fa73129 New: Store and use original Series language 2022-11-21 16:58:07 -08:00
Mark McDowall 5400bce129 Publish ApplicationStartingEvent during startup 2022-11-20 19:09:35 -08:00
Qstick 237e7556c2 Bump Newtonsoft to 13.0.1 2022-11-19 17:17:56 -06:00
Qstick 173f456683 Remove Unity (No longer maintained) 2022-11-19 17:01:57 -06:00
Qstick 908d79f2f6 Revert FFMpegCore wrapper to 4.7 to avoid random failures 2022-11-19 16:41:32 -06:00
Mark McDowall c43d06628d Add missing eslint-plugin-react-hooks package 2022-11-18 22:47:27 -08:00
Mark McDowall c8dbbe431a Fixed broken NewznabRequestGenerator tests 2022-11-18 22:33:51 -08:00
Mark McDowall 80af164385 Added SECURITY.md
Closes #4787
2022-11-18 22:05:34 -08:00
Mark McDowall a1e6a2c530 Fix overzealous regex 2022-11-18 22:05:09 -08:00
Mark McDowall f9f08cfea2 New: Perform ID based searches for anime if the indexer supports ID searching
Closes #5090
2022-11-16 19:02:57 -08:00
Mark McDowall ba9651b241 Use string interpolation for Newznab request generation 2022-11-16 19:02:05 -08:00
Mark McDowall ae306274be New: Improve logging when processing files for import
Closes #5226
2022-11-13 18:36:17 -08:00
Mark McDowall 9bd783d49c Improve page scrollbar
New: Style scrollbar in Firefox
Fixed: Scrolling with click and drag

Closes #5189
2022-11-13 18:04:20 -08:00
Mark McDowall 1c6c9a7960 Replace react-custom-scrollbars 2022-11-13 17:54:35 -08:00
Mark McDowall 8c1fb31b5d Fixed: Searching for monitored episodes in series when all seasons are unmonitored 2022-11-12 11:58:57 -08:00
Mark McDowall b3fc905481 Fixed: Parsing of some Anime releases with number at the end of the title 2022-11-12 11:25:47 -08:00
Mark McDowall 381d642593 Added react-hooks lint rules 2022-11-12 11:25:47 -08:00
Mark McDowall b1962c7366 Pin yarn version with volta 2022-11-12 11:25:42 -08:00
Mark McDowall 0e31281828 Fixed: Testing SABnzbd when no categories are configured 2022-11-07 18:58:40 -08:00
Qstick 5e57ffbcf9 New: Base API info endpoint 2022-11-06 17:50:02 -06:00
Qstick 28df29ae8a
Fix FFProbe issues with x264/x265 files 2022-11-06 17:48:59 -06:00
jaja123456789 0844cfb635
Fixed: File Size in Custom Formats 2022-11-06 08:39:22 -08:00
bakerboy448 2fb5655789
New: Add Notifiarr connection 2022-11-06 08:23:51 -08:00
Devin Buhl e5d6e569cf
New: Send additional information with Webhook and Custom Scripts
Closes #5059
2022-11-06 08:21:28 -08:00
luz paz 209a250079 Fix various typos
Found via `codespell -q 3`
2022-11-06 08:19:07 -08:00
Qstick fe476a319e Fixed: Truncate custom format card tags 2022-11-04 11:27:39 -05:00
Qstick fbc258c092 Fixed: Tag details fails for release profiles with tags 2022-11-04 11:09:59 -05:00
Qstick 25eb0ba816 API Docs update 2022-11-04 10:45:47 -05:00
Qstick db77c90724 Bump FFProbe for DTS-ES fix 2022-11-04 10:42:51 -05:00
Mark McDowall 26eab7d821 Fixed: Re-downloading of series images
Closes #5209
2022-10-26 17:06:53 -07:00
Dtaggart 00d467314b
New: Add indexer name to the download report log 2022-10-17 10:19:26 -07:00
Chris d1f2a8a948
Fixed: Cleanse Discord Webhook URLs
Closes #5169
2022-10-16 07:42:33 -08:00
Zak Saunders 9e457c25c3
Fix light theme variable 2022-10-16 07:40:58 -08:00
Qstick 88e993001b fixup UpdateService tests 2022-10-15 20:46:10 -05:00
Qstick 47116ea663 New: Include MediaInfo / CF for Webhooks
Fixes #5166
2022-10-15 14:19:05 -05:00
Qstick 4fc043bb72 fix test for update client exe 2022-10-15 13:58:21 -05:00
Qstick a6ce1ee64c Fixed: Episode title not showing in Cutoff Unmet 2022-10-15 11:35:26 -05:00
Qstick a645681cc8 Clean dual target code 2022-10-15 10:54:38 -05:00
Qstick 2bf87691bc Fixed: Updater version number logging 2022-10-15 10:15:11 -05:00
Mark McDowall 9458f4c796 Fixed interface name after half baked rename 2022-10-03 18:44:07 -07:00
Bakerboy448 238885371b New: Include CustomFormats for CustomScript on Grab 2022-10-03 10:18:14 -07:00
Bakerboy448 77a7f3ef4f New: Include MediaInfo for CustomScripts OnDownload 2022-10-03 10:18:14 -07:00
bakerboy448 7cd38bba84
Fixed: Improve RarBG Error Handling 2022-10-03 10:17:24 -07:00
Stevie Robinson 743d28b93a
Fixed: updated rTorrent download client note 2022-10-03 10:16:46 -07:00
Ultimate 092186dab2
New: Custom import lists
Co-authored-by: TheUltimateCoder <no@e.mail>
2022-10-03 10:15:45 -07:00
Mark McDowall 2a7e2674b7 New: Parse more WEB release names 2022-09-25 21:01:56 -07:00
Mark McDowall 97ad6682f7 Re-order frontend build steps 2022-09-25 00:36:09 -07:00
Mark McDowall 3993ca9ebd New: Parse more BDRemux release names
Closes #5094
2022-09-25 00:26:36 -07:00
Mark McDowall e9123982f3 New: Parse anime version with a space before 'v'
Closes #5103
2022-09-25 00:17:30 -07:00
Mark McDowall 00dd721d9b New: Parsing of GM-Team releases
Closes #5080
2022-09-25 00:00:37 -07:00
Mark McDowall 6f5467e39e Fixed: Indexer tags
Closes #5150
2022-09-24 23:28:04 -07:00
Mark McDowall bd937b9dd3 Fixed: Fall back to sorting by release title if series is not matched
Closes #5151
2022-09-24 22:57:07 -07:00
Mark McDowall 80dd4ce3a1 Fixed Slovak language parsing test 2022-09-24 22:54:22 -07:00
Chromo-residuum-opec d2a23f7bcd
Update help text for rTorrent download client options 2022-09-22 09:51:16 -07:00
bakerboy448 04447d9d4d
Fixed: Repack Preference Ignored 2022-09-22 09:49:19 -07:00
Stevie Robinson c98fac65ed
New: Torrent Seed Ratio no longer advance settings 2022-09-22 09:48:29 -07:00
Stevie Robinson 96345c0a0b
Fixed: Remove non-functional filters for Trakt Lists
Co-authored-by: Qstick <qstick@gmail.com>
2022-09-22 09:48:03 -07:00
Gylesie 3477dfacd0
New: Add Slovak Language 2022-09-22 09:47:19 -07:00
Chris f6e6bc98f7
Added: Ntfy provider for notifications 2022-09-22 09:46:26 -07:00
Robert Dailey 51eeb4ee0f
Fixed: Better error messaging if you try to import an invalid Custom Format 2022-09-22 09:44:45 -07:00
Stevie Robinson e742eb49d7
Update blocklist help text 2022-09-22 09:42:36 -07:00
Qstick 29d8dc81ca Fixed: Avoid iso-mapping failure with Dutch/Flemish 2022-09-17 21:22:31 -05:00
Qstick 56bb87e55f Clean movie references 2022-09-17 21:20:58 -05:00
Mark McDowall 93bd8543b1 Fixed: Ping plex.tv to keep auth token active
Closes #5154
2022-09-17 17:43:33 -07:00
Mark McDowall 6eed7c8fed Handle redirects for 308 redirects 2022-09-17 17:43:33 -07:00
Mark McDowall 67cf95f6c2 Fixed: Settings page description for Metadata Source
Closes #5141
2022-09-17 17:43:33 -07:00
Mark McDowall 9c73786251 Fixed: Series list jump bar click issues 2022-09-17 17:43:33 -07:00
Mark McDowall b6417a6f43 Add Volta node config 2022-09-17 17:43:33 -07:00
Mark McDowall b5439a0661 Improve build pipeline 2022-09-17 17:43:33 -07:00
Qstick dc44cbcda6 Fixed: Language Augment from Folder and Filename 2022-09-06 19:33:29 -05:00
Qstick fa1e67a6c8 Fix Language Selection on Manual Import 2022-08-21 13:09:51 -05:00
Qstick 89ee7d4452 Fixed: Fix NullRef in Subtitle Service due to #4924 2022-08-20 17:59:41 -05:00
Qstick 86b895abe0 Fixed: CF Resolution Specification not matching correctly 2022-08-20 17:57:46 -05:00
Mark McDowall 75919cf779 Use correct Branch variable in builds 2022-08-20 15:54:58 -07:00
Mark McDowall 2967c58a4d Set execution bits when packaging builds 2022-08-20 10:29:56 -07:00
Albert Lee 19c9429c7e
Fixed: Nyaa episode title search 2022-08-18 23:26:09 -07:00
Mark McDowall 6660e0c3f3 New: Use absolute format if absolute episode number is not required and is missing
Closes #5124
2022-08-18 23:06:49 -07:00
Qstick 89b0b04e08 New: Custom Format Language Condition 2022-08-18 19:52:26 -05:00
Mark McDowall 52760e0908 Don't replace private values that haven't been set 2022-08-15 13:39:24 -07:00
Mark McDowall 549cdbe15a New: Add import date to upgraded episodes in CustomScript and Webhook connections
Closes #3615
2022-08-15 13:31:28 -07:00
Mark McDowall 4b5c8a815f Fixed: Grouped items on calendar ignoring series monitored state
Closes #5117
2022-08-15 13:13:57 -07:00
Mark McDowall 09404bacf3 Build Windows x86 installer 2022-08-12 11:58:04 -07:00
Mark McDowall ac8f6f339a Metadata attribution for TheTVDB 2022-08-12 00:14:25 -07:00
Mark McDowall 00ab449ebe Fixed: Search for newly added episodes if disk rescanning is disabled after refresh 2022-08-11 17:28:01 -07:00
Mark McDowall a3e2299011 Debian: Remove mediainfo and mono dependencies 2022-08-08 18:22:36 -07:00
Michael Casey 5938a95abb New: Add UI Localization Framework 2022-08-07 15:24:42 -07:00
Mark McDowall 1977f4aa3c Fixed: Don't process files that don't have a supported media file extension 2022-08-07 15:24:42 -07:00
Mark McDowall d0efdc6c62 Fixed: Warning for search all 2022-08-07 15:24:42 -07:00
Mark McDowall 1f14276770 Don't block task queue for queued update task when there are longer running tasks executing 2022-08-07 15:24:42 -07:00
Devin Buhl 762042ba97 New: Add application URL to host configuration settings 2022-08-07 15:24:42 -07:00
Qstick 18f77a967b New: API Docs 2022-08-07 15:24:41 -07:00
Mark McDowall 269e72a219 New: Migrate user passwords to Pbkdf2 2022-08-07 15:24:41 -07:00
Mark McDowall fe293ff4c3 Fixed Windows installer version 2022-08-07 15:24:41 -07:00
Mark McDowall 652027821d Fixed integration test's path to Sonarr executable 2022-08-07 15:24:41 -07:00
Mark McDowall 90d3dc2f98 FileNameBuilderFixture tests should run on Windows 2022-08-07 15:24:41 -07:00
Mark McDowall 35a5462c8f Build under TeamCity 2022-08-07 15:24:41 -07:00
Mark McDowall ebe9215057 Remove OMG indexer 2022-08-07 15:24:41 -07:00
Mark McDowall fbe412d847 Cleanup usages of isMono 2022-08-07 15:24:40 -07:00
Mark McDowall d3018fb501 New: Authentication is now required 2022-08-07 15:24:40 -07:00
Mark McDowall 570be88215 New: Don't return API Keys and Passwords via the API 2022-08-07 15:24:40 -07:00
Mark McDowall b154b00c61 New: Setting to disable authentication for local addresses 2022-08-07 15:24:40 -07:00
Mark McDowall 05ee4e6449 Sliding expiration for auth cookie and a little clean up 2022-08-07 15:24:40 -07:00
Qstick b04b4000b8 New: Custom Formats
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:24:40 -07:00
Qstick 909af6c874 New: Frontend Package and Lint Updates 2022-08-07 15:24:39 -07:00
Qstick 2291f3e00e New: Native Theme Engine
Co-Authored-By: Zak Saunders <thezak48@users.noreply.github.com>
2022-08-07 15:24:38 -07:00
Marty Zalega e1de523c89 Don't lowercase UrlBase in ConfigFileProvider
UrlBase should honour the case it is given.
2022-08-07 15:24:38 -07:00
Qstick fa0fc3158b New: MediaInfo -> FFProbe
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:24:38 -07:00
Qstick a4232549cb Fix Tray App and Windows Server Restart
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:24:38 -07:00
Qstick e65aebdcf8 New: Use native .NET6 socks proxy
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:24:37 -07:00
Qstick 4c0fe62dda Use modern HttpClient
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:24:37 -07:00
ta264 bff1fe7890 Update to nugets with osx-arm64 runtimes 2022-08-07 15:24:37 -07:00
Qstick 1169741c54 New: Use ASP.NET Core instead of Nancy
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:24:37 -07:00
Qstick b83bb2cade Fixed: Pending Releases Migration 2022-08-07 15:24:36 -07:00
Qstick f50b54b3f6 New: Use System.Text.Json for Nancy and SignalR
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:24:36 -07:00
Qstick 2e953a0eb1 Dapper and STJson
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:24:36 -07:00
Qstick 1c22a1ec0d StyleCop 2022-08-07 15:24:35 -07:00
Qstick 878d1561aa Build Sonarr on Net6
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:46 -07:00
Qstick f79ae77a3a New: Switch to ASPNetCore Kestrel and SignalR
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:43 -07:00
Qstick 4d007855bc Bump NLog to 4.7.14 2022-08-07 15:04:43 -07:00
Qstick fd5ac3c713 Upgrade FluentMigrator from 1.6.2 to v3
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:43 -07:00
Qstick e263331880 Fixed: Remove obsolete HttpProvider
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:43 -07:00
Qstick 78eb8b0e6d Fixed: Remove obsolete XBMC HTTP notification API
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:43 -07:00
Qstick 91c9250d9c Fixed: Remove obsolete Plex HomeTheater/Client notifcations
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:43 -07:00
Qstick d740e995a3 Cleanup OAuth Dep
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:42 -07:00
Qstick da5716cca2 Net standard XMLRPC
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:42 -07:00
Qstick 2200b02112 Convert Interop.NetFwTypeLib to AnyCPU
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2022-08-07 15:04:42 -07:00
Qstick f7c771f467 Use Sqlite from Servarr 2022-08-07 15:04:42 -07:00
Qstick 52d2a5010a Purge Logentries 2022-08-07 15:04:42 -07:00
Qstick b4ca4908fc Purge V2 API 2022-08-07 15:04:42 -07:00
Qstick fdecd1fea4 Switch Integration Tests to V3 API 2022-08-07 15:04:42 -07:00
Qstick b819246655 Revert "New: Updated MediaInfo to 21.09, Sqlite to 3.32.1.0 and added support for mac osx arm64 arch. Deprecated osx x86."
This reverts commit 201004113e.
2022-08-07 15:04:42 -07:00
bakerboy448 c7919f80de
Fixed: Improve WebDL and WebRip Parsing 2022-08-07 13:43:04 -07:00
David Newhall 1a1d427c42
Fixed: Logging when series folder is moved successfully 2022-08-07 12:03:27 -07:00
bakerboy448 9263fc1564
New: Improve messaging for rejected quality upgrades 2022-08-07 11:54:15 -07:00
Kevin Richter 8ab040f612
Fixed: Improve moving file to location where another one exists 2022-08-07 11:52:54 -07:00
Dominik Krivohlavek d6dff451e0
New: Preserve language tags when importing subtitle files
Closes #2570
Closes #3278
2022-08-07 11:47:14 -07:00
C.J. Manca ac7afc351c
New: Add maximum single episode age option (per indexer) 2022-08-07 11:43:18 -07:00
Mark McDowall e4c0e80e3e Bumped package version to 3.0.9 2022-08-06 15:36:38 -07:00
Qstick 46bc711558
Fixed: Releases Size filter has incorrect value type
Closes #5085
2022-07-29 18:37:21 -08:00
Mark McDowall e35e24a4c2 Fixed broken unicode tests 2022-07-06 08:10:25 -07:00
Mark McDowall 7eb61fafa4 Fixed: Parsing of Chinese anime releases with character after episode number
Closes #5054
2022-06-25 23:24:23 -07:00
Mark McDowall ab578566be Log replacement regex 2022-06-25 23:23:13 -07:00
Mark McDowall 35edef91c6 Fixed: Standard episode searches for anime
Closes #5066
2022-06-25 23:05:18 -07:00
Mark McDowall 78dc2a7e13 New: Include Series Match Type in grab event details 2022-06-20 23:23:48 -07:00
Mark McDowall 5d976ac657 LanguageProfileId for Language profile filtering 2022-06-12 15:17:47 -07:00
Qstick d5fff15f32 New: Reset Quality Definitions to default 2022-06-12 09:49:07 -07:00
Qstick 7c98c2397a New: Instance name in System/Status API endpoint 2022-06-12 09:36:43 -07:00
Qstick ad6081aec6 New: Instance name for Page Title 2022-06-12 09:36:43 -07:00
Robin Dadswell 1558929484 New: Instance Name used for Syslog 2022-06-12 09:36:43 -07:00
Robin Dadswell 4a2f120bc1 New: Set Instance Name 2022-06-12 09:36:43 -07:00
Robin Dadswell 6c0f22a11e New: Added UDP syslog support
(cherry picked from commit 8d856b2edb8bf46a2b516d5f7644ae3fa1151323)
2022-06-12 09:36:43 -07:00
Qstick 41a821352e New: Sonarr Sync on Language Profile 2022-06-12 09:34:50 -07:00
Qstick 0991cfe27e Fixed: Validate if equals or child for startup folder 2022-06-12 09:33:59 -07:00
bakerboy448 97925feed9
Fixed: Improved parsing WebDL Releases 2022-06-12 09:33:11 -07:00
Mark McDowall 93fc9abae9 Parse another additional Chinese anime release format 2022-05-29 10:16:14 -07:00
Mark McDowall 2ea7b477cb Fixed: Forgot password wiki link 2022-05-29 10:16:14 -07:00
Kathrin De Cecco c9df12e6bc
Fixed: Typo in add indexer modal 2022-05-28 12:59:12 -07:00
Mark McDowall b542dd0ddd Fixed: Manual Import without selecting Import Mode
Closes #5036
2022-05-27 08:52:06 -07:00
Mark McDowall c1e5b7f642 Fixed cutoff unmet integration tests 2022-05-23 20:52:27 -07:00
Mark McDowall ccb88919b9 New: Increase TBA episode title delay to 48 hours (from 24) to deal with TheTVDB's API caching
Closes #4307
2022-05-22 17:20:24 -07:00
Mark McDowall f9b2c2d843 Fixed: PRevent import if potential bulk season release doesn't have air date for all episodes
Closes #5021
2022-05-22 17:18:19 -07:00
Mark McDowall d48950ec3c Fixed: Cutoff Unmet showing items above lowest accepted quality when upgrades are disabled 2022-05-22 16:44:12 -07:00
Mark McDowall 6a7d84f134 New: Parse some additional Chinese anime releases
Closes #5024
2022-05-15 15:13:56 -07:00
Mark McDowall a81a80a00f Fixed: Parsing of single episode numbers
Closes #5022
2022-05-15 14:47:23 -07:00
Mark McDowall c00cbb9a5a New: Add FAQ to error adding series with duplicate slug
Closes #5020
2022-05-15 14:41:25 -07:00
Mark McDowall 0d739cd26d New: Don't default manual import to move
Closes #5005
2022-05-09 22:23:30 -07:00
Mark McDowall d01e6d32de Fixed: Original Filename/Title not being included when importing a new file
Closes #5010
2022-05-09 21:04:42 -07:00
Mark McDowall 704cf7aebe New: Rename Protocol to Preferred Protocol in Delay Profiles
Closes #4951
2022-05-09 21:00:58 -07:00
Jure Merhar 52d95fa632
Fixed: Bluray 576p parsing
Closes #5006
2022-04-30 14:32:57 -08:00
Mark McDowall a71cc1081e Downgrade Ical.Net from 4.2 to 4.1.11 2022-04-30 15:10:47 -07:00
Mark McDowall edf1167a37 Fixed: Mapping episode 0 to the parsed season instead of specials 2022-04-29 17:27:35 -07:00
Mark McDowall 8f2c4fe4d1 Fixed: Don't parse part # in brackets as mini series style naming
Closes #1265
2022-04-29 00:10:42 -07:00
Mark McDowall cc9fc1e3c3 New: Use 45 minutes for runtime when episode aired within 24 hours of pilot episode 2022-04-28 23:55:07 -07:00
installemployee 9fb29f42c4
Fixed: iCal status values 2022-04-28 17:27:23 -07:00
Mark McDowall 9a1a320110 Fixed: Not including Original Title/Filename during rename when episode identifiers are missing
Closes #5003
2022-04-28 17:24:21 -07:00
Mark McDowall f6664b8b42 New: Parse Spanish language using Castellano and Español
Closes #3579
2022-04-24 17:18:50 -07:00
Mark McDowall 82646db70d New: Added Malayalam and Ukrainian languages
Closes #4662
Closes #5000
2022-04-24 17:18:50 -07:00
Mark McDowall 97e40dc00a Fixed: Rename On Download to On Import when editing connections 2022-04-24 13:20:31 -07:00
Mark McDowall ae0e23fc8e New: Added Mediainfo Video Dynamic Range column for episodes
Closes #4963
2022-04-24 13:18:48 -07:00
Mark McDowall 893a6744ac New: Add The TVDB link to library import search results
Closes #4996
2022-04-24 12:30:20 -07:00
Mark McDowall fa4b80b86f Bumped package version to 3.0.8 2022-04-23 21:18:23 -07:00
Mark McDowall 18f7bcd212 Fixed: QBittorrent unknown download state: forcedMetaDL
Closes #4997
2022-04-23 21:14:06 -07:00
Mark McDowall 458c5cd0b3 Fixed: UI hiding search results with duplicate GUIDs
Closes #4994
2022-04-23 21:08:35 -07:00
Mark McDowall c93f63cd20 Fixed: Interactive Search Filter not filtering multiple qualities in the same filter row 2022-04-18 18:46:54 -07:00
zodac bc5a43bd92
Fixed: Typo in Connection Lost modal 2022-04-18 18:12:42 -07:00
Mark McDowall a6a68b4cae Fixed: A potential issue when extra files for multiple series have the same relative path 2022-04-12 17:46:10 -07:00
Mark McDowall 9183c6b846 Fixed: Importing file from UNC shared folder without job folder
Closes #4943
2022-04-12 17:08:53 -07:00
Mark McDowall d73ad3e27a Remove copy/pasta VOSTFR parsing as French 2022-04-11 20:25:52 -07:00
Mark McDowall bd70fa5410 Fixed: Plex Library Updates
Closes #4914
2022-04-11 19:34:02 -07:00
Mark McDowall 481345226a Fixed: Skip extras in 'Extras' subfolder
Closes #4980
2022-04-11 18:18:02 -07:00
Mark McDowall 365c6a7741 New: Added additional terms for matching French language releases
Closes #4949
2022-04-09 22:03:59 -07:00
Mark McDowall 8fa6e5ec6d Fixed: Use Manage Episodes instead of Manual Import for title when managing episodes for a series 2022-04-09 21:52:46 -07:00
Mark McDowall d376ae2f9f Fixed: Manage Episodes button grayed out if there are no episodes
Closes #4938
2022-04-09 21:51:10 -07:00
issueg2k4g34j2g 103d2751ee
New: Update Monotorrent 2022-04-09 21:35:40 -07:00
Mark McDowall bdd5865876 New: Natural Sorting Manual Import Relative Paths
Closes #4956
2022-04-09 21:19:17 -07:00
bakerboy448 f678775e5c
Fixed: Escape Characters as needed for *znab queries
Closes #4788
2022-04-09 21:16:20 -07:00
Douglas R Andreani 5a08d5dc24
New: Add date picker for custom filter dates
Closes #4972
2022-04-09 21:15:02 -07:00
bakerboy448 bba4a5636e
Fixed: Clarify Qbit Content Path Error 2022-04-06 17:53:52 -08:00
bakerboy448 8d83b1d8d6
Fixed: API error when sending payload without optional parameters
Co-authored-by: Qstick <qstick@gmail.com>
2022-04-05 17:23:33 -07:00
Marcelo Castagna 3be5d6c258
Fixed: Properly handle 119 error code from Synology Download Station 2022-04-05 17:22:37 -07:00
bakerboy448 40ecdbc12d
New: Support for new Nyaa RSS Feed format
Closes #4614
2022-04-05 17:10:26 -07:00
Mark McDowall 6e271e9272 Fixed: Error when trying to import an empty Plex Watchlist 2022-04-05 17:08:58 -07:00
Mark McDowall 5c5b012ded Remove old, broken test 2022-04-05 17:08:28 -07:00
Mark McDowall be1acfc2f9 Fixed: Re-assigning file that was mapped to multiple episodes to only one of those episodes
Closes #4946
2022-03-28 17:50:11 -07:00
Mark McDowall ebb48a19cc Improve usage of Original Title renaming token
Fixed: Don't recursively add the current file name to new file name when '{Original Title}' is used in addition to other naming tokens
2022-03-28 17:34:19 -07:00
Mark McDowall fa9136c4d1 Fixed: Validation when testing indexers, import lists, connections and download clients 2022-03-28 17:34:19 -07:00
Mark McDowall e7ca98489e Fixed: Default sort key for wanted/missing API endpoint
Closes #4950
2022-03-28 17:34:19 -07:00
Mark McDowall a3fd3c5e67 Fixed: Clean API request path before authentication 2022-03-28 17:34:19 -07:00
Nial McCallister cc09f85212
Fixed: Twitter link 2022-03-24 13:50:07 -07:00
Stevie Robinson 581fb2cb3d
New: Add optional Source Title column to history 2022-03-24 13:49:37 -07:00
Taloth Saldono d899225509 Add response size to http responses 2022-03-20 22:19:06 +01:00
Mark McDowall 06464d720c Don't return early after re-running checks after startup grace period 2022-03-20 00:21:07 -07:00
Mark McDowall d21e9753bc New: Support for parsing some releases from Spanish trackers 2022-03-19 13:04:40 -07:00
Mark McDowall 07f0db477a Fixed: Delay health check notifications on startup
Closes #4381
2022-03-19 13:00:15 -07:00
Mark McDowall e280897bc7 Fixed: Automatic import of releases when file is not matched to series
Closes #4935
2022-03-19 12:57:00 -07:00
Mark McDowall bb02fc4668 Fixed: Newznab requests for anime using season/episode numbers 2022-03-19 12:55:45 -07:00
Mark McDowall e3aa92d09a Fixed: Scrolling in Firefox in small window (requires refresh)
Closes #4403
2022-03-19 12:55:06 -07:00
Mark McDowall d02d1bbdfe Fixed: Releases without a job folder importing extra files from another release 2022-03-06 22:05:17 -08:00
Mark McDowall 5df6f13f36 Bumped package version 2022-03-04 18:45:36 -08:00
Mark McDowall fc2023d67c Fixed: Parsing of 540p season packs
Closes #4928
2022-03-04 17:26:08 -08:00
Mark McDowall 2417c4afb2 Cleanup partial comment 2022-03-04 17:26:08 -08:00
Taloth Saldono 0521fc5681 Re-added xem scene number verification warning to calendar list view as well 2022-02-27 23:40:34 +01:00
bakerboy448 77412f2376 Fixed: Assume SABnzbd develop version is 3.0.0 if not specified
Fixes #4911
2022-02-27 22:08:09 +01:00
Stéphane Dupont 4bfcd0de1d
New: Import subtitles from sub folders
Closes #2513
2022-02-27 12:37:23 -08:00
Mark McDowall c10677dfe7 Option to show audio/subtitle language on series details
New: Option to show audio/subtitle language on series details (first two unique languages will be shown)

Closes #3189
2022-02-27 01:38:56 -08:00
Mark McDowall 56b3acddc9 Fixed: Clearing logs not updating UI once complete 2022-02-27 01:38:56 -08:00
Mark McDowall b24bea415b New: TvdbId added to episode response from API
Closes #4921
2022-02-27 01:38:56 -08:00
Marcelo Castagna a8cb7784f2
Update Synology error codes 2022-02-27 01:37:38 -08:00
Daniel Martin Gonzalez f1d07f74ee
New: Option to show release group column on series list 2022-02-27 01:18:13 -08:00
Mark McDowall acdf02d569 Fixed: Negative preferred word scores being trumped by 0 scores without any matches 2022-02-24 19:11:09 -08:00
Mark McDowall 66af08a830 Fixed: On Import notifications for webhooks
Closes #4913
2022-02-24 17:49:31 -08:00
Mark McDowall 61e68b02ed Fixed: favion.ico request does not require AuthenticationService
Closes #4910
2022-02-24 17:48:11 -08:00
Mark McDowall 80d36a06c8 Fixed: Filter indicator in interactive search 2022-02-24 17:44:51 -08:00
Mark McDowall 2a45b615ae Fixed: Don't automatically import if release title doesn't match series title
Closes #4826
2022-02-21 22:59:07 -08:00
Mark McDowall f6b08f697b New: Use TVDB's Episode ID as default uniqueid for Kodi metadata
Closes #4792
2022-02-21 21:28:24 -08:00
Mark McDowall 9e82014454 Fixed: Parsing of quality in DP.WEB releases
Closes #4829
2022-02-21 21:09:18 -08:00
Mark McDowall 341e8023af Fixed: Send download client name instead of type for grab events
Closes #4836
2022-02-21 20:07:18 -08:00
Mark McDowall 7a0090c7a2 Fixed: Schedule refresh and process monitored download tasks at high priority 2022-02-21 19:47:33 -08:00
Ajax 66be23a7c4
New: Update Cert Validation Help Text 2022-02-21 14:20:12 -08:00
Mark McDowall 590f306e5f Fix linting for Backup/BackupRow 2022-02-21 13:31:59 -08:00
Mark McDowall 715711e6d7 New: Auto focus input when editing release group during manual import
Closes #4906
2022-02-21 13:31:14 -08:00
Mark McDowall 9e1b799fb7 Fixed: Recycle bin log message
Closes #4908
2022-02-21 13:31:14 -08:00
Mark McDowall 8946b401cf New: Schedule refresh and process monitored download tasks at high priority
Closes #4907
2022-02-21 13:31:14 -08:00
Mathis 87f03e1f38
New: Add qBittorrent sequential order and first and last piece priority options(#4870) 2022-02-21 12:20:58 -08:00
bakerboy448 d18751eff2
Fixed: Improve help text for download client Category 2022-02-21 12:14:44 -08:00
Marcos d71c50b634
New: Add more groups that do not follow -Group format 2022-02-21 12:12:31 -08:00
Zack Eckersley Pallett 78aeda1a2c
New: Add backup size information
Closes #4830
2022-02-21 12:11:12 -08:00
Ajax c7427f8df8
Fixed: IPv4 instead of IP4 2022-02-21 12:07:54 -08:00
Mark McDowall 79436149eb Fixed: Sorting of some titles with acronyms or common words at the start
Closes #4839
2022-02-16 18:25:42 -08:00
Mark McDowall 210768d7d6 Fixed: Profiles with upgrades disabled incorrectly allowing upgrades in some cases
Closes #4898
2022-02-16 18:25:41 -08:00
Mark McDowall b3d90d903a Fixed: Parsing of 4-digit absolute episode number with Exx in CRC
Closes #4858
2022-02-16 18:25:41 -08:00
Robin Dadswell 1bf87bf873 New: End Jackett 'all' endpoint support
(cherry picked from commit 54c914d48fefa730728518d50fc9e49032d0947b)

Closes #4437
2022-02-05 19:27:37 -08:00
PearsonFlyer 69ccb96a36
Fixed: Updated ruTorrent stopped state helptext 2022-02-05 19:26:06 -08:00
Mark McDowall a36397452d Fixed: Parsing episodes when full series does not have XEM mappings
Fixed #4849
2022-02-05 19:13:02 -08:00
Stevie Robinson 853f4d1e29
Fixed: Help text for Release Profile tags 2022-02-05 18:34:57 -08:00
Alan Collins 52c6bc5549 Adjusted the Windows LongPath support check for valid segment lengths 2022-02-02 18:28:09 +01:00
Mark McDowall 5a9df521ad Fixed: Manual import not removing unparseable items from queue
Fixed #4831
2022-01-23 15:41:07 -08:00
Mark McDowall 6debc77408 New: Show filter indicator when filter is applied to a view
Closes #4863
2022-01-23 14:28:06 -08:00
Mark McDowall 1ee40215e7 New: Add Release group to history for all events
Closes #4865
2022-01-23 14:16:26 -08:00
Mark McDowall ccc378fd0c Update comment for TorznabSettings MinimumSeeders 2022-01-23 14:06:16 -08:00
bakerboy448 71dba904a1
New: OnApplicationUpdate Notifications
Closes #4810
Co-authored-by: Qstick <qstick@gmail.com>
2022-01-23 13:24:34 -08:00
Stéphane (Bakeneko) Dupont cee17483d9 New: Add option to search for anime using standard episode numbers
Closes #4153
2022-01-23 13:11:43 -08:00
bakerboy448 05b1581b7d
Fixed: Improved Indexer test failure message when no results are returned 2022-01-23 13:05:24 -08:00
bakerboy448 36395decc7 New: Support various Anime Release Groups with spaces and dashes 2022-01-23 13:00:59 -08:00
bakerboy448 113bb6ad4d Fixed: Don't parse -EN, -ES, -CAT as Group
(based on radarr 81966e621ef1c5ea8014c7d4fcb7f32d0f93581b)
2022-01-23 13:00:59 -08:00
bakerboy448 e6210aede6 Fixed: Better Cleansing of Tracker Announce Keys
Fixes: #4623
2022-01-23 13:00:59 -08:00
bakerboy448 6de8bdf331 Fix bad HashRelease test 2022-01-23 13:00:48 -08:00
bakerboy448 c67718d81e New: Correctly Parse Groups D-Z0N3 and Fight-BB
New: Parse Select Groups that do not follow -Group Format

Fixes #4623
- formatting
2022-01-23 13:00:26 -08:00
bakerboy448 faa510eb09 Fixed: Better Parsing of 4k Releases
Fixed: Parse 4k H265 releases as 4k
Fixed: Parse 3840x2160 as 4k

(based on radarr commit fa6b7ad2877a78182823e8bd831d01a70c16f033)
2022-01-23 13:00:26 -08:00
bakerboy448 ac9a98e498 New: Parse Release Groups with a `-` in their name
(based on radarr commit ea801665e4f3b7c505e2c2f37a4ef941a15e2c2d)
2022-01-23 13:00:26 -08:00
Qiming Chen 13aaa20f1b
New: Link indexer to specific download client
Closes #1215
Co-authored-by: Qstick <qstick@gmail.com>
2022-01-23 12:58:23 -08:00
pixxon a27984c032 New: Implement OnDelete notification for Emby/Jellyfin
Closes #4743
2022-01-23 12:56:39 -08:00
Stevie Robinson 9afcec8b1f
Fixed: Mass Editor Footer on Smaller Screens
Closes #4860
2022-01-23 12:47:43 -08:00
bakerboy448 f4dbda1318 Fixed: Clarify Indexer Priority Helptext 2022-01-23 12:46:19 -08:00
bejhan f67e11d477
Fixed: Parsing of numeric only titles that include a year
Closes #4850
2022-01-23 12:45:47 -08:00
PearsonFlyer d4d4bf8784
Fixed: Avoid download path check false positives for Flood
Closes #4825
2022-01-23 12:44:19 -08:00
Qstick 6106362f6c
Fix more unit tests after filter paths change 2022-01-22 11:42:09 -06:00
Mark McDowall 86658b05ca Fix unit tests after filter paths change 2022-01-19 23:54:26 -08:00
Qstick 041689e904
New: Add AppName to system status response 2022-01-18 23:19:03 -06:00
Mark McDowall 0cb8d93069 Fixed: Jump bar on series page not showing when window is made wider
Closes #4837
2022-01-13 17:54:04 -08:00
Qstick 6131a99497 Fixed: Skip Flat Extra Files (Plex Naming) on Import
Fixes #3914
2022-01-13 17:08:07 -08:00
Qstick 4be626a44c Fixed: Skip various Extras directories during scan 2022-01-13 17:08:07 -08:00
Qstick 9889ab7b48
Update MonoTorrent from nuget
Co-authored-by: ta264 <ta264@users.noreply.github.com>
2021-12-30 09:41:59 -08:00
bakerboy448 d284c29b6f
Fixed: Add missing MediaInfo VideoDynamicRangeType token to help modal 2021-12-30 09:36:09 -08:00
Qstick 87c65932f0
Clean TraktService.cs 2021-12-28 19:51:43 -06:00
Taloth Saldono 5c8f2518ba Added BDLight to quality parser 2021-12-27 01:51:35 +01:00
Taloth Saldono d7c10a4d4d Fixed: Re-added xem scene number verification warning to calendar. 2021-12-27 01:18:11 +01:00
Taloth Saldono f2c7e235af Parse specials directly in ParsingService rather than callee. 2021-12-25 01:06:53 +01:00
Taloth Saldono e3be3ef91e New: Gracefully handle broken release profiles when ppl swapped to older sonarr versions and back again 2021-12-25 00:59:42 +01:00
bakerboy448 ec866082d4
Fixed: Cleanse Notifiarr secret from URL in logs 2021-12-24 13:06:31 -08:00
Qstick 60b4e14522 Add test to ensure Identity is maintained on Id column during migration 2021-12-24 13:05:05 -08:00
tsubus 385a756a7e
Use mono for MachOConverter in build.sh 2021-12-24 13:03:44 -08:00
Qstick de528fff42
Don't set ReleaseGroup twice in while building LocalEpisode 2021-12-23 18:20:17 -06:00
Mark McDowall b90e25f652 Fixed: Overflowing release profile terms
Closes #4667
2021-12-20 12:29:17 -08:00
Stevie Robinson d80565f6a9
Fixed: Convert Trakt list name to URL slug 2021-12-20 12:26:51 -08:00
Mark McDowall 245a033ab3 Fixed: Don't show absolute episode number in Manual Import if not available 2021-12-19 10:09:32 -08:00
Mark McDowall 8621ecfec1 Fixed: Some manually imported episodes not being marked as imported and remove from queue
Closes #4803
2021-12-19 10:09:32 -08:00
Mark McDowall 52d8f87c66 Fixed: Sorting series without a Previous Airing
Closes #4809
2021-12-19 10:09:32 -08:00
Mark McDowall b869ebeac2 Fixed: Parsing of 2160p BDRips
Closes #4807
2021-12-19 10:09:32 -08:00
Mark McDowall 3f66eeba4d Fixed: Download client name in history details
Closes #4801
2021-12-19 10:09:32 -08:00
hugepants d5b91f81ef
Fixed: Grammar in tooltip of download button 2021-12-17 19:46:22 -08:00
Yaroslav Veremenko 39192a6622
New: Added "Season Pack" to Interactive Search custom filters
Closes #4780
2021-12-17 19:45:45 -08:00
bakerboy448 f948a59f6f
Fixed: Bad wiki fragment for mono health check 2021-12-17 19:42:24 -08:00
bakerboy448 2d67247234
Fixed: Improved messaging when episode file was detected as deleted from disk 2021-12-17 19:41:14 -08:00
bakerboy448 cfa93c0a92 Fixed: Improve WEBDL detection of Netflix Rips 2021-12-17 19:39:48 -08:00
bakerboy448 96a8991ba3
Clarify Trace logs in bug reports 2021-12-17 19:39:00 -08:00
Martin e2b16adec6
Use pattern matching instead of as expression type checking 2021-12-17 19:16:00 -08:00
Taloth Saldono 201004113e New: Updated MediaInfo to 21.09, Sqlite to 3.32.1.0 and added support for mac osx arm64 arch. Deprecated osx x86. 2021-12-16 15:54:19 +01:00
Phillip R. Jaenke 3a8bd451a9 Update RestSharp to 106.15.0, addresses CVE-2021-27293 2021-12-15 15:36:59 -08:00
Qstick aa463e0af1
New: Use https for thexem.info 2021-12-15 15:34:02 -08:00
Mark McDowall 81ff4791ac
Update open collective links 2021-12-13 15:52:51 -08:00
Mark McDowall ec62884649 Fixed: Report certificate validation failures when configuring Plex Media Server connection
Closes #4781
2021-12-07 08:20:14 -08:00
bakerboy448 0ac0a6223a
New: Display Unknown Items in Activity Queue by default
Closes #4783
2021-12-07 08:12:38 -08:00
Alan Collins 7b694ea71d
New: Add {MediaInfo VideoDynamicRangeType} token for renaming 2021-12-05 10:41:27 -08:00
Stevie Robinson 7f079ac8f2
New: Updated naming examples 2021-12-05 10:03:07 -08:00
Mark McDowall 1603512ad6 Remove message from ping response 2021-12-04 13:29:45 -08:00
Mark McDowall 75fc550a3f New: /ping endpoint for verifying that Sonarr is running and able to access it's DB
Closes #4766
2021-12-03 17:41:30 -08:00
Mark McDowall d51cd4bbe7 Fixed: Parsing of even more poorly named full season regexes
Closes #4771
2021-12-03 17:12:29 -08:00
Mark McDowall 70456410a7 Fixed: Deleting from Manage Episodes modal 2021-12-03 17:09:21 -08:00
Mark McDowall 9e5d173900 Fixed: Parsing of 4 digit episode number with 4 digit season number 2021-12-03 17:08:46 -08:00
Mark McDowall f08f5cecdc Fixed: Parsing of some multi-season release names 2021-11-28 18:26:26 -08:00
Mark McDowall 226d94b050 New: Show genres on series details page
Closes #4734
2021-11-28 18:26:26 -08:00
Mark McDowall 2d0541c03b Fixed: Increase width and truncate long titles on Import List Exclusions
Closes #4528
2021-11-28 15:46:06 -08:00
Mark McDowall ae328c1d84 Fixed: Parsing of Ger.Dub releases as German
Closes #4538
2021-11-28 15:13:38 -08:00
Mark McDowall 61633ab074 Fixed: Parsing of more anime releases with Chinese and English titles
Closes #4531
2021-11-28 15:03:04 -08:00
Mark McDowall d600e2e3fb Fixed: More restrictive repeated multi-episode parsing to avoid false positives
Closes #4716
2021-11-28 14:08:17 -08:00
bakerboy448 7b7da9c1b2
New: Handle missingFiles status from qBit 2021-11-26 19:49:24 -08:00
Mark McDowall ded3f59d2f Fixed: Don't attempt to import downloads that cannot be parsed
Closes #4758
2021-11-26 19:41:38 -08:00
Mark McDowall 2601a68cd4 New: Parse 960p as 720p instead of 480p
Closes #4757
2021-11-26 18:56:43 -08:00
Mark McDowall 1d188d32b6 Fixed broken disk scan tests 2021-11-26 09:10:04 -08:00
Mark McDowall 73429a0823 Fixed: Parsing of poorly named anime above 1000 episodes
Closes #4755
2021-11-23 16:50:52 -08:00
Mark McDowall f26540cdc7 Reanalyze media files if file size changes
Closes #3366
2021-11-23 16:50:52 -08:00
Mark McDowall 2bf1ce1763 New: Manage episodes through Manual Import modal 2021-11-23 16:50:52 -08:00
Mark McDowall b184e62fa7 Fixed: Get full path for download station instead of shared folder
Closes #4751
2021-11-21 11:39:39 -08:00
geogolem 86fa6036d0
New: Trakt Connection
Closes #3906
2021-11-21 10:08:56 -08:00
bakerboy448 5267e15c17
Fixed: Images for Connections using old branch name 2021-11-21 10:06:42 -08:00
bakerboy448 a30ec0eb52
Add missing remux quality parsing tests 2021-11-21 10:05:58 -08:00
bakerboy448 dd3b57da27
Update bug report template 2021-11-21 09:07:13 -08:00
Robin Dadswell 3f9f8b3e2d
New: Time column is first column on events page 2021-11-21 09:06:42 -08:00
Mark McDowall d11c691a73 Fixed: Only blocklist pending releases when option is checked 2021-11-17 07:46:01 -08:00
Taloth Saldono 44a160fa06 Clarified Aria2 RPC Path field.
closes #4738
2021-11-06 20:17:20 +01:00
Taloth Saldono 272f8e6136 Restored backward compat of Release Profile POST api 2021-11-05 18:48:13 +01:00
Qstick 6378e7afef
Fix broken test 2021-11-04 22:54:55 -05:00
Mark McDowall b70ef368db Fixed: api/v3/history/series "includeSeries" and "includeEpisode" query parameters
Closes #4727
2021-11-03 17:21:03 -07:00
Mark McDowall 19510c4932 Fixed: Quality Profile and Tag Import List filtering
Closes #4736
2021-11-03 16:50:12 -07:00
Mark McDowall 4e28c7d190 Fixed: Error message when RSS feed items lack a pubData element 2021-11-03 16:30:07 -07:00
Mark McDowall 51d45247d0 Fixed prowl tests 2021-11-03 15:57:02 -07:00
Robin Dadswell 85a143a1b6
Fixed: Prowl notifications priority
Closes #4719
2021-11-01 20:29:18 -07:00
Mark McDowall f58a2389bd New: Increase width of preferred word keys when editing
Closes #4689
2021-10-22 17:44:50 -07:00
Mark McDowall a97e83ea4d Fixed: Parsing of special episodes that lack a series title
Closes #4688
2021-10-17 21:39:17 -07:00
Mark McDowall a83ed3bcce New: Add logging is release is rejected because no download URL is available 2021-10-17 21:39:17 -07:00
Mark McDowall 30aa5f9070 New: Release group column on series details 2021-10-17 21:39:17 -07:00
Mark McDowall 4bba820e5a New: Set release group during Manual Import
Closes #3811
2021-10-17 21:39:17 -07:00
BubbleRep cd30175308
Fixed: On Delete events for Custom Scripts not being executed
Closes #4688
2021-10-17 21:39:08 -07:00
Mark McDowall 2e2733a2e1 Fixed: Saving release profile when removing an item from Must (Not) Contain 2021-10-05 13:42:37 -07:00
Mark McDowall 553aa22b29 Remove unused split 2021-10-05 13:12:28 -07:00
Mark McDowall 08359e264c New: Show preferred words in release profiles for tag details 2021-10-05 12:30:38 -07:00
Mark McDowall 979219f7df Fixed: Viewing tag details in settings
Closes #4683
2021-10-05 12:30:38 -07:00
Mark McDowall bb89fb0867 Fixed: Use unmodified titles when searching Nyaa
Towards #1225
2021-10-05 12:30:38 -07:00
Mark McDowall 747a4164e2 Rename QueryTitles to CleanSceneTitles in SearchCriteriaBase 2021-10-05 12:30:38 -07:00
Mark McDowall eb4a9f624e Rename NzbSearchService to ReleaseSearchService 2021-10-05 12:30:38 -07:00
Alan Collins 4bdb7fe795
New: Use filename without extension if SceneName is unavailable for preferred words
Closes #4675
2021-10-05 12:10:53 -07:00
Mark McDowall 0abd52d6be Fixed: Release profiles not saving if Must (Not) Contain is empty
Closes #4681
2021-10-05 09:19:47 -07:00
Mark McDowall af654e245c Fixed: Bad migration resulting Must Not Contain being overwritten by Must Contain 2021-10-04 08:06:48 -07:00
Mark McDowall deed85d2f9 Handle null values while migrating release profiles 2021-10-03 15:49:20 -07:00
Mark McDowall 89b1d58b86 Fix broken tests 2021-10-03 12:45:01 -07:00
Mark McDowall f4c71fc56f Remove unused split from ReleaseProfile 2021-10-03 11:51:01 -07:00
Mark McDowall 7e175bf95e Fixed: Qbit torrents treated as failed after error
Closes #4674
2021-10-03 00:44:38 -07:00
ta264 99843d2876 Fixed: Restoring scroll position when going back to index page 2021-10-03 00:44:38 -07:00
ta264 7c74d19515 Revert "Updated react-virtualized"
This reverts commit 47f3886d7a.
2021-10-02 20:38:16 -07:00
ta264 076ad5fe6d Revert "Fixed scrolling via jump list on series index"
This reverts commit 5d316ad7dc.
2021-10-02 20:38:16 -07:00
Qstick 519a5ca75c New: Allow Sonarr List Sync by Source Tag
Fixes #3966
2021-10-02 20:36:58 -07:00
Mark McDowall 07c95f06d3 New: Log which DB is being migrated
Closes #4669
2021-10-02 19:00:25 -07:00
Mark McDowall ad9f242b5c Fixed: Parsing of Plex DVR date-based recordings
Closes #4671
2021-10-02 18:44:53 -07:00
Mark McDowall ada01a1116 Fixed: Commas in Must (Not) Contain regex
Closes #4672
2021-10-02 18:44:53 -07:00
justin vanderhooft f6fbd3cfee New: Import from Plex Watchlist 2021-10-01 13:35:59 -07:00
Mark McDowall 5923b4ae0d New: Show limited matching for aliases that are limited to specific formats/release groups 2021-10-01 10:48:30 -07:00
Taloth Saldono 0d99c87d87 Fixed: Bumped mono workaround version from 6.10 to 7.x for btls trust chain coz they still haven't fixed it after over a year 2021-09-30 21:12:02 +02:00
Mark McDowall 9111799f46 Not a real series title 2021-09-30 11:22:35 -07:00
Stevie Robinson 943a3d80c4
New: Disable autocomplete of port number 2021-09-30 11:11:52 -07:00
Kevin Lau d9e9b72a89
New: Change Today color in calendar for better visibility 2021-09-30 11:11:14 -07:00
bakerboy448 5bf7228658 Update CONTRIBUTING.md
- wiki links
- irc link
- GitHub link 
- branches
2021-09-30 11:10:43 -07:00
Mark McDowall 8ad5e5dd13 Fixed: Parsing of quality when release group contains Remux
Closes #4594
2021-09-30 10:59:45 -07:00
Taloth Saldono c0a961bb94 New: Updated TheXEM server url on xem admin request 2021-09-28 22:21:36 +02:00
Mark McDowall 6994ca720a Fixed: Parsing multi-episode file name with number in episode title
Closes #4613
2021-09-05 21:45:05 -07:00
Mark McDowall 1d8b711eda Aria2 fixes
Fixed: Removing completed downloads from Aria2
Fixed: Return correct path for Aria2 downloads in a job folder
Fixed: Seeding torrents in Aria2 are treated as finished downloading
Closes #4648
2021-09-03 21:41:52 -07:00
Mark McDowall 77fdebc366 Do not unmonitor episodes after using Manual File Import 2021-08-30 17:29:13 -07:00
Mark McDowall dd3899806b Fixed: Parsing of some anime with standard numbers
Closes #4573
2021-08-29 20:40:46 -07:00
Mark McDowall 574f05e296 Fixed: Parsing of some multi-episode titles
Closes #4612
2021-08-29 20:15:27 -07:00
Mark McDowall 5c4687e0d9 Fixed: Unmonitor episodes after using Manual File Import
Closes #4638
2021-08-29 19:54:05 -07:00
Mark McDowall e19d4cf85b Fixed: Log active indexers instead of implying all indexers are searched
Closes #4642
2021-08-29 19:25:41 -07:00
Mark McDowall 6b84da614b Fixed: Queue conflicts with the same download in multiple clients 2021-08-29 19:23:48 -07:00
LoV432 31833253dd
Fixed: Erai-Raws Batches Parsing 2021-08-29 19:13:49 -07:00
Qstick dbd140d4ec Update QualityDefinitionsConnector.js 2021-08-20 21:02:09 -07:00
Qstick e9a49941c9 Fixed: Help message when adding download clients 2021-08-20 21:01:43 -07:00
Qstick 0fe436b952 Aria2 formatting cleanup 2021-08-20 21:01:23 -07:00
Qstick 22f044844c Fix Phantom branch reference in Join proxy 2021-08-15 20:14:51 +02:00
Taloth Saldono 20306a38e1 Fixed: Release Push api broken when no indexer id is specified 2021-08-11 13:48:12 +02:00
Winter 0d03dba6ea Fix Feature Request issue template 2021-08-07 09:22:19 +02:00
Winter 1c6863dd27 Fix Bug Report issue template
The `title` key is optional, but must not be empty if specified.
2021-08-07 09:22:19 +02:00
Mark McDowall 3f60e28c42 Fixed: Blocklisting pending releases
Closes #4598
2021-08-05 17:17:40 -07:00
Robin Dadswell ead1371846 New: Renamed Blacklist to Blocklist 2021-08-05 16:55:23 -07:00
Taloth Saldono 2f6409226a Fixed: Cleanup of unused tags for Import lists.
Fixes #4610
2021-08-06 01:54:12 +02:00
bakerboy448 3fb5f65f08
Use YML Github templates 2021-08-05 16:16:57 -07:00
Mark McDowall 38feeefea3 Fixed: Improve More Info links for Indexers, download clients, etc 2021-08-03 19:13:08 -07:00
Mark McDowall a7a3c546e5 Fix broken test 2021-08-03 18:55:45 -07:00
Taloth Saldono f107ea5678 Simplified regex a bit. 2021-08-03 21:59:30 +02:00
Taloth Saldono 59409a7e72 Fixed: Parse endpoint response when title failed to parse
Closes #4591
2021-08-03 20:55:27 +02:00
Mark McDowall dc7f46027a Fixed: Prevent conflicts with reserved device names
Closes #4595
2021-08-01 16:45:23 -07:00
Mark McDowall 2031da05f6 Updated more wiki links 2021-08-01 16:12:30 -07:00
Mark McDowall 92b9f46399 Fixed HealthCheckFixture test 2021-08-01 16:05:36 -07:00
Mark McDowall 0a30735f34 Fixed: Updated supported wiki links 2021-08-01 16:00:52 -07:00
Mark McDowall 021fd4afa7 Fixed: Updated wiki links 2021-08-01 15:34:44 -07:00
siankatabg 57e3bd8b4d
New: Bulgarian Language 2021-08-01 13:32:49 -07:00
bakerboy448 3bbec2ff5d
Fixed: Incorrectly Parsing [PublicHD] as Release Group 2021-08-01 13:30:33 -07:00
Zippy79 155dbd4dd5
New: Add TVDB URL in Kodi metadata 2021-08-01 13:29:25 -07:00
Mark McDowall 4bf3ab1511 Improve default path for Synology Download Station
Fixes: Missing default path for Download Station
Fixes: Error when getting destination path for Synology Download Station in health check
Closes #4562
2021-08-01 13:25:50 -07:00
LLeny 6fd31613c2
New: Aria2 Torrent Client
Closes #1374
2021-08-01 12:49:36 -07:00
Alanoll d4cd4a9549 New: Named Release Profile preferred word renaming tokens 2021-08-01 12:45:26 -07:00
Mark McDowall 6596d0b4da Fixed: Show error if adding root folder fails
Closes #4570
2021-08-01 12:09:02 -07:00
Mark McDowall dca2cfcecd Fixed: Peers filtering in Interactive Search results
Closes #4583
2021-08-01 12:09:01 -07:00
Mark McDowall 076c293942 Fixed: Monitoring pilot episode will not monitor first season
Closes #4597
2021-08-01 12:09:01 -07:00
Alex Thomson 94417402d8 Remove duplicate call to DeleteTorrent 2021-07-27 16:17:04 +02:00
bakerboy448 4659a8366d
Update bug report template 2021-07-13 10:23:31 -07:00
6cUbi57z c3d54b312e New: Add tag support to indexers
Closes #487
2021-07-04 11:17:57 -07:00
Yukine 14b551b027 Fixed: Parsing of some anime releases with year in title 2021-07-04 10:19:55 -07:00
Nathaniel Peiffer 43cd103248
New: Add Size column to Activity: Queue
Closes #4527
2021-07-04 10:14:42 -07:00
bakerboy448 bd4624c0ab
Add wiki link for logs in bug report template 2021-07-04 10:13:20 -07:00
bakerboy448 b9539cc1f7
Update Contributing.md 2021-06-22 07:46:47 -07:00
Minamiya Natsuki fc8bbf29d1
Fixed: Parsing of some Chinese anime releases without brackets 2021-06-21 20:42:32 -07:00
Robin Dadswell 98e5442f24 New: Added Running Years into the shows details 2021-06-21 20:39:10 -07:00
bakerboy448 c30ce3580a
Fixed: Incorrectly parsing RePACKPOST as Group 2021-06-21 20:38:50 -07:00
Nathaniel Peiffer 2ddf131e1a
New: Activity Queue: Rename Timeleft column to Time Left 2021-06-21 20:37:00 -07:00
Jake Soenneker 2f366bc3b7
New: Manual Import rejection column is sortable 2021-06-21 20:35:23 -07:00
TwentyNine78 49e90463e5
Fixed: Compatibility with the new Download Station API
Fixes #4388
2021-06-21 20:29:50 -07:00
Mark McDowall 4402f475d4 Update IRC links to Libera.chat 2021-06-17 11:26:49 -07:00
Qstick 6db2401359 Fixed: Use normal URL for Trakt Oauth per new docs
Closes #4521
2021-06-08 07:33:17 -07:00
Taloth Saldono 690b851836 Reverted test code 2021-05-27 10:15:52 +02:00
Mark McDowall 2804a961cb Fix webpack memory leak when copying HTML files 2021-05-26 21:34:03 -07:00
Taloth Saldono 32f2d417d3 Added EpisodesChanged to signalR series event to notify that episode monitored flag may have changed 2021-05-26 21:28:30 +02:00
Evan J e8f58eb9be Update login.html 2021-05-24 17:21:29 -07:00
Robin Dadswell a22a38016d Fixed: Root Folder Downloads check giving errors when RuTorrent is used 2021-05-24 17:19:17 -07:00
Taloth Saldono 6c5cc430b7 Clarify delay profile bypass only applies to preferred protocol 2021-05-22 10:44:57 +02:00
Taloth Saldono 9e81d41f26 Send signalr message for episode monitored flag changes 2021-05-22 10:40:10 +02:00
Taloth Saldono dab1834960 Fixed: Inversion of defaults in CDH migration. 2021-05-20 01:44:11 +02:00
Mark McDowall c3837c9f7b Fix ESLint 2021-05-19 15:06:06 -07:00
Qstick 2ad4e21aad
Fixed: NZBGet Settings hint mentions Sabnzbd
closes #4494
2021-05-18 09:45:33 +02:00
Jesse Chan 707c2c7978 Flood: explicitly cast DateFinished long? to long 2021-05-18 09:44:39 +02:00
Jesse Chan c8ad01e38e
New: Removing Flood downloads when seeding criteria have been met
closes #4492
2021-05-17 22:26:58 +02:00
Taloth Saldono fe8f319f7b Show User Agent in System->Tasks for externally triggered commands 2021-05-16 12:43:17 +02:00
Taloth Saldono 91fe47ef31 Removed extraneous enum hints in dropdown 2021-05-16 00:48:14 +02:00
Taloth Saldono 2dba5ef4b4 New: Per download client setting to Remove Completed/Failed downloads instead of global setting 2021-05-16 00:48:14 +02:00
Taloth Saldono 8e46362ff9 Fixed SeedConfigProvider cache refresh after indexer settings change 2021-05-16 00:48:14 +02:00
leaty 411be4d011 New: Removing rtorrent downloads when seeding criteria have been met 2021-05-16 00:48:14 +02:00
Robin Dadswell cad8b37df8 New: Health Check for Downloads to Root Folder
already implemented within Radarr
(cherry picked from commit 88780f33a4c5032aaa151aaae7090371beb42f33)
2021-05-15 15:00:04 -07:00
Michael Higgins 82e0a4bd0e
New: Setting SceneName and ReleaseGroup for EpisodeFiles via API 2021-05-15 14:58:53 -07:00
Taloth Saldono ee227e3b1d Fixed timing issues
fixes #4487
2021-05-12 23:56:14 +02:00
Mark McDowall ff048ffcb8 Spaces... 2021-05-10 20:43:38 -07:00
Mark McDowall 93443f1db2 Fixed: Adding new series via API with seasons array missing 2021-05-10 20:35:30 -07:00
Mark McDowall a2427bd9df Fixed: Parsing of 540p releases 2021-05-10 20:35:30 -07:00
Mark McDowall c722e91124 New: Add rel="noreferrer" to all external links 2021-05-10 20:35:30 -07:00
Mark McDowall 05bee7c37a Fixed: Remove preview from site name 2021-05-10 20:35:30 -07:00
Taloth Saldono 5dff21e6d5 Fixed logger parameter 2021-05-09 01:54:22 +02:00
Taloth Saldono b3dbff1642 Log when season,ep query parameters aren't supported. 2021-05-09 01:10:09 +02:00
Taloth Saldono 8fc68420c9 Fixed: Scene Info displaying mappings for wrong season
Fixed: Extraneous searches based on scene mappings
2021-05-08 01:03:47 +02:00
Taloth Saldono 87897d56ea Fixed: MediaInfo tag in renaming format for certain OS language cultures
Based-On: a0d2af54e8
2021-05-07 22:09:23 +02:00
Taloth Saldono bcdbadbede Simplify release titles before applying scene naming exception regex filter 2021-05-07 20:17:05 +02:00
Taloth Saldono 87f10bf7bb Fixed: TheXEM mappings not used properly when parsing season packs 2021-05-07 20:16:09 +02:00
Mark McDowall a8a9399469 Fixed: Parsing of some anime releases with numbers in title 2021-04-25 02:22:10 -07:00
Mark McDowall 5d316ad7dc Fixed scrolling via jump list on series index 2021-04-24 21:57:54 -07:00
Mark McDowall 56a33e3b4c Use webpack environment variables in build.sh 2021-04-24 19:25:02 -07:00
Mark McDowall 684626ef73 Updated react-dnd and added touch support
Fixed: Drag and drop on mobile devices
Closes ##4429
2021-04-24 19:25:02 -07:00
Mark McDowall 47f3886d7a Updated react-virtualized 2021-04-24 19:25:02 -07:00
Mark McDowall 8acc0f77b6 Updated create-react-class package 2021-04-24 19:25:01 -07:00
Mark McDowall 23a7c728f4 Updated redux and react-redux packages 2021-04-24 19:25:01 -07:00
Mark McDowall 2964d0bb6d Update react-autosuggest, react-focus-lock, react-lazyload react-slider and react-tabs packages 2021-04-24 19:25:01 -07:00
Mark McDowall c92d25694f Updated react-addons-shallow-compare package 2021-04-24 19:25:01 -07:00
Mark McDowall a831ece57d Updated react and react-dom packages 2021-04-24 19:25:01 -07:00
Mark McDowall b4973fd99d Updated jquery, filesize and qs packages 2021-04-24 19:25:01 -07:00
Mark McDowall a0e3afd614 Updated clipboard, fuse.js, mobile-detect, moment and signalr packages 2021-04-24 19:25:01 -07:00
Mark McDowall 91c895219f Update classnames 2021-04-24 19:25:01 -07:00
Mark McDowall 38a312895a Update sentry 2021-04-24 19:25:01 -07:00
Mark McDowall 44cb493847 Update fontawesome 2021-04-24 19:25:01 -07:00
Mark McDowall 30ed105afc Update postcss packages 2021-04-24 19:25:00 -07:00
Mark McDowall 0374f05743 Upgrade core-js package 2021-04-24 19:25:00 -07:00
Mark McDowall 023498fdb9 Update linter packages 2021-04-24 19:25:00 -07:00
Mark McDowall 36d4c2c9a0 Upgrade babel packages 2021-04-24 19:25:00 -07:00
Mark McDowall dde53b12a8 Removed gulp and organized package.json 2021-04-24 19:25:00 -07:00
Mark McDowall a3bb2f1c32 Fixed files that were using incorrect imports 2021-04-24 19:25:00 -07:00
Mark McDowall bd83a2af88 Forward slashes are actually forward slashes 2021-04-24 19:20:35 -07:00
bakerboy448 44f9d45938
New: Date format in log files 2021-04-24 19:17:33 -07:00
Robin Dadswell a824fa44d2
Add missing On Delete Notifications to Mailgun notifications 2021-04-23 07:54:15 -07:00
cicomalieran 8175f19442
Fixed: Parsing RSS with null values 2021-04-22 16:38:26 -07:00
Skyler Mäntysaari 55752a6c62
New: Mailgun connection 2021-04-22 16:37:28 -07:00
bakerboy448 8d2d9078ff
Update indexer category help text 2021-04-22 16:36:39 -07:00
Zippy79 199b126a46
New: Adds SSL option to Kodi connections 2021-04-22 16:36:05 -07:00
Mark McDowall 16156192c5 Fixed broken tests 2021-04-21 16:26:11 -07:00
Mark McDowall 0a2b109a3f Fixed: Refresh queue count when navigating Activity: Queue
Closes #4446
2021-04-20 00:21:20 -07:00
Mark McDowall fde28c63d9 New: Removed EpisodeGuide tag from Kodi Metadata
Closes #4448
2021-04-20 00:11:09 -07:00
Mark McDowall 4ffa81c783 Fixed: Parsing WEB quality from some anime releases 2021-04-20 00:05:54 -07:00
Mark McDowall 6934eafd44 Fixed: Round durationseconds in Kodi metadata 2021-04-20 00:05:54 -07:00
Mark McDowall c669be317f Fixed: Removing completed download from SABnzbd
Closes #4445
2021-04-20 00:05:54 -07:00
Mark McDowall 6079f1ef11 Fixed: CRC32 being parsed as release group
Closes #4449
2021-04-20 00:05:54 -07:00
Mark McDowall 3f8bb24b75 Fixed: Don't ignore number only aliases 2021-04-20 00:05:54 -07:00
Mark McDowall dd8fbb438f Fixed: Parsing of some anime releases 2021-04-20 00:05:54 -07:00
Mark McDowall d29e254dcb New: File info scrolls on mobile
Closes #4436
2021-04-12 22:15:59 -07:00
Mark McDowall 5938c38bc3 Fixed: Custom Script Health Issue Level 2021-04-12 22:15:27 -07:00
Mark McDowall a47cb2390e Fixed: Links to Sonarr now uses auth cookie
Closes #4440
2021-04-12 22:14:41 -07:00
Mark McDowall 5aae777a18 Obfuscate anime title 2021-04-10 22:49:38 -07:00
Mark McDowall 5114c75cbb Fixed: Incorrectly grabbing revision downgrades
Closes #4431
2021-04-10 14:59:28 -07:00
Mark McDowall d7e9ccde8e Fixed: Parsing of anime titles with numbers in the middle of their names
Closes #4433
2021-04-10 14:38:33 -07:00
Mark McDowall 100b87193d Fixed: Background click not closing episode modal when first opened 2021-04-10 01:36:43 -07:00
Mark McDowall 5449389ca5 Set timeout for sending email
Closes #4348
2021-04-09 10:38:16 -07:00
Mark McDowall 7da695bd62 Revert "Handle events asynchronously for notifications"
This reverts commit 46da657740.
2021-04-09 10:36:56 -07:00
Mark McDowall 46da657740 Handle events asynchronously for notifications
Fixed: Slow notification sending slowing down imports
Closes #4348
2021-04-08 17:36:24 -07:00
Mark McDowall 5301620ecf Refactor Email and add more logging 2021-04-08 17:34:56 -07:00
Mark McDowall 77ac0bb44c Fixed: Importing a language upgrade with a worse preferred word score 2021-04-08 17:27:01 -07:00
Mark McDowall 75e9d33fea Confirm scene name is not folder name for batch releases 2021-04-07 18:03:22 -07:00
Mark McDowall ac8283d733 New: Remove completed downloads from disk when removing from SABnzbd
Closes #4423
2021-04-07 18:03:21 -07:00
Mark McDowall f2422f814d Fixed: Parsing of some 360p multi-episode files 2021-04-07 18:03:21 -07:00
Mark McDowall cb8a29ec00 Fixed: Some connection settings being invisibly enabled on creation 2021-04-07 18:03:21 -07:00
Mark McDowall a4dea0aa62 Fix spelling of separated 2021-04-07 18:03:21 -07:00
Daniel Martin Gonzalez d6e5d9c424
New: Add option to import from any user's personal list 2021-04-05 15:45:23 -07:00
Mark McDowall 1e99856ffc Fixed: Exception when searching some anime
Closes #4414
2021-03-29 13:27:52 -07:00
Mark McDowall 2da2420415 New: Series Year Renaming token
Closes #4407
2021-03-29 13:27:52 -07:00
Mark McDowall 0210b5c5c1 New: Calendar option for full color events 2021-03-29 13:27:52 -07:00
Mark McDowall 66c805feaf New: Support "Series" instead of "Season" in season packs
Closes #4399
2021-03-29 13:27:52 -07:00
Taloth Saldono a200dd5f6d Bump package version 2021-03-27 22:14:03 +01:00
Taloth Saldono f57efd30b8 Fixed data dir ownership in case of dpkg-reconfigure 2021-03-27 21:30:30 +01:00
bakerboy448 f2f1039c5e
Fixed: Debatable typos in Naming Modal 2021-03-27 13:30:22 -07:00
bakerboy448 12ba4f73ed
Updating the bug template yet again 2021-03-26 19:14:08 -07:00
Mark McDowall 370280b4bf
Another wiki URL update
Close #4411
2021-03-26 19:08:04 -07:00
Mark McDowall 6c505937da Fixed: Interactive import modal horizontal scrolling on Firefox mobile
Closes #4401
2021-03-23 20:37:13 -07:00
Taloth Saldono 7272c5b7fc Added IsTorrentLoaded to tests 2021-03-20 00:33:51 +01:00
Mark McDowall 1d06c3fc15 Revert vswhere command 2021-03-19 15:21:04 -07:00
Mark McDowall ec9f62285a Updated vswhere.exe 2021-03-19 14:40:17 -07:00
Mark McDowall aae0d1c4ba Updated nuget.exe 2021-03-19 14:25:59 -07:00
Taloth Saldono 652d44722b Fixed: Qbittorrent api errors when only one of two seed criteria was configured
closes #4393
2021-03-19 21:32:42 +01:00
Taloth Saldono 5a69801877 Fixed: Unnecessary idle cpu usage
ref #4386
2021-03-19 02:48:09 +01:00
Taloth Saldono fa8b2f48e7 Don't ignore original wal/journal during v3 migration 2021-03-18 23:43:16 +01:00
Taloth Saldono 34faa417c1 Fixed: Database migration failure when database was manually repaired in a certain way
fixes #4390
2021-03-18 01:25:21 +01:00
Mark McDowall d6c0635a26 New: Improve message if Sonarr can't bind to IP/port during startup
Closes #4352
2021-03-17 17:21:30 -07:00
Mark McDowall d4167d7169 New: Support for using parsed season number for some anime releases without aliases
Closes #4377
2021-03-17 17:14:54 -07:00
Taloth Saldono eea6be459d Fixed post-install update check not running 2021-03-14 20:24:08 +01:00
Taloth Saldono 67e97f7aee Fixed: Setting seed criteria while torrent is still being loaded by qbittorrent
closes #4360
2021-03-14 00:46:28 +01:00
Mark McDowall 37e1c4f2eb New: Don't close interactive search with background click 2021-03-11 08:23:06 -08:00
Taloth Saldono a9b8ec3505 Fixed failing tests 2021-03-10 23:38:59 +01:00
Taloth Saldono f57cf1561b Log Skyhook connection failures with more info. 2021-03-10 23:05:19 +01:00
Taloth Saldono 6672650b6b Log Skyhook connection failures with more info. 2021-03-10 21:44:32 +01:00
Taloth Saldono e4a064a1c0 Added comment to sonarr.service 2021-03-10 21:44:32 +01:00
Taloth Saldono a848e575cd Make it clearer that Maximum size is the global limit. 2021-03-10 21:44:32 +01:00
Taloth Saldono 01995e686d New: Multiple Recipients on Email Notifications (Also CC, BCC)
Based on Qstick's Radarr commit of the same name
closes #4369

Signed-off-by: Taloth Saldono <Taloth@users.noreply.github.com>
2021-03-10 21:44:31 +01:00
Taloth Saldono 32058f1705 Fixed systemd unit search&replace issue and added umask to debconf 2021-03-10 21:44:31 +01:00
Mark McDowall af3696af08 On Download -> On Import (again) 2021-03-10 11:25:29 -08:00
Mark McDowall 1477356cfc Update Discord link 2021-03-08 19:29:11 -08:00
Mark McDowall aa19ddfbfd Fixed: Parsing of absolute episode numbers over 1000
Closes #4367
2021-03-08 19:22:41 -08:00
Mark McDowall a697a69e88 Fixed: Some health check wiki links 2021-03-08 19:22:34 -08:00
Mark McDowall 3abb7e156a Fixed: Parsing of absolute episode number inside square brackets
Closes #4331
2021-03-07 17:31:43 -08:00
Mark McDowall 240791a7cd Fixed: Parsing of anime batch releases using a tilde instead of a dash
Closes #4330
2021-03-07 17:10:00 -08:00
Mark McDowall 0fe2453962 Fixed: Parsing similar series titles with common words at end 2021-03-07 16:53:56 -08:00
Robin Dadswell 85f4cbe94c
Fix: Consistent SSL option for Download Clients
Closes #4323
2021-03-07 16:32:19 -08:00
Mark McDowall e1f7bce14b New: Simplify Connection trigger settings
Closes #4351
2021-03-07 16:24:20 -08:00
Mark McDowall 675c72f02e Fixed: Set SameSite=Strict for SonarrAuth cookie
Closes #4365
2021-03-07 16:24:20 -08:00
Mark McDowall 6619350f87 Fixed: Don't set cookies for static resources
Closes #4356
2021-03-07 16:24:20 -08:00
Mark McDowall efd9fe9ad0 Fixed: Cache headers for static resources
Towards #4356
2021-03-07 16:24:20 -08:00
Mark McDowall ab502ffda4 Just one Application Version header 2021-03-07 16:24:20 -08:00
Taloth Saldono 90697d77a5 Bumped package version for main 2021-03-07 23:27:22 +01:00
Qstick fa7aa05d60 Cleanup formatting in PackageGlobalMessageCheck.cs 2021-03-07 13:26:19 -08:00
Mark McDowall 4ed5fefcc6 Fixed: Remove selected in queue
Closes #4364
2021-03-07 12:24:06 -08:00
Taloth Saldono 4c324fbbbf Fixed failing test 2021-03-07 00:00:41 +01:00
Taloth Saldono 7da02c236a Added mechanism for package maintainers to produce a health check error. 2021-03-06 22:47:15 +01:00
Taloth Saldono 79cfa3a5f6 Removed bad file from commit 2021-03-06 22:47:15 +01:00
Qstick 2746556ae2 Cleanup trailing space in HttpResponse 2021-03-06 17:49:14 +01:00
Taloth Saldono d668e923af New: Allow user to choose whether delay profile should apply to release of the highest enabled quality 2021-03-06 13:57:11 +01:00
Taloth Saldono 24ca47356e Sentry logging exceptions and some trace logging 2021-03-06 13:57:11 +01:00
Taloth Saldono ab4f57f2fa Debug logging for email notifications
ref #4348
2021-03-06 13:57:10 +01:00
Mark McDowall 13ff2d4c70 Fixed: Restoring a backup with a different API didn't reload properly 2021-03-05 18:29:00 -08:00
Mark McDowall 2728bf79ca New: Improve messaging if release is in queue because all episodes in release were not imported 2021-03-05 18:29:00 -08:00
Mark McDowall cd28af98ee Fixed: Removal of previous service 2021-03-05 18:28:59 -08:00
Mark McDowall e9818b9982 Fixed: Queue refresh closing manual import from queue if items change 2021-03-05 18:28:59 -08:00
Qstick d6cf370bcd Handle 303 and 307 redirects in Http Requests 2021-03-03 20:43:44 -08:00
Michael Casey cb8ed74fe9
New: Add Recommended to the List types for Trakt
Closes #4167
2021-02-27 12:18:07 -08:00
bakerboy448 4e81b33006
Update contributing.md Github docs URL 2021-02-27 12:16:38 -08:00
bakerboy448 e67864fecb
Fixed: Cleanse Tracker Announce Keys from logs
Closes #4341
2021-02-25 00:22:58 +01:00
Taloth Saldono e289c428c6 Fixed: Refresh scene naming exceptions on series add to help first-use scenario 2021-02-20 20:04:34 +01:00
Taloth Saldono 23047623ee Cleanse more /home/username scenarios 2021-02-20 20:04:34 +01:00
Mark McDowall 062e47e27e Fixed: History details incorrect when preferred word score was 0
Closes #4328
2021-02-16 22:35:11 -08:00
Taloth Saldono 28ba037630 Fixed: Searching specials with NNTMux-based usenet indexers 2021-02-16 21:57:53 +01:00
Taloth Saldono 82da38941e Fixed: Debian package dependencies
closes #4332
2021-02-16 21:57:53 +01:00
Mark McDowall 10c770b116 Fixed: Use original file path when calculating preferred word score for existing file
Closes #3488
Closes #3913
2021-02-13 17:13:09 -08:00
Mark McDowall 3c45349404 New: Include renamed file information for Webhook and Custom Scripts
Closes #3927
2021-02-13 17:13:09 -08:00
Mark McDowall b815d27a10 New: Include episode file with episode file deleted events
Closes #4282
2021-02-12 17:01:31 -08:00
Mark McDowall ec698c2cf7 Fixed: Parsing of release names with trailing colon in the title
Closes #4238
2021-02-11 17:00:11 -08:00
Mark McDowall e7d57a95f2 Series editor column fixes
Fixed: Series Editor sorting by size on disk
Fixed: Series Editor column order/enabled lost on refresh
2021-02-10 16:52:21 -08:00
Mark McDowall 1250d71e80 Appeasing the lint gods 2021-02-09 20:17:53 -08:00
Mark McDowall e42d1af5ff Fixed: Unable to close indexer category select input on mobile
Closes #4296
2021-02-09 17:35:32 -08:00
Mark McDowall 88ad6f9544 Fixed: Error checking if files should be deleted after import won't leave import in limbo
Closes #4318
2021-02-09 17:35:32 -08:00
Michael Casey 54c386dd22
Use SVG for loading page icon
closes #4311
2021-02-09 19:20:59 +01:00
Mark McDowall 694360457d Fixed: Error logged when notification fails to send after episode file is deleted
Closes #4289
2021-02-09 07:55:25 -08:00
Mark McDowall ae196af2ad New: Health check for import lists with missing root folders
New: Show missing root folder path in edit for Import List

Closes #4315
2021-02-08 23:12:23 -08:00
Mark McDowall 12fafb2457 Fixed: Mark as Failed errors 2021-02-08 19:26:06 -08:00
Mark McDowall 795bc91d25 Fixed: Error logged when notification fails to send after episode file is deleted
Closes #4289
2021-02-08 16:39:47 -08:00
Mark McDowall 044342f677 Fixed: Scene name not being set during import 2021-02-08 11:10:42 -08:00
Mark McDowall 5960035d5d Fixed: Restoring backup from zip file on disk 2021-02-08 08:21:14 -08:00
Mark McDowall 6c324c8a1c Fixed: Errors loading queue after episodes in series are removed
Closes #3565
2021-02-07 20:25:44 -08:00
Mark McDowall 54a267d860 Fixed: Don't automatically import if absolutely numbered file if it doesn't match expected season
Closes #377
2021-02-07 17:28:16 -08:00
Mark McDowall b5f08a8f06 Alternate titles prop validation 2021-02-07 16:52:57 -08:00
Mark McDowall 653db8290e Update column properties when restoring persisted state 2021-02-07 16:52:57 -08:00
Mark McDowall cbc4295f28 Fixed: Use file name when importing batch release when renaming is disabled
Closes #3056
2021-02-07 16:52:57 -08:00
Mark McDowall 8876c9194d New: Show preferred word score in history 2021-02-07 16:52:56 -08:00
Taloth Saldono d898f55660 Generalized RateLimit logic to all indexers based on indexer id 2021-02-08 00:09:59 +01:00
Taloth Saldono a85979c2f6 New: Added Hindi language
closes #4275
2021-02-07 21:35:30 +01:00
bakerboy448 ae63373b2b
Update parser tests to be generic 2021-02-07 21:06:41 +01:00
Mark McDowall 044cb563a6 Fixed: Table column order resetting after refresh
#4297
2021-02-07 11:52:44 -08:00
Michael Casey 5302ee05bc
New: Add logo to loading page
Closes #4304
2021-02-07 11:51:53 -08:00
Taloth Saldono 29bc660cfb Fixed: Jackett indexer search performance 2021-02-07 19:50:04 +01:00
Taloth Saldono f8b8afdaa2 New: Added Arabic language 2021-02-07 19:50:04 +01:00
Ricardo Loureiro 33b708927c
Fixed: Authentication on DSM 7
closes #3943
ref #4313
2021-02-07 14:05:31 +01:00
Mark McDowall 42d9e37e7d Fixed: Settings fields being altered during save
Closes #4309
2021-02-06 19:28:41 -08:00
Michael Casey fc3bea370f
New: Persist search settings in add new series
Closes #4245
2021-02-06 19:18:47 -08:00
Robin Dadswell a1ddcf2b7b
New: Show number of files as tooltip over size on disk
Closes #4203
2021-02-06 19:15:31 -08:00
bakerboy448 5b98a17873
Update feature request template 2021-02-06 19:06:53 -08:00
Mark McDowall 8fd4adbdb6 New: use-credentials for maniftest requests
Closes #4305
2021-02-04 20:28:24 -08:00
Mark McDowall 952a7248c9 New: Add FileId to History data for import events 2021-02-04 20:28:24 -08:00
bakerboy448 577604fccc Fixed: Series Removed From TVDB wiki link 2021-02-03 20:50:43 -08:00
Matt Evans 3d3cd8cf5c
Detect Dolby Vision as HDR and MediaInfo Update
Fixed: Detect Dolby Vision as HDR
New: Updated MediaInfo on Windows and MacOS
Closes #4276
2021-02-02 17:19:22 -08:00
Robert Dailey 5e4c9dfe60
New: Add name field to release profiles 2021-02-02 16:51:06 -08:00
Taloth Saldono f3f2648ce5 Fixed: Global scene mapping aliases disappeared from UI 2021-02-01 16:52:34 +01:00
Taloth Saldono d1c3ae1749 Fixed: Validation of new qbittorrent max-ratio action config 2021-02-01 16:52:32 +01:00
Taloth Saldono 1cbcad6960 Added searchEngine support in Newznab/Torznab caps 2021-02-01 16:52:31 +01:00
Taloth Saldono ab45910e56 Fixed: FLAC audio channels in media info 2021-02-01 16:52:30 +01:00
Mark McDowall 53f5694535 New: Disable season search if series is unmonitored 2021-01-31 11:04:55 -08:00
bakerboy448 7a3f4e8033 Fixed: Handle more obfuscated names
Closes #4198
2021-01-31 10:53:26 -08:00
Robin Dadswell 474f4bcc6d
New: On Episode File Delete For Upgrade notification option 2021-01-30 14:54:26 -08:00
Robin Dadswell ec058436d3
New: Unify series custom filter options
Closes #3548
2021-01-30 14:34:20 -08:00
Mark McDowall 39ca348666 Fixed: Label for 'On Episode File Delete' 2021-01-24 13:21:16 -08:00
Mark McDowall 02a46349a2 Consistent types for on delete custom script events 2021-01-24 12:19:15 -08:00
Mark McDowall 98dc20d919 Fixed: Webhook events not sent for series deletions 2021-01-24 12:18:39 -08:00
Mark McDowall a510c9e86d Separate event types for series and episode deletions 2021-01-24 12:17:01 -08:00
Mark McDowall f5d690aa7b Fixed: Queue refresh closing manual import from queue if items change
Closes #4221
2021-01-24 10:14:45 -08:00
Robin Dadswell c91fabcf2d
New: On Delete Notifications
Closes #2410
2021-01-24 01:21:29 -08:00
Mark McDowall 21fafb895f Fixed: Files with lower preferred word scores are imported
Closes #4212
2021-01-24 01:18:08 -08:00
Mark McDowall 8047e5aa67 Fixed: Series Type Filter
Closes #4274
2021-01-23 19:15:36 -08:00
Mark McDowall 546d65b663 Manual Import episode improvements
New: Show absolute episode number (for anime series) and title in manual import
New: Show absolute episode number (for anime series) in manual import episode selection
2021-01-23 19:02:22 -08:00
Mark McDowall 328cfa12f6 Fixed: Improve multi-episode title squashing 2021-01-23 18:16:32 -08:00
bakerboy448 d475fccb55
Update bug report template 2021-01-20 23:48:00 -08:00
bakerboy448 50a2e52c19
Lock closed issues after 90 days without activity 2021-01-20 23:47:19 -08:00
Jesse Chan 28e0ad38b0
New: Flood Download Client 2021-01-20 23:43:52 -08:00
Taloth Saldono b66bf542c1 Typo for linux 2021-01-20 21:42:48 +01:00
Robin Dadswell c05fccb90d
Fixed: Error handling when cannot create folder in Recycling Bin
Closes #4163
2021-01-17 10:27:58 -08:00
Mark McDowall ab478fd64b New: Treat Manual Bad in history as failed 2021-01-16 16:24:30 -08:00
bakerboy448 d016079f6b make HashedReleaseFixture entries generic 2021-01-16 15:48:47 -08:00
bakerboy448 4a7e5ac06e Fixed: Handle more obfuscated names
Closes #4198
2021-01-16 15:48:47 -08:00
Taloth Saldono e10cff5414 Fixed parsing (duplicate) releases for series with multiple season number mappings 2021-01-16 21:13:32 +01:00
Taloth Saldono 6c17b4bb86 Fixed accounting for zero terminator in long path limitation
closes #4259
2021-01-16 02:49:48 +01:00
Mark McDowall e704ee617f New: Require Encryption option for email 2021-01-15 17:29:43 -08:00
Mark McDowall c2fcdb4457 Fixed: Managing display profiles on mobile 2021-01-15 17:29:43 -08:00
Mark McDowall a6637b2911 Fixed: Sorting in Interactive search duplicates results
Closes #3964
2021-01-15 17:29:43 -08:00
Taloth Saldono efb18223fe Fixed duplicate id searches due to missing Equals on SceneSeasonMapping 2021-01-16 01:32:08 +01:00
Taloth Saldono c3e2f22adb Show separate message for unknown episode/series 2021-01-16 01:31:17 +01:00
Taloth Saldono 9de5181f01 Fixed: Regular Anime being caught in Chinese parser rules
closes #4257
2021-01-15 19:55:55 +01:00
Taloth Saldono 63607ad541 Fixed Agenda Time wrapping 2021-01-15 19:06:09 +01:00
Taloth Saldono 620359dcc6 Fixed: Updated BTN url to https
closes #4249
2021-01-14 23:30:47 +01:00
Taloth Saldono 881bbb654b Linting as usual 2021-01-14 23:20:09 +01:00
Taloth Saldono c28cafba0a Fixed: Unnecessary certificate validation errors on localhost/loopback
closes #4215
2021-01-14 22:07:16 +01:00
Taloth Saldono 5668152d6f New: Added Scene Info to Interactive Search results to show more about the applied scene/TheXEM mappings 2021-01-14 22:07:16 +01:00
Taloth Saldono dcda03da4a Fixed searching the wrong season. 2021-01-14 22:07:15 +01:00
Mark McDowall ba2ca7ee29 New: Parsing of '[WEB]' as WebDL 2021-01-13 17:17:11 -08:00
bakerboy448 8077434a38
Update contributing.md 2021-01-13 17:00:09 -08:00
Qstick a225b34806 Fix name of max NumberInput in QualityDefinition.js 2021-01-13 16:59:32 -08:00
bakerboy448 b181f8ae9f
Readme updates 2021-01-13 16:59:08 -08:00
Qstick 579c443349
New: Replace SmtpClient with Mailkit
Closes #4213
2021-01-13 16:58:22 -08:00
bakerboy448 8a511a0e20
Fixed: Parse standalone UHD as 2160p if no other resolution info is present 2021-01-12 21:36:18 +01:00
Taloth Saldono 8bc0ab981c Fixed: Dailiezearch. 2021-01-11 21:04:16 +01:00
bakerboy448 741fa57f05
Update wiki link hints for health checks
Closes #4190
2021-01-09 12:39:30 -08:00
Mark McDowall 8a3027fa7c New: Allow quality size limits to be closer together 2021-01-06 22:01:50 -08:00
Mark McDowall fddf2d1fc8 Better task interval fetching 2021-01-06 22:01:50 -08:00
Mark McDowall 6d44d6c1b7 Fixed: Only delete update folder if it exists 2021-01-06 22:01:50 -08:00
Taloth Saldono 7e045f3e3c Fixed tests 2021-01-04 22:18:08 +01:00
Taloth Saldono f4d14301f1 No longer need the special tvdb season number handling since it's integrated into the search. 2021-01-04 21:41:05 +01:00
Taloth Saldono 17985f7a33 Fixed: Regression in searching anime by primary title 2021-01-04 20:55:13 +01:00
Taloth Saldono 772448b41b New: Support in services for multiple scene naming/numbering exceptions 2021-01-04 17:35:35 +01:00
Mark McDowall ed2bb0d73a Fixed: Backups interval being used as minutes instead of days 2021-01-04 08:22:01 -08:00
Taloth Saldono ae45089c62 Fixed tests 2021-01-03 21:44:46 +01:00
Taloth Saldono f3695a41d7 Linting 2021-01-03 21:19:09 +01:00
bakerboy448 471f0016b4 Fixed: Additional handling for obfuscated releases
closes #4198
2021-01-03 21:19:03 +01:00
bakerboy448 056a699daf Fixed: Parsing of 4Kto1080p as 1080p
closes #4199
2021-01-03 21:18:48 +01:00
Mark McDowall 99be6a7e40 Use createHandleActions for adding/removing commands so itemMap is synced properly 2021-01-02 15:30:24 -08:00
Mark McDowall c1d060ff58 New: Removing update folder from temp folder during housekeeping
Closes #4178
2021-01-02 15:13:01 -08:00
Mark McDowall 101b1ec743 New: Renamed Quick Import to Move Automatically
Close #4210
2021-01-02 12:14:16 -08:00
Mark McDowall a4ffb256a6 Fixed UpdatePackageProviderFixture tests 2021-01-02 11:53:11 -08:00
Mark McDowall ca52eb76ca Fixed: Don't convert series selection filter to lower case in state 2021-01-02 10:30:11 -08:00
Mark McDowall 37501094d7 Fixed: Restored robots.txt 2020-12-31 13:11:22 -08:00
Qstick cfbb4a3235 Fixed: Timespan over 1 month shown incorrectly
Closes #4208
2020-12-31 11:51:22 -08:00
Mark McDowall a2050803a2 Fixed: Missing leading 0 in minutes/seconds for media info duration
Closes #4208
2020-12-31 11:50:51 -08:00
Mark McDowall e5e86680c8 Fixed: Backup interval is updated on change
Closes #4207
2020-12-31 11:42:00 -08:00
Mark McDowall ca34f64eb0 Fixed: Update path before importing to ensure it hasn't changed
Closes #4206
2020-12-30 14:01:01 -08:00
tenshiak c7b950f213
Fixed: Parsing Polish language 2020-12-30 12:11:47 -08:00
bakerboy448 36f231ea24
New: Rename Import to Library Import 2020-12-30 11:04:53 -08:00
Taloth Saldono b60d4f46d2 eslint 2020-12-25 16:14:56 +01:00
Taloth Saldono 090cdc364e Small helper in UI to access Sonarr API more easily 2020-12-24 23:55:39 +01:00
Taloth Saldono 182ad17b77 Fixed: Series year wrong when airing January 1st.
closes #4191
2020-12-24 12:43:46 +01:00
Taloth Saldono 026af22229 Fixed: OSX version detection
ref #4113 (not a fix, just partially)
2020-12-24 12:43:31 +01:00
Qstick 078898af91 Fixed: Format Errors from AudioChannel formatter 2020-12-18 16:34:50 -08:00
Mark McDowall 8b8deb5646 Fixed Migration 148 test 2020-12-18 16:28:45 -08:00
Qstick 314a12ffb5 Fixed: Handle 3 digit audio channels 2020-12-18 16:28:33 -08:00
Nathaniel Peiffer 7b04e11c54
Fixed: Language parsing with space-delimited releases
Closes #4056
2020-12-17 16:55:07 -08:00
Qstick 9180e7d6fd Fixed: Don't workaround DTS if audioChannels invalid 2020-12-17 16:54:05 -08:00
Qstick b8b09cd0ce Fixed: Migrate Mediainfo properties that changed names 2020-12-17 16:54:05 -08:00
Qstick 39cb0934bc Fixed: Use audioChannels_Original if it exists in MI 2020-12-17 16:54:05 -08:00
Mark McDowall b84f84ad0a Fixed health check wiki link unit tests 2020-12-16 14:52:29 -08:00
Robin Dadswell 55a7253dc2
New: Sorting Series List/Mass Editor by Language Profile and Tags
Closes #3854
2020-12-14 20:07:00 -08:00
bakerboy448 e733529dc3
All Wiki links now use the consolidated Servarr wiki 2020-12-13 11:07:12 -08:00
Robin Dadswell cc39d4ee23
Fixed: '/series' URL Base breaking UI navigation
Closes #4148
2020-12-13 10:57:06 -08:00
Robin Dadswell 0ff889c3be
New: Added Series Monitoring Toggle to Series Details
Closes #3991
2020-12-13 09:58:56 -08:00
Mark McDowall 39589b8c02 Move config.yml for github 2020-12-06 11:37:03 -08:00
Mark McDowall c5c0462258 Fixed: Using folder as scene name for season packs 2020-12-06 11:34:01 -08:00
bakerboy448 dafcba7336
Update GitHub templates
- remove other issue template
- update support and add wiki
- prevent blank issues
- add support links
2020-12-01 09:38:53 -08:00
bakerboy448 19ff7bdc30
Fixed: List Import no longer fails due to duplicates
Closes #4100
2020-11-25 16:51:22 -08:00
Taloth Saldono a9384e26d8 Removed unnecessary importlists warning. 2020-11-23 11:04:23 +01:00
Taloth Saldono 0bc190e97e Fixed binary execute permissions for osx and Radarr 2020-11-22 17:10:29 +01:00
Taloth Saldono 2c76afb839 Fixed disk permission tests 2020-11-21 22:30:33 +01:00
Taloth Saldono 0edb7b77a1 Reverted temporary dev debug code change 2020-11-21 15:27:10 +01:00
Mark McDowall 59bffa66ad Fixed: Monitor 'None' won't monitor latest season 2020-11-20 14:43:54 -08:00
Mark McDowall 145c644c9d New: Validate that naming formats don't contain illegal characters 2020-11-20 14:43:54 -08:00
Taloth Saldono d88bb7f855 New: Displaying folder-based permissions in UI rather than file-based permissions and with selectable sane presets
Fixed: Preserve setgid when applying unix permissions
2020-11-20 15:42:23 +01:00
Antoine Martin 850552bf17
Update indexer category parameters for the other nyaa 2020-11-17 22:20:56 -08:00
Mark McDowall 66a19424af Added tests for using folder name as scene name 2020-11-16 23:25:42 -08:00
Taloth Saldono a234293146 Credit where credit is due 2020-11-16 21:31:13 +01:00
Taloth Saldono 5fced70948 Give systemd a bit more time to restart sonarr after update 2020-11-16 21:24:55 +01:00
ta264 7a0e1818c0 Fixed: Import single file torrents with a folder from QBittorrent
Signed-off-by: Taloth Saldono <Taloth@users.noreply.github.com>
2020-11-16 21:06:11 +01:00
Mark McDowall bd0e5e16b8 Fixed unit tests 2020-11-15 23:49:02 -08:00
Mark McDowall 487c664e43 Fixed: Scene Name not being stored properly during import if not linked to a download client item and filename is obfuscated 2020-11-15 18:18:23 -08:00
Mark McDowall fed2a429c7 New: Don't process files during Manual Import if there are more than 100 items
Closes #1142
2020-11-15 18:18:23 -08:00
Taloth Saldono ad9e709d96 Fixed duplicate UpdateHistory items 2020-11-15 22:19:48 +01:00
Mark McDowall 4c58ea63d6 Fixed: Tags in tag editor in SafarIE
Closes #4071
2020-11-15 11:00:21 -08:00
Taloth Saldono e5ec4e706a Readded Movies cat to the end of the Newznab list 2020-11-14 22:43:37 +01:00
Taloth Saldono 158e31d54a Fixed: Truncating too long filenames with unicode characters
closes #4085
2020-11-14 22:33:23 +01:00
Taloth Saldono 05820ac272 Protect against Qbittorrent edgecase if users add torrents manually with Keep top-level folder disabled 2020-11-14 22:33:22 +01:00
Mark McDowall fe0d8bb7da Return max tooltip width 2020-11-13 17:16:05 -08:00
Mark McDowall 6f74a9e3eb Fixed: Reprocessing Manual Import items resetting season number if no episodes were selected
Closes #4089
2020-11-13 17:12:10 -08:00
Mark McDowall d90f50d589 Fixed: Language chosen in manual import overridden during import
Closes #4082
2020-11-13 17:12:10 -08:00
Mark McDowall 517fc2bd75 Fixed: Example file names for Daily Series
Closes #4078
2020-11-13 17:12:10 -08:00
Mark McDowall b6316c9fcd Spelling confidence 2020-11-13 17:12:10 -08:00
Mark McDowall 675d948a1f Fixed: Manual Import breaking if quality is selected before series 2020-11-13 17:12:10 -08:00
Taloth Saldono 49bf3f4512 And forgot test of course 2020-11-14 02:02:12 +01:00
Taloth Saldono 3ff848b019 Fix for QBittorrent directory for specific torrents
fixes #4091
2020-11-14 01:52:28 +01:00
Taloth Saldono 8b2550cef0 Bumped Sabnzbd default history request size from 30 to 60 2020-11-14 00:00:29 +01:00
ta264 813f886920
Fixed: QBittorrent imports when torrent name and folder name differ
closes #3346 
fixes #3968
closes #4068
2020-11-13 23:15:58 +01:00
Mark McDowall c75c546888 Fixed: Manual import when quality was selected before episodes
Closes #4065
2020-11-08 21:33:43 -08:00
Mark McDowall baa41b2c13 Fixed: Correctly storing v0 version during import, allowing them to be upgraded to v1 later
Closes #4066
2020-11-07 11:55:28 -08:00
Mark McDowall aeaaa4a77a Fixed: wiki link for removed series health check
Closes #4053
2020-11-01 16:01:40 -08:00
Mark McDowall 1025bdc76e Show .net version in UI
Closes #4057
2020-11-01 16:01:40 -08:00
Mark McDowall 0b7aa19ac0 Fixed: Telegram silent notifications
Closes #4041
2020-11-01 16:01:40 -08:00
Robin Dadswell cfdaddd81a
New: Discord notification upgrade colour
Closes #4044
2020-11-01 16:01:31 -08:00
Timothy Pillow fd4c2c11ad
Change 'Ignore Deleted Episodes' to 'Unmonitor Deleted Episodes' for consistency 2020-11-01 16:00:02 -08:00
Robin Dadswell 42d93f6fdb
New: Changed colour of Discord On Download notifications
Closes #4036
2020-10-26 07:45:50 -07:00
Mark McDowall 0de3f10701 Fixed: 1080i HDTV H264 incorrectly being detected as Raw HD 2020-10-25 17:17:57 -07:00
Mark McDowall 7b1876d0d8 Fixed: Cleanse account and passwd from Download Station URLs 2020-10-25 16:12:45 -07:00
Mark McDowall 91c395d0c6 Fixed: Show TLS errors in UI when testing download clients
Closes #4021
2020-10-25 15:59:40 -07:00
Mark McDowall 3fc3aef268 Improved Trakt list validation
New: Able to add empty Trakt lists (shows warning during test)
Fixed: Show error in UI if Trakt list hasn't been authenticated

Closes #4022
2020-10-25 12:01:29 -07:00
Mark McDowall fa2e70d571 Fixed: Show feed URL if incorrect mime type is found 2020-10-25 12:01:29 -07:00
Mark McDowall c823654041 Fixed: Discord notifications failing if episode overview is missing 2020-10-25 12:01:29 -07:00
Mark McDowall cfa0c6d0d7 Fixed phrasing when release match found by ID 2020-10-25 12:01:29 -07:00
Taloth Saldono 4d4319797b Updated debian install script to handle longer user names 2020-10-24 10:41:58 +02:00
Mark McDowall e90e144ebc Fixed: Grab/Import fields for Discord notifications being duplicated 2020-10-18 19:24:21 -07:00
Qstick f701adaef5 Pass no parameter instead of null parameter on Kodi Update 2020-10-18 17:50:07 -07:00
Mark McDowall 427ce17e6e Kodi GetMovies fails due to Parameter Type 2020-10-18 17:50:02 -07:00
Qstick 3a8522e92f Resource missing from Gotify call 2020-10-18 17:44:09 -07:00
Qstick 886e5581d8 Gotify token as query parameter 2020-10-18 17:43:57 -07:00
Qstick 470c9101ae New: Customizable Discord Notifications
Closes #3985
2020-10-18 17:09:26 -07:00
Qstick 09347f79c5 TagSelect field type 2020-10-18 16:27:00 -07:00
ta264 1d02208316 New: Make Twitter NetStandard compatible 2020-10-18 16:26:59 -07:00
Mark McDowall 0878f514aa New: Remove Growl notifications 2020-10-18 16:26:58 -07:00
Mark McDowall 1b32949443 Rename migration 144 2020-10-18 15:32:44 -07:00
Qstick 665b80f15c Convert Notifications from RestSharp to HttpClient 2020-10-18 15:22:24 -07:00
Mark McDowall 51528f63e9 Fixed: Parsing of some daily episodes 2020-10-18 15:07:26 -07:00
Mark McDowall a7e9eebfed Fix namespace for BlacklistBulkResource 2020-10-18 15:07:26 -07:00
Qstick 897673b459
Improve use of All() and speedup Unmapped Folder matching
Co-authored-by: ta264 <ta264@users.noreply.github.com>
2020-10-18 14:59:26 -07:00
Mark McDowall 19f724dcd9 Fixed: Limit Raw HD detection by MPEG-2 to HDTV sources 2020-10-13 00:06:12 -07:00
Mark McDowall 4ad137f1eb Fixed: Size on disk sorting and display
Closes #4014
2020-10-12 16:27:21 -07:00
Mark McDowall dab6242ff2 New: Ability to edit restriction terms in Release Profiles 2020-10-12 15:30:32 -07:00
Mark McDowall d47ad37791 Fix installer branch/build from testing 2020-10-12 12:19:34 -07:00
Mark McDowall 2adedb97da New: Differentiate between short term and long term (more than 6 hours) indexer failures
Closes #3279
2020-10-12 11:24:19 -07:00
Mark McDowall 7dd64d843a Fixed: (Windows) clean up extraneous files in build folder during installation 2020-10-12 11:03:47 -07:00
Mark McDowall f30ae69c10 New: Reprocess items after selection in Manual Import
Closes #3818
2020-10-12 10:49:35 -07:00
Mark McDowall c871b3f948 Fixed: Copying passwords
Closes #4011
2020-10-11 16:42:07 -07:00
Mark McDowall 67f5628340 New: Bulk remove from Blacklist
Closes #3500
2020-10-11 15:28:41 -07:00
Mark McDowall fae38a107f New: Warning when combining preferred words with a specific indexer 2020-10-11 15:28:41 -07:00
Mark McDowall f35b8174aa Re-saving edited providers will forcibly save them 2020-10-11 15:28:40 -07:00
Taloth Saldono 465de11c90 Fixed: Regression causing updater to fail (manual update required if on 3.0.3.971, see forums) 2020-10-11 20:52:12 +02:00
Taloth Saldono a7ca139e13 Fixed test file casing 2020-10-11 16:20:03 +02:00
Taloth Saldono 94a78eabe5 Fixed: Dataloss when moving series folder to root folder with only different casing 2020-10-11 16:20:03 +02:00
Mark McDowall 0c7743e786 Fixed: Parsing of URLs with double slashes in the path
Closes #4005
2020-10-10 13:43:08 -07:00
Mark McDowall d0f0fc787e Fixed: Use standard naming format for daily specials
Closes #3503
2020-10-10 10:40:03 -07:00
Mark McDowall ce3c151b8c New: Search for specials by season/episode number in addition to name
Closes #415
2020-10-10 10:31:06 -07:00
Mark McDowall f49d2338fd New: Search for anime specials without absolute episode numbers by name
Closes #1970
2020-10-10 10:24:08 -07:00
Mark McDowall 164f46e4c0 Fixed: Webhooks using lower case event types (in the future this could change)
Closes #4010
2020-10-10 10:15:48 -07:00
Mark McDowall 9f527718f2 Ignore HttpClientFixture integration tests 2020-10-09 20:19:48 -07:00
Mark McDowall ee32829cdb New: Health events for Webhooks 2020-10-09 07:38:18 -07:00
Mark McDowall 43cb44dd38 Windows installer improvements
Fixed: Windows installer removing nzbdrone service
New: Add more information about Windows service to installer

Closes #3762
Closes #4006
2020-10-09 07:38:18 -07:00
Taloth Saldono e8854a2675 Fixed: Opening dropdowns 2020-10-09 09:54:44 +02:00
Taloth b4c27f5d34
New: Newznab/Torznab categories dropdown with indexer provided category names 2020-10-08 23:33:13 +02:00
Mark McDowall 9dab2ba6e4 Fixed: Quality sliders
Broken after 9c635781bd
2020-10-06 08:26:20 -07:00
Mark McDowall d105dd47e0 Fixed: Fixed size on disk not showing for series in overview view
Closes #4000
2020-10-05 21:15:49 -07:00
Mark McDowall f4f2a6f5fc Fix tooltip max width on larger screens 2020-10-04 20:39:24 -07:00
Mark McDowall 3542ab86e9 Update supporters and use jetbrains images 2020-10-04 15:56:29 -07:00
Mark McDowall f76babc699
Add Open Collective Link 2020-10-04 15:43:53 -07:00
Mark McDowall da7fec4d35 Regenerate yarn.lock after package updates 2020-10-04 12:22:05 -07:00
Mark McDowall 488e7b1a26 Appeasing the lint gods 2020-10-04 12:16:42 -07:00
Mark McDowall f45b27f507 Import lists in settings overview
Closes #3996
2020-10-04 12:08:07 -07:00
Mark McDowall 796c5e8b6b Fixed: Episode history details tooltip jumping around
Closes #3965
2020-10-04 12:08:07 -07:00
Mark McDowall 89a4249072 New: Add size to episode files in Webhook payload 2020-10-04 12:08:07 -07:00
Mark McDowall 05ffdd07a2 Upgrade react-autosuggest 2020-10-04 12:08:07 -07:00
Mark McDowall 14fee1c086 Upgrade react-google-recaptcha 2020-10-04 12:08:07 -07:00
Mark McDowall 3a7b0cacb8 Upgrade del 2020-10-04 12:08:07 -07:00
Mark McDowall ddd70fd198 Upgrade webpack loaders 2020-10-04 12:08:07 -07:00
Mark McDowall fc231c5ef8 Upgrade stylelint 2020-10-04 12:08:07 -07:00
Mark McDowall 933832fe2c Upgrade react-lazyload 2020-10-04 12:08:07 -07:00
Mark McDowall 4ed1f6b814 Upgrade redux-batched-actions 2020-10-04 12:08:07 -07:00
Mark McDowall 9ed1d27f86 Upgrade esformatter 2020-10-04 12:08:07 -07:00
Mark McDowall 4057a3112d Upgrade filesize 2020-10-04 12:08:07 -07:00
Mark McDowall 0b01b75cac Upgrade eslint, esprint 2020-10-04 12:08:07 -07:00
Mark McDowall 9c635781bd Upgrade react-slider and react-text-truncate 2020-10-04 12:08:05 -07:00
Mark McDowall b6bfeaaba3 Upgrade react-dnd 2020-10-04 12:07:54 -07:00
Mark McDowall 0318a4a5e1 Upgrade webpack and core-js 2020-10-04 12:07:54 -07:00
Mark McDowall 2d985c0c6a Upgrade a bunch of react/redux packages 2020-10-04 12:07:51 -07:00
Mark McDowall 3ef47b0ce3 Upgrade jquery, moment and qs 2020-10-03 12:36:58 -07:00
Mark McDowall 213db3b107 Upgrade fuse.js 2020-10-03 12:25:20 -07:00
Mark McDowall d475ee37c3 Upgrade gulp 2020-10-03 12:14:52 -07:00
Mark McDowall 1d9ed1b56d Upgrade clipboard, lodash, mobile-detect and mousetrap 2020-10-03 12:13:08 -07:00
Mark McDowall e34b6a36d5 Upgrade sentry 2020-10-03 12:12:10 -07:00
Mark McDowall 8468a74ade Upgrade Font Awesome 2020-10-03 12:11:12 -07:00
Mark McDowall 34cbdee510 Upgrade babel 2020-10-03 12:08:34 -07:00
Mark McDowall 924f6ca715 New: Pilot Episode monitoring option
Closes #3768
2020-10-03 11:53:56 -07:00
Taloth Saldono 9eb24cedd6 Fixed stylelint too 2020-10-03 20:34:35 +02:00
Taloth Saldono 8f6016e9ae Fixed lint 2020-10-03 18:45:23 +02:00
Taloth Saldono 95071c9d97 Fixed some mediainfo subtitle codes 2020-10-03 17:11:15 +02:00
Taloth Saldono 7ee7e1be5d Added MultiSelect input control for provider settings 2020-10-03 17:09:38 +02:00
Taloth Saldono 20a6284062 New: Added FileList.io indexer support 2020-10-03 17:09:38 +02:00
Taloth Saldono 5aa92f47b6 Added PrivacyLevel option to FieldDefinition for later usage 2020-10-03 17:09:37 +02:00
Mark McDowall 25baf7bb45 New: Series type and season folder options for import lists
Closes #3982
2020-10-02 17:14:12 -07:00
Mark McDowall f9e045d14c Fixed: Handle obfuscated files using abc.xyz pattern
Closes #3990
2020-10-02 17:14:12 -07:00
Mark McDowall 4dbeb17075 Webhook clearnup/improvements
New: Remove episode file properties from episodes in Webhook payload
New: Add more information to Webhook payload
2020-10-02 17:14:12 -07:00
Mark McDowall 5fb8ac9685 New: Renamed Growl application to Sonarr (breaking) 2020-10-02 17:14:12 -07:00
Mark McDowall dc184601a8 Some cleanup of things marked for removal in v3 2020-10-02 17:14:12 -07:00
bakerboy448 64ddea5473
Fixed: Filter DTS-ES when parsing Release Group
closes #3984
2020-10-01 11:29:54 +02:00
Mark McDowall 021bb2d6d5 Log when scene name is not stored for file 2020-09-29 20:40:48 -07:00
Mark McDowall 644d16d82b Fixed: Indexer being disabled due to download client rejecting it 2020-09-29 20:40:48 -07:00
Mark McDowall a10eb88a95 Fixed: Log path when import fails for series import
Fixes #3970
2020-09-29 20:40:48 -07:00
Taloth Saldono 930742ae2c Fixed enter in modal confirmation dialogs 2020-09-24 11:49:50 +02:00
Taloth Saldono 482e2d5d42 Handle ratelimit api response for newznab caps endpoint on certain newznab indexers that have caps behind the apikey 2020-09-24 11:49:50 +02:00
Taloth Saldono 034ab0378f Fixed: Filter Extras folders when using Series Manual File Import function on series folder
fixes 3971
2020-09-24 11:49:50 +02:00
Mark McDowall 6d911581c3 Fixed: Update modal error 2020-09-16 12:48:17 -07:00
Mark McDowall cd2368f5f3 Fixed: Add list exclusion on delete
Fixes #3963
2020-09-15 22:40:25 -07:00
Mark McDowall 7ed347269f Fixed: Sorting interactive search by quality for unknown series results 2020-09-15 22:18:48 -07:00
Mark McDowall 068d9eef8d Fixed: Spelling in Edit List modal
Closes #3961
2020-09-15 21:37:08 -07:00
Mark McDowall d0c0720578 Fixed: Removing torrents from Vuze
Fixes #3951
2020-09-15 21:35:30 -07:00
Qstick eb0bce8dbf
Fixed: Prevent bulk add failure on single validation error for Lists
Fixes #3959
2020-09-15 12:52:42 -07:00
Mark McDowall ae1881a68c Indexer Priority ESLint fixes 2020-09-10 20:02:22 -07:00
Mark McDowall cd97eb3fa6 Fixed language parser tests 2020-09-10 15:45:42 -07:00
Mark McDowall a92665c5cd Fixed tests/null reference for import lists 2020-09-10 15:45:28 -07:00
Mark McDowall b2b1600ebe New: Don't forcibly retest indexers/download clients/connections on save if previously enabled
Closes #1028
2020-09-10 15:05:53 -07:00
Mark McDowall 5a42d2a36d New: Option to search for upgrades when adding new series
Closes #712
2020-09-10 15:05:53 -07:00
Mark McDowall accf8d5c81 Mark completed imports based on history as imported to remove from queue 2020-09-10 15:05:52 -07:00
Mark McDowall b35fd7e507 Fixed: Import series spinning forever when error is returned
Fixes #3944
2020-09-10 15:05:52 -07:00
Dtaggart b2737a3d35
New: Index priority
#320
2020-09-10 15:04:53 -07:00
Qstick 9ed2b4e10b New: Trakt.tv List Options 2020-09-08 11:08:13 -07:00
Qstick 2e7788b072 New: Sync with another Sonarr Instance List Option 2020-09-08 11:08:13 -07:00
Qstick 62f6c855bc New: List Support
Closes #309
2020-09-08 11:08:02 -07:00
Mark McDowall 49eb3ab2cf Don't parse subtitle language as language
Fixed: Remove VOSTFR, NL-Subs and Nordic from language parsing (Use release profiles to reject these subtitles if you wish)

Closes #280
Closes #3497
2020-09-08 10:24:32 -07:00
Mark McDowall 0f792f9eb9 Fixed: Replace : with _ when getting output path from Transmission
Fixes #3880
2020-09-08 00:42:29 -07:00
Mark McDowall ba9b7eb946 Appease stylelint 2020-09-08 00:41:38 -07:00
Mark McDowall d68e2d6e15 Fixed: Series editor error when series is missing size
Fixes #3921
2020-09-07 18:15:51 -07:00
Qstick 0a66e86ccc Fixed: Tooltips overflowing the screen width
Fixes #3924
2020-09-07 18:15:51 -07:00
Mark McDowall 4cadf1d43b Fixed: Error in logs when creating a new root folder 2020-09-07 18:15:50 -07:00
Iulian Onofrei 9ffc291fcf
Fixed: Preview rename tip wording 2020-09-04 10:42:03 -07:00
Mark McDowall a42d4ff6c1 Fixed: Update year during refresh 2020-08-31 11:00:32 -07:00
Matthew Kleiman f6af29fc3b
Fixed: Typo in Lost Connection modal 2020-08-16 12:55:52 -07:00
Mark McDowall b0a66cc03d Fixed: Series navigation buttons hidden with some titles 2020-08-16 10:43:07 -07:00
Mark McDowall d222387d01 Fixed: Links and already added icons overflowing on add series search results 2020-08-16 10:43:07 -07:00
Mark McDowall e42aad4b2f Fixed: Overflow of absolute episode numbers with warning 2020-08-16 10:43:06 -07:00
Mark McDowall a206a5714e Fixed: Long relative path when selecting episodes in Manual Import hiding buttons
Fixes #3916
2020-08-16 10:43:06 -07:00
Mark McDowall 8272e3ed0f Fix grammar 2020-08-16 10:43:06 -07:00
Dtaggart 9e392977b9
New: Added silent notification option to telegram
Closes #3867
2020-08-16 10:42:14 -07:00
Qstick c77c65c68a Remove Prowlin Dependency 2020-08-16 10:41:26 -07:00
Taloth Saldono 3fe659587f Tweaked test failing around midnight my timezone 2020-08-11 00:26:53 +02:00
Taloth Saldono 6efee036a8 Fixed: Include extension when calculating maximum episode title length when renaming files
Fixed: Option to override max filename length with MAX_NAME environment variable

Closes #3888
2020-08-11 00:09:12 +02:00
Taloth Saldono e6175581bd Fixed: Prevent misinterpreting Season folder as anime release title 2020-08-11 00:09:11 +02:00
Taloth Saldono f3101a1db2 Fixed: Exception when parsing Quality in release title with colon 2020-08-11 00:09:10 +02:00
Taloth Saldono 4a5bca860a Fixed: Parsing anime with title ending in 100 2020-08-11 00:08:30 +02:00
Mark McDowall b60da00028 Fixed: Manual Import adding empty rows after selecting series
Closes #3816
2020-08-02 13:27:14 -07:00
Mark McDowall 13c444bba6 Fixed: Long paths overflowing in series history
Closes #3886
2020-08-02 13:07:12 -07:00
Mark McDowall 9a3669d801 New: Not in Last/Next for date custom filters
Closes #3889
2020-08-02 12:57:07 -07:00
Mark McDowall 18708f30d9 Fixed: Don't use language parsed from episode title during import
Closes #3893
2020-08-02 12:42:48 -07:00
Mark McDowall 5193f01c8c Fixed: Edited series is reset after refresh
Fixes #3892
2020-08-02 12:42:48 -07:00
Mark McDowall 0cc06fcba8 Fixed: Multiple warnings for episode combined into one tooltip
Fixes #3890
2020-08-02 11:33:15 -07:00
Mark McDowall ac75a31641 Fixed: Deleting empty episode folders on upgrade
Fixed #3883
2020-07-26 12:18:46 -07:00
Mark McDowall 57335c6d3a Fixed: Parsing of article title leading to error loading Interactive Search
Fixes #3851
2020-07-26 11:51:21 -07:00
Mark McDowall 3033537236 Fixed: Mark "BAD" Nzbget Downloads as Failed 2020-07-26 11:23:51 -07:00
Mark McDowall 8eeab25468 Fixed: Long titles not finding matches in UI series search 2020-07-26 11:23:00 -07:00
Andrew Champion 73ed5f6ee2 New: Filter episodes by title or number in Manual Import
Closes #3862
2020-07-26 11:16:10 -07:00
Mark McDowall a6b8a34ac9 New: Show updated rejection reasons in manual import after selecting series 2020-07-26 10:50:59 -07:00
Mark McDowall 4f15cd55be Fixed: Don't create empty series folder if delete empty folders is enabled
Fixes #3838
2020-07-26 10:50:59 -07:00
Mark McDowall dffdd3377e Don't process queue item without details 2020-07-26 10:50:59 -07:00
Mark McDowall 05735ad2c3 Fixed: Show more information in UI when testing SAB fails in some cases 2020-07-26 10:50:59 -07:00
Mark McDowall 8fe93eae38 Fixed: Parsing of some absolute episode numbers over 999
Fixes #3841
2020-07-26 10:50:59 -07:00
Mark McDowall 84747792ff New: Improved parsing of season and episode inside square brackets
Closes #3618
2020-07-26 10:50:59 -07:00
hugepants 91b2fe8dcb
Fixed: Typo in the Week Column Header example 2020-07-10 09:03:03 -07:00
Ryan 4856d57c0e
Fixed: Typo/unclear text in backup retention 2020-07-10 09:02:28 -07:00
Qstick 63ac527a66 Fixed: "Profile" to "Indexer" on Clone Button 2020-07-10 09:01:41 -07:00
Taloth Saldono 87a64cdacb Fixed: TheTVDB metadata images containing html content 2020-06-25 23:40:37 +02:00
Taloth Saldono 25b763a052 Fixed: Failing file copy when running in docker on synology with btrfs 2020-06-22 15:41:53 +02:00
Taloth Saldono 903aba5dee Fixed: Refreshing Plex Server series in high volume systems 2020-06-21 21:32:45 +02:00
Taloth Saldono e8d843c93d Remove stacktrace if hardlink resulted in EXDEV. 2020-06-21 21:26:21 +02:00
Taloth Saldono f56003e288 Fixed: Performance of symbolic link detection and infinite recursion 2020-06-21 21:28:04 +02:00
Taloth Saldono 1509e737c2 Fixed: Added glusterfs to known network drive filesystems so it shows up in System 2020-06-21 21:26:21 +02:00
Taloth Saldono 2c286f7b60 New: Fast copy using reflink on btrfs volumes 2020-06-21 21:26:21 +02:00
Taloth Saldono 0e7b404121 Fixed: Removed hardlink-based transactional file transfer logic (instead relying on explicit copy+delete for cifs) 2020-06-21 21:26:21 +02:00
Taloth Saldono de245e00e3 Fixed: Rejecting another multi-season pack format
closes #3826
2020-06-20 10:10:56 +02:00
Taloth Saldono ce5f9e8930 Fixed: Twitter Connect missing (you'll have to readd it in Connect) 2020-06-17 10:42:55 +02:00
Mark McDowall 5db9f7aa0e Fix ImportFixture test 2020-06-13 17:21:28 -07:00
Mark McDowall 4a9c8c6d74 ImportSeries lint issue 2020-06-13 15:28:48 -07:00
Mark McDowall 680f80a833 Fix root folder unit test 2020-06-13 15:21:03 -07:00
Mark McDowall 0e6238bf6f Fixed: Exception thrown when marking download as complete 2020-06-13 13:11:30 -07:00
Mark McDowall 11cdf13148 New: Ensure all unmapped folders are fetched when importing from a root folder
Closes #3751
2020-06-13 12:15:58 -07:00
Mark McDowall b642c3acfd Fixed: Displayed root folder path getting truncated when adding a series with a long title
Fixes #3812
2020-06-13 11:31:19 -07:00
Taloth Saldono 200e263f1f Prevent deletion of chowngroup we may need it later 2020-06-10 17:41:52 +02:00
Taloth Saldono 2eb1a64d82 lint... again 2020-06-09 22:41:06 +02:00
Mark McDowall f3a14b6081 Fixed: Sorting of queue by series title when unknown items are included 2020-06-09 13:16:09 -07:00
Taloth Saldono 1e98002b8f Lazy Loading fuse-worker and fixed some potential timing issues when it's slow. Also keep last result while typing. 2020-06-09 21:27:07 +02:00
Taloth Saldono 4559eed0ec Fixed maintenance release not showing as such in AppUpdatedModal 2020-06-09 14:16:03 +02:00
Taloth Saldono 6a393ef6a2 Used ReflectionOnly and/or public types where possible to avoid loading related assemblies unnecessarily. 2020-06-09 14:14:58 +02:00
Taloth Saldono 9b8ec78502 jsconfig for a bit of autocompletion and intellisense 2020-06-09 14:14:58 +02:00
Taloth Saldono 224fe32b72 Revised webpack bundling and updated worker loading, turned inline worker on by default. 2020-06-09 14:14:58 +02:00
Taloth Saldono 6b7566fed8 Fixed error in opcode parameter that only shows itself in mono under 6.x 2020-06-08 23:21:22 +02:00
Taloth Saldono 0ef28e5786 Fixup tests 2020-06-08 18:07:44 +02:00
Taloth Saldono 06c7f6034d Fixed: Quality Resolution determination using MediaInfo 2020-06-08 17:24:28 +02:00
Taloth Saldono e66b28fb87 Fixed corrupt Update History due to date-time notation 2020-06-07 23:50:39 +02:00
Taloth Saldono 6a51f081ac Use Newtonsoft in TinyTwitter 2020-06-07 22:48:28 +02:00
Taloth Saldono 5536f9925a Moved Windows-only Permission function to Sonarr.Windows 2020-06-07 22:48:28 +02:00
Taloth Saldono 4f728c3d42 Removed unused dialects from Marr so it compiles with less dependencies. 2020-06-07 22:48:28 +02:00
Taloth Saldono aacc36aee0 Fixed test 2020-06-07 22:48:21 +02:00
Taloth Saldono f9840c66f8 New: Show previously installed version in Updates UI
closes #3759
2020-06-07 21:50:31 +02:00
Arthur Bols 3b579900bb
New: Removed chown and simplified chmod options for linux/osx
Closes #3760
Closes #3752
2020-06-07 19:05:25 +02:00
Taloth Saldono c73649b19b Allow inline markdown in the changelog for linking to wiki 2020-06-07 17:42:46 +02:00
Taloth Saldono 396caa52cf New: Replaced launcher on OSX Catalina so that individual permissions can be assigned (note, will ignore permissions previously assigned to sh) 2020-06-07 17:42:46 +02:00
Taloth Saldono f846e0c031 Fixed flaky test. 2020-06-06 22:28:08 +02:00
Taloth Saldono 72b0f640f4 Added Plex url to cleanser 2020-06-06 22:28:08 +02:00
Mark McDowall 430af0401c New: Use release quality source if not in downloaded file and resolution matches 2020-06-06 10:47:00 -07:00
Mark McDowall 0ff08dbe8d Fixed: Error when processing release with files Sonarr is unable to parse 2020-06-06 10:19:59 -07:00
Taloth Saldono 57cca9fcdc Fixed typo in Cleanse IP 2020-06-03 18:33:00 +02:00
Taloth Saldono b3daa280c5 Cleanse remote IP Address from trace log file 2020-06-02 20:58:13 +02:00
Taloth Saldono 449c1caf55 Fixed: Mono not validating cross-signed certficates properly 2020-06-02 20:57:20 +02:00
Taloth Saldono 0c05236bee Support for Runtime Patches via Harmony 2020-06-02 20:57:20 +02:00
Mark McDowall 9f54ff8169 Fixed: Interactive search for anime season even if all episodes are unmonitored
Fixes #3791
2020-06-01 21:33:53 -07:00
Taloth Saldono f2e1b4e435 Log contents on api errors during tests. 2020-06-01 15:01:40 +02:00
Taloth Saldono 1e80361c3a Fixed tests and missing logger initialization 2020-06-01 14:01:09 +02:00
Taloth Saldono 3564be19a8 Fixed typo 2020-06-01 00:26:09 +02:00
Mark McDowall 14c9b6aaf4 Additional logging when trying to complete tracked downloads 2020-05-30 16:40:41 -07:00
Mark McDowall 069fc5cd33 Mass Editor size and options
New: Option to show size in Mass Editor
New: Size on Disk in Mass Editor custom filters

Closes #3273
2020-05-30 13:56:28 -07:00
Mark McDowall 3586d7042b Fixed: Auto-focusing Filter series import during import series 2020-05-30 11:04:13 -07:00
Mark McDowall a32b6276bd Fixed: Deleting row from middle of filter builder leading to error 2020-05-30 10:46:42 -07:00
Mark McDowall b0e31629b5 Fixed: Not removing seeded download if it was manual imported in some cases 2020-05-30 10:18:17 -07:00
Mark McDowall e2644c3847 Fixed manual import possible null series 2020-05-30 10:12:24 -07:00
Mark McDowall 7ea45bb714 Fix some styling issues in Quality Profile and Release Profiles 2020-05-30 10:11:34 -07:00
Mark McDowall f524fcd3e4 Fixed: Skip missing episode title check if file is already in series folder 2020-05-30 10:09:46 -07:00
Mark McDowall 6c418302f8 Fixed: Episode file renamed event stored language properly
Closes #3783
2020-05-27 23:52:37 -07:00
Mark McDowall b28d329654 Fixed: Size on disk with seasons over 100
Fixes #3774
2020-05-24 23:39:57 -07:00
Mark McDowall ebe2ad1520 New: Show size on disk for each season
Closes #3432
2020-05-24 14:38:37 -07:00
Mark McDowall 41dfb677e7 Fixed: Rejections custom filter for Interactive Search (now Rejections Count) 2020-05-24 14:02:30 -07:00
Mark McDowall c646bef369 Calendar item/episode status fixes
New: Calendar shows icon when download is complete and not yet imported
New: Episode status shows pending import and importing icon
2020-05-24 13:32:33 -07:00
Mark McDowall 910de6d94a Queue status/timeleft improvements
New: Queue status icon is purple when download is waiting to import or importing
Fixed: Timeleft on Queue won't show when completed
Closes #3743
2020-05-24 13:30:33 -07:00
Mark McDowall 5951992bd5 Fixed: Preferred words remove button in Firefox
Fixes #3710
2020-05-24 12:06:35 -07:00
Mark McDowall cb9d78064a Fixed: Width of episode column with warning
Closes #3733
2020-05-24 11:39:50 -07:00
Mark McDowall fd608fd411 New: Don't close manual import when clicking outside the modal
Closes #3761
2020-05-24 10:38:30 -07:00
Mark McDowall d3bd90e4b9 Fixed: Manual import for unknown series items will properly mark as imported 2020-05-24 10:11:10 -07:00
Mark McDowall 4988655568 Store language with deleted episode history 2020-05-24 10:10:24 -07:00
ildoc 098db08ede updated readme 2020-05-21 10:58:35 +02:00
Skyler Mäntysaari 93e3e92bba
New: SendGrid Notifications
Closes #3341
2020-05-20 11:22:05 -07:00
Taloth Saldono bdfdd28d6a Fixed: Added .org to website url filtering in parser 2020-05-19 23:01:21 +02:00
Taloth Saldono a75e10c4c9 Fixed: Parsing anime dual language titles
closes #3756
2020-05-18 01:33:03 +02:00
Taloth Saldono 5251db7224 Fixed recursion issue when emptying recycle bin 2020-05-16 19:22:47 +02:00
Taloth Saldono 4d1a4d4241 Updated kodi url 2020-05-13 21:29:21 +02:00
Taloth Saldono d3a22459ac Fixed: Performance issue when scanning large root folder 2020-05-13 21:27:39 +02:00
Qstick 4f7e00bdc4 Fixed: Don't lock command queue if updating is disabled 2020-05-13 19:33:14 +02:00
Mark McDowall 1199ae4e4f New: Use filename for preferred word score if it's higher than scene name 2020-05-09 16:45:42 -07:00
Mark McDowall 36088ef49d Fixed: Tag details list series in alphabetical order 2020-05-09 16:45:42 -07:00
Taloth Saldono 7ffb2eb440 Replaced matchAll usage since it's not available on all browsers 2020-05-06 14:33:14 +02:00
Taloth Saldono 0716d0931a Added UserAgent to api request trace log 2020-05-05 20:14:07 +02:00
Taloth Saldono 66ee28d0a9 Lock CommandQueueManager.PushMany too 2020-05-03 18:48:20 +02:00
Taloth Saldono 1487f54749 Skip unknown/removed commands still queued in the database 2020-05-03 17:29:46 +02:00
Taloth Saldono 013c46d266 Fixed timing issue allowing multiple instances of the same command to be queued 2020-05-03 17:29:46 +02:00
Taloth Saldono c8d2fcb223 Added UpdateMechanismMessage to allow package maintainers provide custom message 2020-05-03 17:29:46 +02:00
Taloth Saldono 5288b61378 Inline markdown-style link for PackageAuthor 2020-05-03 17:28:38 +02:00
Taloth Saldono a2679f64ee Parse WEB at the end of release title. 2020-05-03 17:00:11 +02:00
Mark McDowall 5d9dfee3c0 New: Add DownloadClient and DownloadId to Webhook notifications 2020-05-02 21:02:11 -07:00
Mark McDowall 98f9323b42 Fixed: Root folder custom filter in Mass Editor 2020-05-02 21:02:11 -07:00
Taloth Saldono f282ae8aae Prevent exception parsing unicode digits in absolute numbers. 2020-05-02 14:21:58 +02:00
Mark McDowall 0b1e99991e Fixed: Imports triggered through API not being marked as imported/removed from client
Fixes #3717
2020-04-29 00:08:01 -07:00
Mark McDowall 75be036a87 Fixed: Imported downloads not being removed when seeding goals are met
Fixes #3693
2020-04-28 21:37:26 -07:00
Taloth Saldono 23dc7794f1 Fixed: Generating Kodi episode metadata files when scanning series folder 2020-04-28 23:34:52 +02:00
Taloth Saldono b8e2f3d716 Clarify that Post-Import Category torrents are not monitored by Sonarr.
Configure Deluge to remove such torrents when seeding criteria has been met.

closes #3659
2020-04-28 22:10:30 +02:00
Taloth Saldono 686a14cdff Log Real IP on Authentication failure in case of a reverse proxy
closes #3711
2020-04-27 23:58:35 +02:00
Taloth Saldono b4405b0600 Fixed: Parsing release group from file rather than folder in case of season packs 2020-04-27 19:09:49 +02:00
Qstick d4bcf28d08
Add missing "does" to DifferentQualitySpec message 2020-04-26 13:28:38 -07:00
rg9400 4bacc35605
Fixed: Indicate unchecking Replace Illegal Characters will remove them 2020-04-26 12:54:18 -07:00
Mark McDowall 417340c2c6 Fixed: Manual imports of multi-episode files being treated as fully imported 2020-04-25 14:13:29 -07:00
Mark McDowall 79d8a9d44b Fixed: Episodes removed from queue re-appearing on refresh
Fixes #3697
2020-04-25 14:12:38 -07:00
Mark McDowall 68440bba4d Fixed: Rejection message for quality mismatch 2020-04-25 14:09:57 -07:00
Mark McDowall 0719c83da4 Fixed: Parsing of some anime batch releases
Fixes #3698
2020-04-25 13:33:30 -07:00
Mark McDowall 5a7dec34cc Fixed: Rotating mobile device when modal is open won't reset modal
Closes #3333
2020-04-25 11:59:29 -07:00
Mark McDowall 9d766cfed5 Fixed: Remove seeded downloads if they've finished seeding after import
Fixes #3693
2020-04-25 11:49:18 -07:00
Mark McDowall 1498f4e361 Revert: Prevent an edge case where a download is not marked as complete 2020-04-21 10:27:27 -07:00
Taloth Saldono 05dd17aacb Added support for title query parameter to newznab/torznab, receiving raw series title 2020-04-21 18:44:08 +02:00
Taloth Saldono 200aee52f7 New: Searching for episodes with season level scene mapping now possible instead of only via RssSync (Newznab/Torznab only) 2020-04-21 18:44:08 +02:00
Mark McDowall d6dd13a6be Prevent an edge case where a download is not marked as complete 2020-04-20 18:09:24 -07:00
Mark McDowall be3b3df903 Don't reject for having the same file size
Fixed: Remove same file size rejection during import
Fixed: Reject imports for non-season pack files if quality of file doesn't match grabbed quality
Closes #3691
2020-04-20 17:58:59 -07:00
Mark McDowall f2a56b29d9 Fixed: Windows installer won't create shortcut if unchecked 2020-04-20 17:57:09 -07:00
Mark McDowall 27d98868b8 Fixed: Can ignore queue items with unknown episodes 2020-04-20 17:56:36 -07:00
Mark McDowall 7f28ab895a Small change to creating an itemMap during item update 2020-04-20 17:56:22 -07:00
Mark McDowall 97ec184754 Fixed: Import series failing to add items to process 2020-04-20 09:35:35 -07:00
Mark McDowall 42343d5283 Add class to allow for overriding scrollbar width 2020-04-18 20:21:46 -07:00
Mark McDowall 479baf06a7 Fixed: Removed items in queue still showing until refresh 2020-04-18 20:21:29 -07:00
Mark McDowall 7f7d196e44 Fixed: Don't process downloads removed from the client
Fixes #3557
2020-04-18 20:21:29 -07:00
Mark McDowall c862fd9ff6 Don't re-trigger completed event 2020-04-18 20:21:29 -07:00
Mark McDowall 770b89c2b3 Track fully imported downloads in separate history table
New: Improved detection of already imported downloads
Closes #3554
2020-04-18 20:21:29 -07:00
Taloth Saldono 576275b6da Another mono 6.x workaround to use rename rather than expensive copy 2020-04-18 11:08:47 +02:00
Taloth Saldono 776191b3bd Improved error message when nzb download contains an newznab error instead 2020-04-17 00:14:05 +02:00
Mark McDowall d369d85699 Fixed: Ended overlay on series posters 2020-04-15 09:14:05 -07:00
Mark McDowall 552fac0466 More strict ExcludedSubFoldersRegex 2020-04-15 09:13:26 -07:00
Mark McDowall a348d98dd9 Fixed: Filter direct excluded subfolders of the selected directory during manual import 2020-04-13 21:30:40 -07:00
Mark McDowall ccdfdd1049 Fix checkingUP qbit status unit test 2020-04-12 12:31:17 -07:00
Mark McDowall f0ca636654 Fixed sort in HistoryRepository 2020-04-09 22:58:42 -07:00
Mark McDowall b5e734b9e5 Fixed: Ignore .@__thumb folders 2020-04-09 22:58:24 -07:00
Mark McDowall e1639d35a2 Fixed: Series toolbar button collapsing 2020-04-09 22:58:08 -07:00
Mark McDowall 9b99ad27cd Fixed: Tooltip for existing series on add new series item 2020-04-09 22:57:39 -07:00
Mark McDowall bba57bb434 Fixed: Queue not always clearing checked items when updated 2020-04-03 08:44:58 -07:00
Mark McDowall 8c24cd9864 Fixed: Strip AlteZachen from release group name 2020-04-02 17:27:16 -07:00
Mark McDowall 91de7ff11c Fixed: Don't try to render quality when it's null
Fixes #3649
2020-04-02 17:24:18 -07:00
Mark McDowall 9702d2e5ad Fixed: Treated checkingUP status from Qbit as queued in case it fails to validate 2020-04-02 17:23:25 -07:00
Anthony Borushko 638066db03
Fixed: Tag inputs respect non-QWERTY layouts 2020-03-31 09:57:27 -07:00
Jef LeCompte 1b3839ac0d Updated README 2020-03-31 09:21:52 -07:00
Mark McDowall 219494ea9d Fixed: Preferred word can't have a term that is empty or only spaces 2020-03-29 14:54:14 -07:00
Mark McDowall 642f75761f GetBestRootFolderPathFixture OS Agnostic paths 2020-03-28 12:43:05 -07:00
Mark McDowall ed28f94f02 Improve root folder health check 2020-03-27 15:24:20 -07:00
Mark McDowall 618c611a59 Fixed: Series Network filter breaking if network was not available 2020-03-22 22:50:18 -07:00
Mark McDowall 00821b7ad6 New: Parse multi-part episodes using date
Closes #381
2020-03-22 22:44:14 -07:00
Mark McDowall 84b9488cfb Fix broken test 2020-03-22 10:45:54 -07:00
Taloth Saldono 37ad801065 Fixed: Audio Channel Information missing in MediaInfo for certain mkv files with DTS audio 2020-03-22 12:02:51 +01:00
Taloth Saldono 4219cdb364 Fixed: RemotePoster on v3 api provides local url rather than thetvdb url 2020-03-22 12:02:51 +01:00
Mark McDowall e23a879669 Fixed: Cutoff unmet searches rejecting releases incorrectly 2020-03-20 17:34:18 -07:00
Mark McDowall 4ddf4a22a3 Fixed: Enter on Delete profile confirmation deleting all unused profiles 2020-03-20 08:37:35 -07:00
Mark McDowall 72afb28c30 Revert failing parsing tests 2020-03-19 11:11:37 -07:00
Mark McDowall eb51a42f60 Fixed: Sorting queue by episode properties when not all items have an episode 2020-03-19 10:11:07 -07:00
Mark McDowall bc01384cc7 Actually fixed error rending queue row when quality is missing 2020-03-19 10:10:36 -07:00
Mark McDowall 00c922875f Fixed: Multiple series found during manual import prevents manual importing from folder
Fixes #3512
2020-03-18 19:30:02 -07:00
Mark McDowall 8c93d73b42 Fixed: Error rending queue row when quality is missing
Fixes #3614
2020-03-18 19:09:07 -07:00
Mark McDowall 3b6d60e904 New: RSS Sync button on Calendar
Closes #3326
2020-03-18 19:08:58 -07:00
Mark McDowall a965b8e7b2 New: Filter episodes in API v3 by episode file ID
Closes #3589
2020-03-18 19:08:51 -07:00
Taloth Saldono 25abf52b3f Added update check early in startup if the package requested a post-install update check 2020-03-16 19:18:41 +01:00
Taloth Saldono 19764014be Increased mono dependency from 5.4 to 5.18 for debian
# Conflicts:
#	docker/tests/run-all.sh
2020-03-16 19:18:41 +01:00
Taloth Saldono c91a5c80d3 Added .NET Framework 4.7.2 requirement check to windows installer 2020-03-16 19:18:41 +01:00
Taloth Saldono e7b88c313d Fixed: Workaround for mono 6.x file copy/move issues 2020-03-16 19:18:41 +01:00
Taloth Saldono 9ac0864b61 Fixed scrolling issue in Root Path selector dropdown on mobile 2020-03-14 22:08:51 +01:00
Taloth Saldono fcdd0f21c7 Fixed: Wrongly parsing language in series title for season packs (episodes were already handled) 2020-03-13 20:18:37 +01:00
Taloth Saldono 5497b68a98 Fixed: Don't auto-search newly added episodes on tvdb that aired more than 2 weeks ago
Fixed: Don't monitor newly added old episodes on tvdb if series was previously empty
2020-03-13 00:33:35 +01:00
Mark McDowall 50886ac928 More webook series properties
New: IMDB and TvMaze IDs in Webhooks
New: Series type in Webhooks
2020-03-10 23:58:34 -07:00
Mark McDowall e2ff089232 Fixed: Metadata files not being created after rescan 2020-03-10 23:57:41 -07:00
Mark McDowall ae7f8926f8 New: Ignore #recycle folders (Synology Recycle bin folder) 2020-03-10 23:56:09 -07:00
Mark McDowall 0bbc4e8c1b Fixed: Remove website post fix before parsing 2020-03-08 11:14:21 -07:00
Mark McDowall 295fdad750 Fixed: Broken tasks getting stuck in queue 2020-03-05 17:57:20 -08:00
Mark McDowall 63e01aff8c Fixed: Not importing upgrade for preferred language
Fixes #3605
2020-03-05 17:57:20 -08:00
unknown e05ceb226c Update help text in Connections from Download to Import 2020-03-05 09:14:46 -08:00
Mark McDowall 1c699841c1
Fixed: Handle qBit ForcedDL State
Closes #3604
2020-03-05 09:13:44 -08:00
Mark McDowall 385c7fb0ce Fixed: Error occurred while executing task ProcessMonitoredDownloads 2020-03-03 18:10:29 -08:00
Mark McDowall 15d84046db Fixed: Inaccessible path leading to import process being aborted before processing all items
Fixes #3598
2020-03-03 16:54:12 -08:00
Mark McDowall 3ad396a9c2 Fixed: Re-add background to apple-touch-icon
This reverts commit afcfaace19.
2020-03-03 08:58:53 -08:00
Mark McDowall 77f886ceef OverlayScroller still needs to be used in PageContentBody 2020-03-02 14:06:36 -08:00
Taloth Saldono 8adb788205 Linting 2020-03-02 22:49:46 +01:00
Taloth Saldono d731317c81 Fixed comment typo in webpack config 2020-03-02 22:48:44 +01:00
Mark McDowall a824ce691b Fixed: Preferred is not an indexer field
Fixes #3595
2020-03-02 08:29:46 -08:00
Mark McDowall 506023b0f3 Scrolling and hotkey improvements
New: Use Esc/Enter for cancel/accept in confirmation modals
Fixed: Modals focused when opened
Fixed: Scrolling with keyboard unless focus is shifted out of scrollable area
Closes #3291
2020-03-01 21:03:59 -08:00
Taloth Saldono 52e5d4d0f1 Linting error 2020-03-01 22:26:49 +01:00
Taloth Saldono 00edffc0f4 Fixed random typo 2020-03-01 22:16:00 +01:00
Taloth Saldono 92f1f3e73a New: Added mediainfo formatting for E-AC3 Atmos 2020-03-01 22:16:00 +01:00
Taloth Saldono 1d339ad4f1 Belated removal of bitmetv and cleanup of usenet-crawler. 2020-03-01 22:16:00 +01:00
Jacob 99728a604d New: Added option to filter Release Profile to a specific indexer 2020-03-01 22:15:59 +01:00
netpok c07a67ae3c New: Added aired-before field to kodi metadata to sort specials
closes #3073
2020-03-01 22:15:58 +01:00
Mark McDowall be11789a86 New: Clone indexer button
Closes #3546
2020-03-01 12:56:58 -08:00
Mark McDowall b8ce274fa5 Manual Import Sorting
Fixed: Manual Import sorting by quality
New: Manual Import sort by size
Closes #3334
2020-03-01 11:51:27 -08:00
Mark McDowall d7967e3e1b Fix hasDifferentItems 2020-02-28 11:15:01 -08:00
ta264 746da69070 Fixed: UI slowdowns while tasks are running
Fixes #3480
2020-02-26 17:57:21 -08:00
ta264 b05b7ec4ad Trigger fewer signalr broadcasts 2020-02-26 17:57:21 -08:00
ta264 9abdaca079 New: Faster processing of special releases 2020-02-26 17:57:21 -08:00
ta264 5a79b8502e New: Improved Series list performance 2020-02-26 17:57:21 -08:00
ta264 466d4fba9e Don't rerender all cells each scroll 2020-02-26 17:57:21 -08:00
ta264 108f6fe393 Better selection of jump bar items
Show first, last and most common items
2020-02-26 17:57:21 -08:00
ta264 792896c46b New: Faster searching of existing series 2020-02-26 17:57:21 -08:00
ta264 43d04cd54e Faster series selector 2020-02-26 17:57:21 -08:00
ta264 283f905d79 Don't mutate state when sorting items 2020-02-26 17:57:21 -08:00
ta264 dd8d1b673e Faster hasDifferentItems and specialized OrOrder version 2020-02-26 17:57:21 -08:00
ta264 9ef64660ce Option for production build with profiling 2020-02-26 17:57:21 -08:00
Mark McDowall 88b1c8fc3e Fixed: Moving series folders in subfolders of the root folder when destination subfolder was missing 2020-02-26 17:45:13 -08:00
Mark McDowall bcc8b655f7 Fixed: Re-processing imported download causing task to fail
Fixes #3501
2020-02-19 19:09:55 -08:00
Mark McDowall 438d9eb717 Fixed: Prompt to restart after resetting API key
Fixes #3580
2020-02-19 18:18:47 -08:00
Mark McDowall 2c0a0175ef Fixed: Sorting by episode count
Fixes #3531
2020-02-19 18:03:58 -08:00
Mark McDowall e51f1b5e16 Fixed: Parsing of 360p releases
Fixes #3519
2020-02-19 17:38:17 -08:00
Mark McDowall 544108df37 Fixed: Import series when no results are returned from for a folder 2020-02-19 17:21:55 -08:00
beyondmeat a23639e62e
Fixed: Empty list message for System: Events 2020-02-19 17:19:18 -08:00
4654 changed files with 182024 additions and 113983 deletions

View File

@ -0,0 +1,13 @@
// This file is used to open the backend and frontend in the same workspace, which is necessary as
// the frontend has vscode settings that are distinct from the backend
{
"folders": [
{
"path": ".."
},
{
"path": "../frontend"
}
],
"settings": {}
}

View File

@ -0,0 +1,19 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet
{
"name": "Sonarr",
"image": "mcr.microsoft.com/devcontainers/dotnet:1-6.0",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"nodeGypDependencies": true,
"version": "16",
"nvmVersion": "latest"
}
},
"forwardPorts": [8989],
"customizations": {
"vscode": {
"extensions": ["esbenp.prettier-vscode"]
}
}
}

View File

@ -2,14 +2,274 @@
# editorconfig.org
root = true
[*.{cs}]
# NOTE: Requires **VS2019 16.3** or later
# Stylecop.ruleset
# Description: Rules for Sonarr
# Code files
[*.cs]
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4
[*.{js,html,js,hbs,less,css}]
# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true
# Avoid "this." and "Me." if not necessary
dotnet_style_qualification_for_field = false:refactoring
dotnet_style_qualification_for_property = false:refactoring
dotnet_style_qualification_for_method = false:refactoring
dotnet_style_qualification_for_event = false:refactoring
# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_switch_labels = true
csharp_indent_labels = flush_left
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_event = false:suggestion
dotnet_naming_style.instance_field_style.capitalization = camel_case
dotnet_naming_style.instance_field_style.required_prefix = _
# Prefer "var" everywhere
csharp_style_var_for_built_in_types = true
csharp_style_var_when_type_is_apparent = true
csharp_style_var_elsewhere = true
# Prefer "out" variables to be declared inline
csharp_style_inlined_variable_declaration = true
# Using directive is unnecessary.
dotnet_diagnostic.IDE0005.severity = error
# Use var instead of explicit type
dotnet_diagnostic.IDE0007.severity = error
# Inline variable declaration
dotnet_diagnostic.IDE0018.severity = error
# Stylecop Rules
dotnet_diagnostic.SA0001.severity = none
dotnet_diagnostic.SA1025.severity = none
dotnet_diagnostic.SA1101.severity = none
dotnet_diagnostic.SA1116.severity = none
dotnet_diagnostic.SA1118.severity = none
dotnet_diagnostic.SA1122.severity = none
dotnet_diagnostic.SA1201.severity = suggestion
dotnet_diagnostic.SA1202.severity = suggestion
dotnet_diagnostic.SA1204.severity = suggestion
dotnet_diagnostic.SA1300.severity = none
dotnet_diagnostic.SA1303.severity = none
dotnet_diagnostic.SA1304.severity = none
dotnet_diagnostic.SA1306.severity = none
dotnet_diagnostic.SA1309.severity = none
dotnet_diagnostic.SA1310.severity = none
dotnet_diagnostic.SA1401.severity = none
dotnet_diagnostic.SA1402.severity = none
dotnet_diagnostic.SA1404.severity = suggestion
dotnet_diagnostic.SA1405.severity = suggestion
dotnet_diagnostic.SA1406.severity = suggestion
dotnet_diagnostic.SA1410.severity = suggestion
dotnet_diagnostic.SA1411.severity = suggestion
dotnet_diagnostic.SA1413.severity = none
dotnet_diagnostic.SA1512.severity = none
dotnet_diagnostic.SA1516.severity = none
dotnet_diagnostic.SA1600.severity = none
dotnet_diagnostic.SA1601.severity = none
dotnet_diagnostic.SA1602.severity = none
dotnet_diagnostic.SA1604.severity = none
dotnet_diagnostic.SA1605.severity = none
dotnet_diagnostic.SA1606.severity = none
dotnet_diagnostic.SA1607.severity = none
dotnet_diagnostic.SA1608.severity = none
dotnet_diagnostic.SA1610.severity = none
dotnet_diagnostic.SA1611.severity = none
dotnet_diagnostic.SA1612.severity = none
dotnet_diagnostic.SA1613.severity = none
dotnet_diagnostic.SA1614.severity = none
dotnet_diagnostic.SA1615.severity = none
dotnet_diagnostic.SA1616.severity = none
dotnet_diagnostic.SA1617.severity = none
dotnet_diagnostic.SA1618.severity = none
dotnet_diagnostic.SA1619.severity = none
dotnet_diagnostic.SA1620.severity = none
dotnet_diagnostic.SA1621.severity = none
dotnet_diagnostic.SA1622.severity = none
dotnet_diagnostic.SA1623.severity = none
dotnet_diagnostic.SA1624.severity = none
dotnet_diagnostic.SA1625.severity = none
dotnet_diagnostic.SA1626.severity = none
dotnet_diagnostic.SA1627.severity = none
dotnet_diagnostic.SA1629.severity = none
dotnet_diagnostic.SA1633.severity = none
dotnet_diagnostic.SA1634.severity = none
dotnet_diagnostic.SA1635.severity = none
dotnet_diagnostic.SA1636.severity = none
dotnet_diagnostic.SA1637.severity = none
dotnet_diagnostic.SA1638.severity = none
dotnet_diagnostic.SA1640.severity = none
dotnet_diagnostic.SA1641.severity = none
dotnet_diagnostic.SA1642.severity = none
dotnet_diagnostic.SA1643.severity = none
dotnet_diagnostic.SA1648.severity = none
dotnet_diagnostic.SA1649.severity = none
dotnet_diagnostic.SA1651.severity = none
dotnet_diagnostic.SX1309.severity = warning
# Microsoft Analyzers that fail and need to be sorted thru
dotnet_diagnostic.ASP0000.severity = suggestion
dotnet_diagnostic.CA1000.severity = suggestion
dotnet_diagnostic.CA1001.severity = suggestion
dotnet_diagnostic.CA1002.severity = suggestion
dotnet_diagnostic.CA1003.severity = suggestion
dotnet_diagnostic.CA1008.severity = suggestion
dotnet_diagnostic.CA1010.severity = suggestion
dotnet_diagnostic.CA1012.severity = suggestion
dotnet_diagnostic.CA1014.severity = suggestion
dotnet_diagnostic.CA1016.severity = suggestion
dotnet_diagnostic.CA1017.severity = suggestion
dotnet_diagnostic.CA1018.severity = suggestion
dotnet_diagnostic.CA1019.severity = suggestion
dotnet_diagnostic.CA1021.severity = suggestion
dotnet_diagnostic.CA1024.severity = suggestion
dotnet_diagnostic.CA1027.severity = suggestion
dotnet_diagnostic.CA1028.severity = suggestion
dotnet_diagnostic.CA1030.severity = suggestion
dotnet_diagnostic.CA1031.severity = suggestion
dotnet_diagnostic.CA1032.severity = suggestion
dotnet_diagnostic.CA1033.severity = suggestion
dotnet_diagnostic.CA1034.severity = suggestion
dotnet_diagnostic.CA1036.severity = suggestion
dotnet_diagnostic.CA1040.severity = suggestion
dotnet_diagnostic.CA1041.severity = suggestion
dotnet_diagnostic.CA1043.severity = suggestion
dotnet_diagnostic.CA1044.severity = suggestion
dotnet_diagnostic.CA1050.severity = suggestion
dotnet_diagnostic.CA1051.severity = suggestion
dotnet_diagnostic.CA1052.severity = suggestion
dotnet_diagnostic.CA1054.severity = suggestion
dotnet_diagnostic.CA1055.severity = suggestion
dotnet_diagnostic.CA1056.severity = suggestion
dotnet_diagnostic.CA1058.severity = suggestion
dotnet_diagnostic.CA1060.severity = suggestion
dotnet_diagnostic.CA1061.severity = suggestion
dotnet_diagnostic.CA1062.severity = suggestion
dotnet_diagnostic.CA1063.severity = suggestion
dotnet_diagnostic.CA1064.severity = suggestion
dotnet_diagnostic.CA1065.severity = suggestion
dotnet_diagnostic.CA1066.severity = suggestion
dotnet_diagnostic.CA1067.severity = suggestion
dotnet_diagnostic.CA1068.severity = suggestion
dotnet_diagnostic.CA1069.severity = suggestion
dotnet_diagnostic.CA1200.severity = suggestion
dotnet_diagnostic.CA1303.severity = suggestion
dotnet_diagnostic.CA1304.severity = suggestion
dotnet_diagnostic.CA1305.severity = suggestion
dotnet_diagnostic.CA1307.severity = suggestion
dotnet_diagnostic.CA1308.severity = suggestion
dotnet_diagnostic.CA1309.severity = suggestion
dotnet_diagnostic.CA1310.severity = suggestion
dotnet_diagnostic.CA1401.severity = suggestion
dotnet_diagnostic.CA1416.severity = suggestion
dotnet_diagnostic.CA1419.severity = suggestion
dotnet_diagnostic.CA1507.severity = suggestion
dotnet_diagnostic.CA1508.severity = suggestion
dotnet_diagnostic.CA1707.severity = suggestion
dotnet_diagnostic.CA1708.severity = suggestion
dotnet_diagnostic.CA1710.severity = suggestion
dotnet_diagnostic.CA1711.severity = suggestion
dotnet_diagnostic.CA1712.severity = suggestion
dotnet_diagnostic.CA1714.severity = suggestion
dotnet_diagnostic.CA1715.severity = suggestion
dotnet_diagnostic.CA1716.severity = suggestion
dotnet_diagnostic.CA1717.severity = suggestion
dotnet_diagnostic.CA1720.severity = suggestion
dotnet_diagnostic.CA1721.severity = suggestion
dotnet_diagnostic.CA1724.severity = suggestion
dotnet_diagnostic.CA1725.severity = suggestion
dotnet_diagnostic.CA1806.severity = suggestion
dotnet_diagnostic.CA1810.severity = suggestion
dotnet_diagnostic.CA1812.severity = suggestion
dotnet_diagnostic.CA1813.severity = suggestion
dotnet_diagnostic.CA1814.severity = suggestion
dotnet_diagnostic.CA1815.severity = suggestion
dotnet_diagnostic.CA1816.severity = suggestion
dotnet_diagnostic.CA1819.severity = suggestion
dotnet_diagnostic.CA1822.severity = suggestion
dotnet_diagnostic.CA1823.severity = suggestion
dotnet_diagnostic.CA1824.severity = suggestion
dotnet_diagnostic.CA1825.severity = suggestion
dotnet_diagnostic.CA2000.severity = suggestion
dotnet_diagnostic.CA2002.severity = suggestion
dotnet_diagnostic.CA2007.severity = suggestion
dotnet_diagnostic.CA2008.severity = suggestion
dotnet_diagnostic.CA2012.severity = suggestion
dotnet_diagnostic.CA2013.severity = suggestion
dotnet_diagnostic.CA2100.severity = suggestion
dotnet_diagnostic.CA2101.severity = suggestion
dotnet_diagnostic.CA2119.severity = suggestion
dotnet_diagnostic.CA2153.severity = suggestion
dotnet_diagnostic.CA2200.severity = suggestion
dotnet_diagnostic.CA2201.severity = suggestion
dotnet_diagnostic.CA2207.severity = suggestion
dotnet_diagnostic.CA2208.severity = suggestion
dotnet_diagnostic.CA2211.severity = suggestion
dotnet_diagnostic.CA2213.severity = suggestion
dotnet_diagnostic.CA2214.severity = suggestion
dotnet_diagnostic.CA2215.severity = suggestion
dotnet_diagnostic.CA2216.severity = suggestion
dotnet_diagnostic.CA2219.severity = suggestion
dotnet_diagnostic.CA2225.severity = suggestion
dotnet_diagnostic.CA2226.severity = suggestion
dotnet_diagnostic.CA2227.severity = suggestion
dotnet_diagnostic.CA2229.severity = suggestion
dotnet_diagnostic.CA2231.severity = suggestion
dotnet_diagnostic.CA2234.severity = suggestion
dotnet_diagnostic.CA2235.severity = suggestion
dotnet_diagnostic.CA2237.severity = suggestion
dotnet_diagnostic.CA2241.severity = suggestion
dotnet_diagnostic.CA2242.severity = suggestion
dotnet_diagnostic.CA2243.severity = suggestion
dotnet_diagnostic.CA2244.severity = suggestion
dotnet_diagnostic.CA2245.severity = suggestion
dotnet_diagnostic.CA2246.severity = suggestion
dotnet_diagnostic.CA2249.severity = suggestion
dotnet_diagnostic.CA2251.severity = suggestion
dotnet_diagnostic.CA3061.severity = suggestion
dotnet_diagnostic.CA3075.severity = suggestion
dotnet_diagnostic.CA3076.severity = suggestion
dotnet_diagnostic.CA3077.severity = suggestion
dotnet_diagnostic.CA3147.severity = suggestion
dotnet_diagnostic.CA5350.severity = suggestion
dotnet_diagnostic.CA5351.severity = suggestion
dotnet_diagnostic.CA5359.severity = suggestion
dotnet_diagnostic.CA5360.severity = suggestion
dotnet_diagnostic.CA5363.severity = suggestion
dotnet_diagnostic.CA5364.severity = suggestion
dotnet_diagnostic.CA5365.severity = suggestion
dotnet_diagnostic.CA5366.severity = suggestion
dotnet_diagnostic.CA5368.severity = suggestion
dotnet_diagnostic.CA5369.severity = suggestion
dotnet_diagnostic.CA5370.severity = suggestion
dotnet_diagnostic.CA5371.severity = suggestion
dotnet_diagnostic.CA5372.severity = suggestion
dotnet_diagnostic.CA5373.severity = suggestion
dotnet_diagnostic.CA5374.severity = suggestion
dotnet_diagnostic.CA5379.severity = suggestion
dotnet_diagnostic.CA5384.severity = suggestion
dotnet_diagnostic.CA5385.severity = suggestion
dotnet_diagnostic.CA5392.severity = suggestion
dotnet_diagnostic.CA5394.severity = suggestion
dotnet_diagnostic.CA5397.severity = suggestion
dotnet_diagnostic.SYSLIB0006.severity = none
[*.{js,html,hbs,less,css,ts,tsx}]
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

View File

@ -1,9 +0,0 @@
{
"paths": [
"frontend/src/**/*.js"
],
"ignored": [
"**/node_modules/**/*"
],
"port": 5004
}

2
.gitattributes vendored
View File

@ -5,7 +5,7 @@
# when checked out on windows
*.sh text eol=lf
distribution/debian/* text eol=lf
macOS/Sonarr text eol=lf
distribution/osx/Sonarr text eol=lf
# Custom for Visual Studio
*.cs diff=csharp

View File

@ -1,41 +0,0 @@
<!--
Before opening a new issue, please ensure:
- You use the forums for support/questions
- You search for existing bugs/feature requests
- Remove extraneous template details
- Do not prefix title with type of issue (Feature Request, Bug, etc.) The appropriate labels will be added during triage.
-->
## Support / Questions
Please use https://forums.sonarr.tv/ for support. Support requests or questions will be redirected to the forums and the issue will be closed.
<!--
Remove if not opening a bug report
-->
## Bug Report
### System Information/Logs
**Sonarr Version:**
**Operating System:**
**.net Framework (Windows) or mono (macOS/Linux) Version:**
**Link to Log Files (debug or trace):**
**Browser (for UI bugs):**
### Additional Information
<!--
Remove if not opening a feature request
-->
## Feature Request
### What problem are you looking to solve?
### Other Information

View File

@ -1,28 +0,0 @@
---
name: Bug report
about: Create a report to help us improve Sonarr
---
**Describe the bug**
A clear and concise description of what the bug is.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Logs**
Link to debug or trace log files.
**System Information**
- Sonarr Version: [e.g. 2.0.0.1]
- Operating System: [e.g. Windows 10]
- .net Framework (Windows) or mono (macOS/Linux) Version: [e.g. 4.5 or 5.12]
**UI Bugs:**
- OS: [e.g. Windows]
- Browser: [e.g. chrome, firefox]
- Version: [e.g. 22]
**Additional context**
Add any other context about the problem here.

81
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,81 @@
name: Bug Report
description: 'Only bug reports for v4 will be accepted, older versions are no longer receiving bug fixes and support issues will be closed immediately.'
labels: ['needs-triage']
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an open or closed issue already exists for the bug you encountered. If a bug exists and it is closed as complete it may not yet be in a stable release.
options:
- label: I have searched the existing open and closed issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: A concise description of what you're experiencing.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: false
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 22.04
- **Sonarr**: Sonarr 4.0.0.766
- **Docker Install**: Yes
- **Using Reverse Proxy**: No
- **Browser**: Firefox 90 (If UI related)
- **Database**: Sqlite 3.41.2
value: |
- OS:
- Sonarr:
- Docker Install:
- Using Reverse Proxy:
- Browser:
- Database:
render: markdown
validations:
required: true
- type: dropdown
attributes:
label: What branch are you running?
options:
- Main
- Develop
- Other (This issue will be closed)
validations:
required: true
- type: textarea
attributes:
label: Trace Logs?
description: |
Trace Logs (https://wiki.servarr.com/sonarr/troubleshooting#logging-and-log-files)
***Generally speaking, all bug reports must have trace logs provided.***
*** Info Logs are not trace logs. If the logs do not say trace and are not from a file like `*.trace.*.txt` they are not trace logs.***
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: |
Links? Screenshots? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

14
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Support via Discord
url: https://discord.gg/M6BvZn5
about: Chat with users and devs on support and setup related topics.
- name: Support via Reddit
url: https://reddit.com/r/Sonarr
about: Discuss and search through support topics.
- name: Support via Forums
url: https://forums.sonarr.tv/
about: Discuss and search through support topics.
- name: Support via IRC
url: https://web.libera.chat/?channels=#sonarr
about: Chat with users and devs on support and setup related topics.

View File

@ -1,14 +0,0 @@
---
name: Feature request
about: Suggest an idea for Sonarr
---
**Describe the problem**
A clear and concise description of the problem you're looking to solve.
**Describe any solutions you think might work**
A clear and concise description of any solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@ -0,0 +1,37 @@
name: Feature Request
description: 'Suggest an idea for Sonarr'
labels: ['needs-triage']
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an open or closed issue already exists for the feature you are requesting. If a feature request exists and it is closed as complete it may not yet be in a stable release.
options:
- label: I have searched the existing open and closed issues
required: true
- type: textarea
attributes:
label: Is your feature request related to a problem? Please describe
description: A clear and concise description of what the problem is.
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Mockups? Anything that will give us more context about the feature you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

View File

@ -1,7 +0,0 @@
---
name: Other issues
about: How to get support or ask questions
---
Please use https://forums.sonarr.tv/ for support. Support requests or questions will be redirected to the forums and the issue will be closed.

View File

@ -1,14 +1,15 @@
#### Database Migration
YES | NO
#### Description
A few sentences describing the overall goals of the pull request's commits.
#### Todos
- [ ] Tests
- [ ] Documentation
<!-- Remove any of the following sections if they are not used -->
#### Screenshots for UI Changes
#### Database Migration
YES - ###
#### Issues Fixed or Closed by this PR
* Closes #
*

7
.github/SUPPORT.md vendored
View File

@ -1,7 +0,0 @@
## Support
There are a number of frequently asked questions that have been answered in our [FAQ](https://github.com/Sonarr/Sonarr/wiki/FAQ)
The [wiki](https://github.com/Sonarr/Sonarr/wiki) contains other information and guides
If you have a support question, please use the [support forums](https://forums.sonarr.tv/).

29
.github/actions/archive/action.yml vendored Normal file
View File

@ -0,0 +1,29 @@
name: Archive
description: Archive binaries for deployment
inputs:
os:
description: 'OS that the packaging is running on'
required: true
artifact:
description: 'Binary artifact'
required: true
archive_type:
description: 'File type to use for the final package'
required: true
branch:
description: 'Git branch used for this build'
required: true
major_version:
description: 'Sonarr major version'
required: true
version:
description: 'Sonarr version'
required: true
runs:
using: 'composite'
steps:
- name: Archive Artifact
uses: thedoctor0/zip-release@0.7.5

78
.github/actions/package/action.yml vendored Normal file
View File

@ -0,0 +1,78 @@
name: Package
description: Packages binaries for deployment
inputs:
platform:
description: 'Binary platform'
required: true
framework:
description: '.net framework'
required: true
artifact:
description: 'Binary artifact'
required: true
branch:
description: 'Git branch used for this build'
required: true
major_version:
description: 'Sonarr major version'
required: true
version:
description: 'Sonarr version'
required: true
runs:
using: 'composite'
steps:
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.artifact }}
path: _output
- name: Download UI Artifact
uses: actions/download-artifact@v4
with:
name: build_ui
path: _output/UI
- name: Configure Environment Variables
shell: bash
run: |
echo "FRAMEWORK=${{ inputs.framework }}" >> "$GITHUB_ENV"
echo "BRANCH=${{ inputs.branch }}" >> "$GITHUB_ENV"
echo "SONARR_MAJOR_VERSION=${{ inputs.major_version }}" >> "$GITHUB_ENV"
echo "SONARR_VERSION=${{ inputs.version }}" >> "$GITHUB_ENV"
- name: Create Packages
shell: bash
run: $GITHUB_ACTION_PATH/package.sh
- name: Create Windows Installer (x64)
if: ${{ inputs.platform == 'windows' }}
working-directory: distribution/windows/setup
shell: cmd
run: |
SET RUNTIME=win-x64
build.bat
- name: Create Windows Installer (x86)
if: ${{ inputs.platform == 'windows' }}
working-directory: distribution/windows/setup
shell: cmd
run: |
SET RUNTIME=win-x86
build.bat
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: release_${{ inputs.platform }}
compression-level: 0
if-no-files-found: error
path: |
_artifacts/*.exe
_artifacts/*.tar.gz
_artifacts/*.zip

67
.github/actions/package/package.sh vendored Executable file
View File

@ -0,0 +1,67 @@
#!/bin/bash
outputFolder=_output
artifactsFolder=_artifacts
uiFolder="$outputFolder/UI"
framework="${FRAMEWORK:=net6.0}"
rm -rf $artifactsFolder
mkdir $artifactsFolder
for runtime in _output/*
do
name="${runtime##*/}"
folderName="$runtime/$framework"
sonarrFolder="$folderName/Sonarr"
archiveName="Sonarr.$BRANCH.$SONARR_VERSION.$name"
if [[ "$name" == 'UI' ]]; then
continue
fi
echo "Creating package for $name"
echo "Copying UI"
cp -r $uiFolder $sonarrFolder
echo "Setting permissions"
find $sonarrFolder -name "ffprobe" -exec chmod a+x {} \;
find $sonarrFolder -name "Sonarr" -exec chmod a+x {} \;
find $sonarrFolder -name "Sonarr.Update" -exec chmod a+x {} \;
if [[ "$name" == *"osx"* ]]; then
echo "Creating macOS package"
packageName="$name-app"
packageFolder="$outputFolder/$packageName"
rm -rf $packageFolder
mkdir $packageFolder
cp -r distribution/macOS/Sonarr.app $packageFolder
mkdir -p $packageFolder/Sonarr.app/Contents/MacOS
echo "Copying Binaries"
cp -r $sonarrFolder/* $packageFolder/Sonarr.app/Contents/MacOS
echo "Removing Update Folder"
rm -r $packageFolder/Sonarr.app/Contents/MacOS/Sonarr.Update
echo "Packaging macOS app Artifact"
(cd $packageFolder; zip -rq "../../$artifactsFolder/$archiveName-app.zip" ./Sonarr.app)
fi
echo "Packaging Artifact"
if [[ "$name" == *"linux"* ]] || [[ "$name" == *"osx"* ]] || [[ "$name" == *"freebsd"* ]]; then
tar -zcf "./$artifactsFolder/$archiveName.tar.gz" -C $folderName Sonarr
fi
if [[ "$name" == *"win"* ]]; then
if [ "$RUNNER_OS" = "Windows" ]
then
(cd $folderName; 7z a -tzip "../../../$artifactsFolder/$archiveName.zip" ./Sonarr)
else
(cd $folderName; zip -rq "../../../$artifactsFolder/$archiveName.zip" ./Sonarr)
fi
fi
done

View File

@ -0,0 +1,18 @@
name: Publish Test Artifact
description: Publishes a test artifact
inputs:
framework:
description: '.net framework'
required: true
runtime:
description: '.net runtime'
required: true
runs:
using: 'composite'
steps:
- uses: actions/upload-artifact@v4
with:
name: tests-${{ inputs.runtime }}
path: _tests/${{ inputs.framework }}/${{ inputs.runtime }}/publish/**/*

87
.github/actions/test/action.yml vendored Normal file
View File

@ -0,0 +1,87 @@
name: Test
description: Runs unit/integration tests
inputs:
use_postgres:
description: 'Whether postgres should be used for the database'
os:
description: 'OS that the tests are running on'
required: true
artifact:
description: 'Test binary artifact'
required: true
pattern:
description: 'Pattern for DLLs'
required: true
filter:
description: 'Filter for tests'
required: true
integration_tests:
description: 'True if running integration tests'
binary_artifact:
description: 'Binary artifact for integration tests'
binary_path:
description: 'Path witin binary artifact for integration tests'
runs:
using: 'composite'
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v4
- name: Setup Postgres
if: ${{ inputs.use_postgres }}
uses: ikalnytskyi/action-setup-postgres@v4
- name: Setup Test Variables
shell: bash
run: |
echo "RESULTS_NAME=${{ inputs.integration_tests && 'integation-' || 'unit-' }}${{ inputs.artifact }}${{ inputs.use_postgres && '-postgres' }}" >> "$GITHUB_ENV"
- name: Setup Postgres Environment Variables
if: ${{ inputs.use_postgres }}
shell: bash
run: |
echo "Sonarr__Postgres__Host=localhost" >> "$GITHUB_ENV"
echo "Sonarr__Postgres__Port=5432" >> "$GITHUB_ENV"
echo "Sonarr__Postgres__User=postgres" >> "$GITHUB_ENV"
echo "Sonarr__Postgres__Password=postgres" >> "$GITHUB_ENV"
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.artifact }}
path: _tests
- name: Download Binary Artifact
if: ${{ inputs.integration_tests }}
uses: actions/download-artifact@v4
with:
name: ${{ inputs.binary_artifact }}
path: _output
- name: Set up binary artifact
if: ${{ inputs.binary_path != '' }}
shell: bash
run: mv ./_output/${{inputs.binary_path}} _tests/bin
- name: Make executable
if: startsWith(inputs.os, 'windows') != true
shell: bash
run: chmod +x ./_tests/Sonarr.Test.Dummy && chmod +x ./_tests/ffprobe
- name: Make Sonarr binary executable
if: ${{ inputs.integration_tests && !startsWith(inputs.os, 'windows') }}
shell: bash
run: chmod +x ./_tests/bin/Sonarr
- name: Run tests
shell: bash
run: dotnet test ./_tests/Sonarr.*.Test.dll --filter "${{ inputs.filter }}" --logger "trx;LogFileName=${{ env.RESULTS_NAME }}.trx" --logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true"
- name: Upload Test Results
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: results-${{ env.RESULTS_NAME }}
path: TestResults/*.trx

12
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,12 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for more information:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
# https://containers.dev/guide/dependabot
version: 2
updates:
- package-ecosystem: "devcontainers"
directory: "/"
schedule:
interval: weekly

23
.github/labeler.yml vendored Normal file
View File

@ -0,0 +1,23 @@
'connection':
- changed-files:
- any-glob-to-any-file: src/NzbDrone.Core/Notifications/**/*
'db-migration':
- changed-files:
- any-glob-to-any-file: src/NzbDrone.Core/Datastore/Migration/*
'download-client':
- changed-files:
- any-glob-to-any-file: src/NzbDrone.Core/Download/Clients/**/*
'indexer':
- changed-files:
- any-glob-to-any-file: src/NzbDrone.Core/Indexers/**/*
'parsing':
- changed-files:
- any-glob-to-any-file: src/NzbDrone.Core/Parser/**/*
'ui-only':
- changed-files:
- any-glob-to-all-files: frontend/**/*

9
.github/release.yml vendored Normal file
View File

@ -0,0 +1,9 @@
changelog:
exclude:
authors:
- Weblate
- SonarrBot
categories:
- title: Changes
labels:
- '*'

52
.github/workflows/api_docs.yml vendored Normal file
View File

@ -0,0 +1,52 @@
name: 'API Docs'
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * 1'
push:
branches:
- develop
paths:
- ".github/workflows/api_docs.yml"
- "docs.sh"
- "src/Sonarr.Api.*/**"
- "src/Sonarr.Http/**"
- "src/**/*.csproj"
- "src/*"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
api_docs:
runs-on: ubuntu-latest
if: github.repository == 'Sonarr/Sonarr'
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Setup dotnet
uses: actions/setup-dotnet@v4
id: setup-dotnet
- name: Create openapi.json
run: ./docs.sh Linux
- name: Commit API Docs Change
continue-on-error: true
run: |
git config --global user.email "development@sonarr.tv"
git config --global user.name "Sonarr"
git checkout -b api-docs
git add src
if git status | grep -q modified
then
git commit -am 'Automated API Docs update' -m "ignore-downstream"
git push -f --set-upstream origin api-docs
curl -X POST -H "Authorization: Bearer ${{ secrets.OPENAPI_PAT }}" -H "Accept: application/vnd.github+json" https://api.github.com/repos/sonarr/sonarr/pulls -d '{"head":"api-docs","base":"develop","title":"Update API docs"}'
else
echo "No changes since last run"
fi

257
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,257 @@
name: Build
on:
push:
branches:
- develop
- main
paths-ignore:
- "src/Sonarr.Api.*/openapi.json"
pull_request:
branches:
- develop
paths-ignore:
- "src/NzbDrone.Core/Localization/Core/**"
- "src/Sonarr.Api.*/openapi.json"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
FRAMEWORK: net6.0
RAW_BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
SONARR_MAJOR_VERSION: 4
VERSION: 4.0.8
jobs:
backend:
runs-on: windows-latest
outputs:
framework: ${{ steps.variables.outputs.framework }}
major_version: ${{ steps.variables.outputs.major_version }}
version: ${{ steps.variables.outputs.version }}
steps:
- name: Check out
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
- name: Setup Environment Variables
id: variables
shell: bash
run: |
# Add 800 to the build number because GitHub won't let us pick an arbitrary starting point
SONARR_VERSION="${{ env.VERSION }}.$((${{ github.run_number }}+800))"
DOTNET_VERSION=$(jq -r '.sdk.version' global.json)
echo "SDK_PATH=${{ env.DOTNET_ROOT }}/sdk/${DOTNET_VERSION}" >> "$GITHUB_ENV"
echo "SONARR_VERSION=$SONARR_VERSION" >> "$GITHUB_ENV"
echo "BRANCH=${RAW_BRANCH_NAME//\//-}" >> "$GITHUB_ENV"
echo "framework=${{ env.FRAMEWORK }}" >> "$GITHUB_OUTPUT"
echo "major_version=${{ env.SONARR_MAJOR_VERSION }}" >> "$GITHUB_OUTPUT"
echo "version=$SONARR_VERSION" >> "$GITHUB_OUTPUT"
- name: Enable Extra Platforms In SDK
shell: bash
run: ./build.sh --enable-extra-platforms-in-sdk
- name: Build Backend
shell: bash
run: ./build.sh --backend --enable-extra-platforms --packages
# Test Artifacts
- name: Publish win-x64 Test Artifact
uses: ./.github/actions/publish-test-artifact
with:
framework: ${{ env.FRAMEWORK }}
runtime: win-x64
- name: Publish linux-x64 Test Artifact
uses: ./.github/actions/publish-test-artifact
with:
framework: ${{ env.FRAMEWORK }}
runtime: linux-x64
- name: Publish osx-arm64 Test Artifact
uses: ./.github/actions/publish-test-artifact
with:
framework: ${{ env.FRAMEWORK }}
runtime: osx-arm64
# Build Artifacts (grouped by OS)
- name: Publish FreeBSD Artifact
uses: actions/upload-artifact@v4
with:
name: build_freebsd
path: _artifacts/freebsd-*/**/*
- name: Publish Linux Artifact
uses: actions/upload-artifact@v4
with:
name: build_linux
path: _artifacts/linux-*/**/*
- name: Publish macOS Artifact
uses: actions/upload-artifact@v4
with:
name: build_macos
path: _artifacts/osx-*/**/*
- name: Publish Windows Artifact
uses: actions/upload-artifact@v4
with:
name: build_windows
path: _artifacts/win-*/**/*
frontend:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4
- name: Volta
uses: volta-cli/action@v4
- name: Yarn Install
run: yarn install
- name: Lint
run: yarn lint
- name: Stylelint
run: yarn stylelint -f github
- name: Build
run: yarn build --env production
- name: Publish UI Artifact
uses: actions/upload-artifact@v4
with:
name: build_ui
path: _output/UI/**/*
unit_test:
needs: backend
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
include:
- os: ubuntu-latest
artifact: tests-linux-x64
filter: TestCategory!=ManualTest&TestCategory!=WINDOWS&TestCategory!=IntegrationTest&TestCategory!=AutomationTest
- os: macos-latest
artifact: tests-osx-arm64
filter: TestCategory!=ManualTest&TestCategory!=WINDOWS&TestCategory!=IntegrationTest&TestCategory!=AutomationTest
- os: windows-latest
artifact: tests-win-x64
filter: TestCategory!=ManualTest&TestCategory!=LINUX&TestCategory!=IntegrationTest&TestCategory!=AutomationTest
runs-on: ${{ matrix.os }}
steps:
- name: Check out
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/test
with:
os: ${{ matrix.os }}
artifact: ${{ matrix.artifact }}
pattern: Sonarr.*.Test.dll
filter: ${{ matrix.filter }}
unit_test_postgres:
needs: backend
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/test
with:
os: ubuntu-latest
artifact: tests-linux-x64
pattern: Sonarr.*.Test.dll
filter: TestCategory!=ManualTest&TestCategory!=WINDOWS&TestCategory!=IntegrationTest&TestCategory!=AutomationTest
use_postgres: true
integration_test:
needs: backend
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
include:
- os: ubuntu-latest
artifact: tests-linux-x64
filter: TestCategory!=ManualTest&TestCategory!=WINDOWS&TestCategory=IntegrationTest
binary_artifact: build_linux
binary_path: linux-x64/${{ needs.backend.outputs.framework }}/Sonarr
- os: macos-latest
artifact: tests-osx-arm64
filter: TestCategory!=ManualTest&TestCategory!=WINDOWS&TestCategory=IntegrationTest
binary_artifact: build_macos
binary_path: osx-arm64/${{ needs.backend.outputs.framework }}/Sonarr
- os: windows-latest
artifact: tests-win-x64
filter: TestCategory!=ManualTest&TestCategory!=LINUX&TestCategory=IntegrationTest
binary_artifact: build_windows
binary_path: win-x64/${{ needs.backend.outputs.framework }}/Sonarr
runs-on: ${{ matrix.os }}
steps:
- name: Check out
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/test
with:
os: ${{ matrix.os }}
artifact: ${{ matrix.artifact }}
pattern: Sonarr.*.Test.dll
filter: ${{ matrix.filter }}
integration_tests: true
binary_artifact: ${{ matrix.binary_artifact }}
binary_path: ${{ matrix.binary_path }}
deploy:
if: ${{ github.ref_name == 'develop' || github.ref_name == 'main' }}
needs: [backend, frontend, unit_test, unit_test_postgres, integration_test]
secrets: inherit
uses: ./.github/workflows/deploy.yml
with:
framework: ${{ needs.backend.outputs.framework }}
branch: ${{ github.ref_name }}
major_version: ${{ needs.backend.outputs.major_version }}
version: ${{ needs.backend.outputs.version }}
notify:
name: Discord Notification
needs:
[
backend,
frontend,
unit_test,
unit_test_postgres,
integration_test,
deploy,
]
if: ${{ !cancelled() && (github.ref_name == 'develop' || github.ref_name == 'main') }}
env:
STATUS: ${{ contains(needs.*.result, 'failure') && 'failure' || 'success' }}
runs-on: ubuntu-latest
steps:
- name: Notify
uses: tsickert/discord-webhook@v6.0.0
with:
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
username: "GitHub Actions"
avatar-url: "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png"
embed-title: "${{ github.workflow }}: ${{ env.STATUS == 'success' && 'Success' || 'Failure' }}"
embed-url: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
embed-description: |
**Branch** ${{ github.ref }}
**Build** ${{ needs.backend.outputs.version }}
embed-color: ${{ env.STATUS == 'success' && '3066993' || '15158332' }}

26
.github/workflows/conflict_labeler.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: Merge Conflict Labeler
on:
push:
branches:
- develop
pull_request_target:
branches:
- develop
types: [synchronize]
jobs:
label:
name: Labeling
runs-on: ubuntu-latest
if: ${{ github.repository == 'Sonarr/Sonarr' }}
permissions:
contents: read
pull-requests: write
steps:
- name: Apply label
uses: eps1lon/actions-label-merge-conflict@v3
with:
dirtyLabel: 'merge-conflict'
repoToken: '${{ secrets.GITHUB_TOKEN }}'

160
.github/workflows/deploy.yml vendored Normal file
View File

@ -0,0 +1,160 @@
name: Deploy
on:
workflow_call:
inputs:
framework:
description: '.net framework'
type: string
required: true
branch:
description: 'Git branch used for this build'
type: string
required: true
major_version:
description: 'Sonarr major version'
type: string
required: true
version:
description: 'Sonarr version'
type: string
required: true
secrets:
SERVICES_API_KEY:
required: true
jobs:
package:
strategy:
matrix:
platform: [freebsd, linux, macos, windows]
include:
- platform: freebsd
os: ubuntu-latest
- platform: linux
os: ubuntu-latest
- platform: macos
os: ubuntu-latest
- platform: windows
os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- name: Check out
uses: actions/checkout@v4
- name: Package
uses: ./.github/actions/package
with:
framework: ${{ inputs.framework }}
platform: ${{ matrix.platform }}
artifact: build_${{ matrix.platform }}
branch: ${{ inputs.branch }}
major_version: ${{ inputs.major_version }}
version: ${{ inputs.version }}
release:
needs: package
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Check out
uses: actions/checkout@v4
- name: Download release artifacts
uses: actions/download-artifact@v4
with:
path: _artifacts
pattern: release_*
merge-multiple: true
- name: Get Previous Release
id: previous-release
uses: cardinalby/git-get-release-action@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
latest: true
prerelease: ${{ inputs.branch != 'main' }}
- name: Generate Release Notes
id: generate-release-notes
uses: actions/github-script@v7
with:
github-token: ${{ github.token }}
result-encoding: string
script: |
const { data } = await github.rest.repos.generateReleaseNotes({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: 'v${{ inputs.version }}',
target_commitish: '${{ github.sha }}',
previous_tag_name: '${{ steps.previous-release.outputs.tag_name }}',
})
return data.body
- name: Create release
uses: ncipollo/release-action@v1
with:
artifacts: _artifacts/Sonarr.*
commit: ${{ github.sha }}
generateReleaseNotes: false
body: ${{ steps.generate-release-notes.outputs.result }}
name: ${{ inputs.version }}
prerelease: ${{ inputs.branch != 'main' }}
skipIfReleaseExists: true
tag: v${{ inputs.version }}
- name: Publish to Services
shell: bash
working-directory: _artifacts
run: |
branch=${{ inputs.branch }}
version=${{ inputs.version }}
lastCommit=${{ github.sha }}
hashes="["
addHash() {
path=$1
os=$2
arch=$3
type=$4
local hash=$(sha256sum *.$version.$path | awk '{ print $1; }')
echo "{ \""Os\"": \""$os\"", \""Arch\"": \""$arch\"", \""Type\"": \""$type\"", \""Hash\"": \""$hash\"" }"
}
hashes="$hashes $(addHash "linux-arm.tar.gz" "linux" "arm" "archive")"
hashes="$hashes, $(addHash "linux-arm64.tar.gz" "linux" "arm64" "archive")"
hashes="$hashes, $(addHash "linux-x64.tar.gz" "linux" "x64" "archive")"
# hashes="$hashes, $(addHash "linux-x86.tar.gz" "linux" "x86" "archive")"
# hashes="$hashes, $(addHash "linux-musl-arm.tar.gz" "linuxmusl" "arm" "archive")"
hashes="$hashes, $(addHash "linux-musl-arm64.tar.gz" "linuxmusl" "arm64" "archive")"
hashes="$hashes, $(addHash "linux-musl-x64.tar.gz" "linuxmusl" "x64" "archive")"
hashes="$hashes, $(addHash "osx-arm64.tar.gz" "osx" "arm64" "archive")"
hashes="$hashes, $(addHash "osx-x64.tar.gz" "osx" "x64" "archive")"
hashes="$hashes, $(addHash "osx-arm64-app.zip" "osx" "arm64" "installer")"
hashes="$hashes, $(addHash "osx-x64-app.zip" "osx" "x64" "installer")"
hashes="$hashes, $(addHash "win-x64.zip" "windows" "x64" "archive")"
hashes="$hashes, $(addHash "win-x86.zip" "windows" "x86" "archive")"
hashes="$hashes, $(addHash "win-x64-installer.exe" "windows" "x64" "installer")"
hashes="$hashes, $(addHash "win-x86-installer.exe" "windows" "x86" "installer")"
hashes="$hashes, $(addHash "freebsd-x64.tar.gz" "freebsd" "x64" "archive")"
hashes="$hashes ]"
json="{\""branch\"":\""$branch\"", \""version\"":\""$version\"", \""lastCommit\"":\""$lastCommit\"", \""hashes\"":$hashes, \""gitHubRelease\"":true}"
url="https://services.sonarr.tv/v1/update"
echo "Publishing update $version ($branch) to: $url"
echo "$json"
curl -H "Content-Type: application/json" -H "X-Api-Key: ${{ secrets.SERVICES_API_KEY }}" -X POST -d "$json" --fail-with-body $url

13
.github/workflows/labeler.yml vendored Normal file
View File

@ -0,0 +1,13 @@
name: "Pull Request Labeler"
on:
- pull_request_target
jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
if: github.repository == 'Sonarr/Sonarr'
steps:
- uses: actions/labeler@v5

22
.github/workflows/lock.yml vendored Normal file
View File

@ -0,0 +1,22 @@
name: 'Lock threads'
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
jobs:
lock:
runs-on: ubuntu-latest
if: github.repository == 'Sonarr/Sonarr'
steps:
- uses: dessant/lock-threads@v5
with:
github-token: ${{ github.token }}
issue-inactive-days: '90'
exclude-issue-created-before: ''
exclude-any-issue-labels: 'one-day-maybe'
add-issue-labels: ''
issue-comment: ''
issue-lock-reason: 'resolved'
process-only: ''

27
.gitignore vendored
View File

@ -84,7 +84,6 @@ TestResults
[Tt]est[Rr]esult*
*.Cache
ClientBin
[Ss]tyle[Cc]op.*
~$*
*.dbmdl
Generated_Code #added for RIA/Silverlight projects
@ -117,27 +116,49 @@ src/UI/.idea/*
*log.txt
node_modules/
_output*
_artifacts
_rawPackage/
_dotTrace*
_tests*
_publish*
_temp*
*.Result.xml
coverage*.xml
coverage*.json
setup/Output/
*.~is
UI/
.mono
#VS outout folders
bin
obj
output/*
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json
# Packages
Sonarr_*/
Sonarr_*.zip
Sonarr_*.gz
gecko.zip
geckodriver.exe
#OS X metadata files
._*
.DS_Store
_start
_temp_*/**/*
# Windows thumbnail cache files
Thumbs.db
src/.idea/
/distribution/windows/setup/output/*
# API doc generation
.config/

7
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
"recommendations": [
"esbenp.prettier-vscode",
"ms-dotnettools.csdevkit",
"ms-vscode-remote.remote-containers"
]
}

26
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,26 @@
{
"version": "0.2.0",
"configurations": [
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md
"name": "Run Sonarr",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build dotnet",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/_output/net6.0/Sonarr",
"args": [],
"cwd": "${workspaceFolder}",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "integratedTerminal",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach"
}
]
}

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"typescript.tsdk": "node_modules\\typescript\\lib"
}

44
.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,44 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build dotnet",
"command": "dotnet",
"type": "process",
"args": [
"msbuild",
"-restore",
"${workspaceFolder}/src/Sonarr.sln",
"-p:GenerateFullPaths=true",
"-p:Configuration=Debug",
"-p:Platform=Posix",
"-consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/src/Sonarr.sln",
"-property:GenerateFullPaths=true",
"-consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "watch",
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"--project",
"${workspaceFolder}/src/Sonarr.sln"
],
"problemMatcher": "$msCompile"
}
]
}

View File

@ -3,25 +3,40 @@
We're always looking for people to help make Sonarr even better, there are a number of ways to contribute.
## Documentation ##
Setup guides, FAQ, the more information we have on the wiki the better.
Setup guides, [FAQ](https://wiki.servarr.com/sonarr/faq), the more information we have on the [wiki](https://wiki.servarr.com/sonarr) the better.
## Development ##
See the readme for information on setting up your development environment.
### Tools required ###
- Visual Studio 2019 or higher (https://www.visualstudio.com/vs/). The community version is free and works (https://www.visualstudio.com/downloads/).
- HTML/Javascript editor of choice (VS Code/Sublime Text/Webstorm/Atom/etc)
- [Git](https://git-scm.com/downloads)
- [NodeJS](https://nodejs.org/en/download/) (Node 10.X.X or higher)
- [Yarn](https://yarnpkg.com/)
### Getting started ###
1. Fork Sonarr
2. Clone the repository into your development machine. [*info*](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
3. Install the required Node Packages `yarn install`
4. Start webpack to monitor your dev environment for any frontend changes that need post processing using `yarn start` command.
5. Build the project in Visual Studio, Setting startup project to `Sonarr.Console` and framework to `x86`
6. Debug the project in Visual Studio
7. Open http://localhost:8989
### Contributing Code ###
- If you're adding a new, already requested feature, please comment on [Github Issues](https://github.com/Sonarr/Sonarr/issues "Github Issues") so work is not duplicated (If you want to add something not already on there, please talk to us first)
- Rebase from Sonarr's develop branch, don't merge
- Rebase from Sonarr's `develop` branch, don't merge
- Make meaningful commits, or squash them
- Feel free to make a pull request before work is complete, this will let us see where its at and make comments/suggest improvements
- Reach out to us on the forums or on IRC if you have any questions
- Reach out to us on our [forums](https://forums.sonarr.tv/), [subreddit](https://www.reddit.com/r/sonarr/), [discord](https://discord.gg/Ex7FmFK), or [IRC](https://web.libera.chat/?channels=#sonarr) if you have any questions
- Add tests (unit/integration)
- Commit with *nix line endings for consistency (We checkout Windows and commit *nix)
- One feature/bug fix per pull request to keep things clean and easy to understand
- Use 4 spaces instead of tabs, this is the default for VS 2012 and WebStorm (to my knowledge)
- Use 4 spaces instead of tabs, this should be the default for VS 2019 and WebStorm
### Pull Requesting ###
- Only make pull requests to develop, never master, if you make a PR to master we'll comment on it and close it
- Only make pull requests to develop (currently `develop`), never `main`, if you make a PR to master we'll comment on it and close it
- You're probably going to get some comments or questions from us, they will be to ensure consistency and maintainability
- We'll try to respond to pull requests as soon as possible, if its been a day or two, please reach out to us, we may have missed it
- Each PR should come from its own [feature branch](http://martinfowler.com/bliki/FeatureBranch.html) not develop in your fork, it should have a meaningful branch name (what is being added/fixed)

12
FUNDING.yml Normal file
View File

@ -0,0 +1,12 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: sonarr
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="70px" height="70px" viewBox="0 0 70 70" style="enable-background:new 0 0 70 70;" xml:space="preserve">
<g>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-1.3318" y1="43.7371" x2="67.0419" y2="26.0967">
<stop offset="0.1237" style="stop-color:#7866FF"/>
<stop offset="0.5376" style="stop-color:#FE2EB6"/>
<stop offset="0.8548" style="stop-color:#FD0486"/>
</linearGradient>
<polygon style="fill:url(#SVGID_1_);" points="67.3,16 43.7,0 0,31.1 11.1,70 58.9,60.3 "/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="45.9148" y1="38.9098" x2="67.6577" y2="9.0989">
<stop offset="0.1237" style="stop-color:#FF0080"/>
<stop offset="0.2587" style="stop-color:#FE0385"/>
<stop offset="0.4109" style="stop-color:#FA0C92"/>
<stop offset="0.5713" style="stop-color:#F41BA9"/>
<stop offset="0.7363" style="stop-color:#EB2FC8"/>
<stop offset="0.8656" style="stop-color:#E343E6"/>
</linearGradient>
<polygon style="fill:url(#SVGID_2_);" points="67.3,16 43.7,0 38,15.7 38,47.8 70,47.8 "/>
</g>
<g>
<rect x="13.4" y="13.4" style="fill:#000000;" width="43.2" height="43.2"/>
<rect x="17.4" y="48.5" style="fill:#FFFFFF;" width="16.2" height="2.7"/>
<g>
<path style="fill:#FFFFFF;" d="M17.4,19.1h6.9c5.6,0,9.5,3.8,9.5,8.9V28c0,5-3.9,8.9-9.5,8.9h-6.9V19.1z M21.4,22.7v10.7h3
c3.2,0,5.4-2.2,5.4-5.3V28c0-3.2-2.2-5.4-5.4-5.4H21.4z"/>
<polygon style="fill:#FFFFFF;" points="40.3,22.7 34.9,22.7 34.9,19.1 49.6,19.1 49.6,22.7 44.2,22.7 44.2,37 40.3,37 "/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="120.1px" height="130.2px" viewBox="0 0 120.1 130.2" style="enable-background:new 0 0 120.1 130.2;" xml:space="preserve"
>
<g>
<linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="31.8412" y1="120.5578" x2="110.2402" y2="73.24">
<stop offset="0" style="stop-color:#FCEE39"/>
<stop offset="1" style="stop-color:#F37B3D"/>
</linearGradient>
<path id="XMLID_3041_" style="fill:url(#XMLID_2_);" d="M118.6,71.8c0.9-0.8,1.4-1.9,1.5-3.2c0.1-2.6-1.8-4.7-4.4-4.9
c-1.2-0.1-2.4,0.4-3.3,1.1l0,0l-83.8,45.9c-1.9,0.8-3.6,2.2-4.7,4.1c-2.9,4.8-1.3,11,3.6,13.9c3.4,2,7.5,1.8,10.7-0.2l0,0l0,0
c0.2-0.2,0.5-0.3,0.7-0.5l78-54.8C117.3,72.9,118.4,72.1,118.6,71.8L118.6,71.8L118.6,71.8z"/>
<linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="48.3607" y1="6.9083" x2="119.9179" y2="69.5546">
<stop offset="0" style="stop-color:#EF5A6B"/>
<stop offset="0.57" style="stop-color:#F26F4E"/>
<stop offset="1" style="stop-color:#F37B3D"/>
</linearGradient>
<path id="XMLID_3049_" style="fill:url(#XMLID_3_);" d="M118.8,65.1L118.8,65.1L55,2.5C53.6,1,51.6,0,49.3,0
c-4.3,0-7.7,3.5-7.7,7.7v0c0,2.1,0.8,3.9,2.1,5.3l0,0l0,0c0.4,0.4,0.8,0.7,1.2,1l67.4,57.7l0,0c0.8,0.7,1.8,1.2,3,1.3
c2.6,0.1,4.7-1.8,4.9-4.4C120.2,67.3,119.7,66,118.8,65.1z"/>
<linearGradient id="XMLID_4_" gradientUnits="userSpaceOnUse" x1="52.9467" y1="63.6407" x2="10.5379" y2="37.1562">
<stop offset="0" style="stop-color:#7C59A4"/>
<stop offset="0.3852" style="stop-color:#AF4C92"/>
<stop offset="0.7654" style="stop-color:#DC4183"/>
<stop offset="0.957" style="stop-color:#ED3D7D"/>
</linearGradient>
<path id="XMLID_3042_" style="fill:url(#XMLID_4_);" d="M57.1,59.5C57,59.5,17.7,28.5,16.9,28l0,0l0,0c-0.6-0.3-1.2-0.6-1.8-0.9
c-5.8-2.2-12.2,0.8-14.4,6.6c-1.9,5.1,0.2,10.7,4.6,13.4l0,0l0,0C6,47.5,6.6,47.8,7.3,48c0.4,0.2,45.4,18.8,45.4,18.8l0,0
c1.8,0.8,3.9,0.3,5.1-1.2C59.3,63.7,59,61,57.1,59.5z"/>
<linearGradient id="XMLID_5_" gradientUnits="userSpaceOnUse" x1="52.1736" y1="3.7019" x2="10.7706" y2="37.8971">
<stop offset="0" style="stop-color:#EF5A6B"/>
<stop offset="0.364" style="stop-color:#EE4E72"/>
<stop offset="1" style="stop-color:#ED3D7D"/>
</linearGradient>
<path id="XMLID_3057_" style="fill:url(#XMLID_5_);" d="M49.3,0c-1.7,0-3.3,0.6-4.6,1.5L4.9,28.3c-0.1,0.1-0.2,0.1-0.2,0.2l-0.1,0
l0,0c-1.7,1.2-3.1,3-3.9,5.1C-1.5,39.4,1.5,45.9,7.3,48c3.6,1.4,7.5,0.7,10.4-1.4l0,0l0,0c0.7-0.5,1.3-1,1.8-1.6l34.6-31.2l0,0
c1.8-1.4,3-3.6,3-6.1v0C57.1,3.5,53.6,0,49.3,0z"/>
<g id="XMLID_3008_">
<rect id="XMLID_3033_" x="34.6" y="37.4" style="fill:#000000;" width="51" height="51"/>
<rect id="XMLID_3032_" x="39" y="78.8" style="fill:#FFFFFF;" width="19.1" height="3.2"/>
<g id="XMLID_3009_">
<path id="XMLID_3030_" style="fill:#FFFFFF;" d="M38.8,50.8l1.5-1.4c0.4,0.5,0.8,0.8,1.3,0.8c0.6,0,0.9-0.4,0.9-1.2l0-5.3l2.3,0
l0,5.3c0,1-0.3,1.8-0.8,2.3c-0.5,0.5-1.3,0.8-2.3,0.8C40.2,52.2,39.4,51.6,38.8,50.8z"/>
<path id="XMLID_3028_" style="fill:#FFFFFF;" d="M45.3,43.8l6.7,0v1.9l-4.4,0V47l4,0l0,1.8l-4,0l0,1.3l4.5,0l0,2l-6.7,0
L45.3,43.8z"/>
<path id="XMLID_3026_" style="fill:#FFFFFF;" d="M55,45.8l-2.5,0l0-2l7.3,0l0,2l-2.5,0l0,6.3l-2.3,0L55,45.8z"/>
<path id="XMLID_3022_" style="fill:#FFFFFF;" d="M39,54l4.3,0c1,0,1.8,0.3,2.3,0.7c0.3,0.3,0.5,0.8,0.5,1.4v0
c0,1-0.5,1.5-1.3,1.9c1,0.3,1.6,0.9,1.6,2v0c0,1.4-1.2,2.3-3.1,2.3l-4.3,0L39,54z M43.8,56.6c0-0.5-0.4-0.7-1-0.7l-1.5,0l0,1.5
l1.4,0C43.4,57.3,43.8,57.1,43.8,56.6L43.8,56.6z M43,59l-1.8,0l0,1.5H43c0.7,0,1.1-0.3,1.1-0.8v0C44.1,59.2,43.7,59,43,59z"/>
<path id="XMLID_3019_" style="fill:#FFFFFF;" d="M46.8,54l3.9,0c1.3,0,2.1,0.3,2.7,0.9c0.5,0.5,0.7,1.1,0.7,1.9v0
c0,1.3-0.7,2.1-1.7,2.6l2,2.9l-2.6,0l-1.7-2.5h-1l0,2.5l-2.3,0L46.8,54z M50.6,58c0.8,0,1.2-0.4,1.2-1v0c0-0.7-0.5-1-1.2-1
l-1.5,0v2H50.6z"/>
<path id="XMLID_3016_" style="fill:#FFFFFF;" d="M56.8,54l2.2,0l3.5,8.4l-2.5,0l-0.6-1.5l-3.2,0l-0.6,1.5l-2.4,0L56.8,54z
M58.8,59l-0.9-2.3L57,59L58.8,59z"/>
<path id="XMLID_3014_" style="fill:#FFFFFF;" d="M62.8,54l2.3,0l0,8.3l-2.3,0L62.8,54z"/>
<path id="XMLID_3012_" style="fill:#FFFFFF;" d="M65.7,54l2.1,0l3.4,4.4l0-4.4l2.3,0l0,8.3l-2,0L68,57.8l0,4.6l-2.3,0L65.7,54z"
/>
<path id="XMLID_3010_" style="fill:#FFFFFF;" d="M73.7,61.1l1.3-1.5c0.8,0.7,1.7,1,2.7,1c0.6,0,1-0.2,1-0.6v0
c0-0.4-0.3-0.5-1.4-0.8c-1.8-0.4-3.1-0.9-3.1-2.6v0c0-1.5,1.2-2.7,3.2-2.7c1.4,0,2.5,0.4,3.4,1.1l-1.2,1.6
c-0.8-0.5-1.6-0.8-2.3-0.8c-0.6,0-0.8,0.2-0.8,0.5v0c0,0.4,0.3,0.5,1.4,0.8c1.9,0.4,3.1,1,3.1,2.6v0c0,1.7-1.3,2.7-3.4,2.7
C76.1,62.5,74.7,62,73.7,61.1z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="70px" height="70px" viewBox="0 0 70 70" style="enable-background:new 0 0 70 70;" xml:space="preserve">
<g>
<g>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="22.9451" y1="75.7869" x2="74.7868" y2="20.6415">
<stop offset="1.612903e-002" style="stop-color:#B35BA3"/>
<stop offset="0.4044" style="stop-color:#C41E57"/>
<stop offset="0.4677" style="stop-color:#C41E57"/>
<stop offset="0.6505" style="stop-color:#EB8523"/>
<stop offset="0.9516" style="stop-color:#FEBD11"/>
</linearGradient>
<polygon style="fill:url(#SVGID_1_);" points="49.8,15.2 36,36.7 58.4,70 70,23.1 "/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="17.7187" y1="73.2922" x2="69.5556" y2="18.1519">
<stop offset="1.612903e-002" style="stop-color:#B35BA3"/>
<stop offset="0.4044" style="stop-color:#C41E57"/>
<stop offset="0.4677" style="stop-color:#C41E57"/>
<stop offset="0.7043" style="stop-color:#EB8523"/>
</linearGradient>
<polygon style="fill:url(#SVGID_2_);" points="51.1,15.7 49,0 18.8,33.6 27.6,42.3 20.8,70 58.4,70 "/>
</g>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="1.8281" y1="53.4275" x2="48.8245" y2="9.2255">
<stop offset="1.612903e-002" style="stop-color:#B35BA3"/>
<stop offset="0.6613" style="stop-color:#C41E57"/>
</linearGradient>
<polygon style="fill:url(#SVGID_3_);" points="49,0 11.6,0 0,47.1 55.6,47.1 "/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="49.8935" y1="-11.5569" x2="48.8588" y2="24.0352">
<stop offset="0.5" style="stop-color:#C41E57"/>
<stop offset="0.6668" style="stop-color:#D13F48"/>
<stop offset="0.7952" style="stop-color:#D94F39"/>
<stop offset="0.8656" style="stop-color:#DD5433"/>
</linearGradient>
<polygon style="fill:url(#SVGID_4_);" points="55.3,47.1 51.1,15.7 49,0 41.7,23 "/>
</g>
<g>
<rect x="13.4" y="13.5" transform="matrix(-1 2.577289e-003 -2.577289e-003 -1 70.0288 70.081)" style="fill:#000000;" width="43.2" height="43.2"/>
<rect x="17.6" y="48.6" transform="matrix(1 -2.577289e-003 2.577289e-003 1 -0.1287 6.634109e-002)" style="fill:#FFFFFF;" width="16.2" height="2.7"/>
<path style="fill:#FFFFFF;" d="M17.4,19.1l8.2,0c2.3,0,4,0.6,5.2,1.8c1,1,1.5,2.4,1.5,4.1l0,0.1c0,1.5-0.3,2.6-1.1,3.5
c-0.7,0.9-1.6,1.6-2.8,2l4.4,6.4l-4.6,0l-3.7-5.5l-3.3,0l0,5.5l-3.9,0L17.4,19.1z M25.3,27.8c1,0,1.7-0.2,2.2-0.7
c0.5-0.5,0.8-1.1,0.8-1.8l0-0.1c0-0.9-0.3-1.5-0.8-1.9c-0.5-0.4-1.3-0.6-2.3-0.6l-3.9,0l0,5.1L25.3,27.8z"/>
<path style="fill:#FFFFFF;" d="M36,33.2l-1.9,0l0-3.3l2.5,0l0.6-3.8l-2.3,0l0-3.3l2.8,0l0.6-3.7l3.4,0l-0.6,3.7l3.7,0l0.6-3.7
l3.4,0l-0.6,3.7l1.9,0l0,3.3l-2.5,0L47,29.9l2.3,0l0,3.3l-2.8,0L45.8,37l-3.4,0l0.7-3.8l-3.7,0L38.7,37l-3.4,0L36,33.2z
M43.7,29.9l0.6-3.8l-3.7,0L40,29.9L43.7,29.9z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 70 70" style="enable-background:new 0 0 70 70;" xml:space="preserve">
<g>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="1.7738" y1="31.2729" x2="40.1662" y2="31.2729">
<stop offset="0" style="stop-color:#905CFB"/>
<stop offset="6.772543e-002" style="stop-color:#776CF9"/>
<stop offset="0.1729" style="stop-color:#5681F7"/>
<stop offset="0.2865" style="stop-color:#3B92F5"/>
<stop offset="0.4097" style="stop-color:#269FF4"/>
<stop offset="0.5474" style="stop-color:#17A9F3"/>
<stop offset="0.7111" style="stop-color:#0FAEF2"/>
<stop offset="0.9677" style="stop-color:#0CB0F2"/>
</linearGradient>
<path style="fill:url(#SVGID_1_);" d="M39.7,47.9l-6.1-34c-0.4-2.4-1.2-4.8-2.7-7.1c-2-3.2-5.2-5.4-8.8-6.3
C7.9-2.9-2.6,11.3,3.6,23.9c0,0,0,0,0,0l14.8,31.7c0.4,1,1,2,1.7,2.9c1.2,1.6,2.8,2.8,4.7,3.4C34.4,64.9,42.1,56.4,39.7,47.9z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.3113" y1="9.6691" x2="69.2278" y2="43.8664">
<stop offset="0" style="stop-color:#905CFB"/>
<stop offset="6.772543e-002" style="stop-color:#776CF9"/>
<stop offset="0.1729" style="stop-color:#5681F7"/>
<stop offset="0.2865" style="stop-color:#3B92F5"/>
<stop offset="0.4097" style="stop-color:#269FF4"/>
<stop offset="0.5474" style="stop-color:#17A9F3"/>
<stop offset="0.7111" style="stop-color:#0FAEF2"/>
<stop offset="0.9677" style="stop-color:#0CB0F2"/>
</linearGradient>
<path style="fill:url(#SVGID_2_);" d="M67.4,26.5c-1.4-2.2-3.4-3.9-5.7-4.9L25.5,1.7l0,0c-1-0.5-2.1-1-3.3-1.3
C6.7-3.2-4.4,13.8,5.5,27c1.5,2,3.6,3.6,6,4.5L48,47.9c0.8,0.5,1.6,0.8,2.5,1.1C64.5,53.4,75.1,38.6,67.4,26.5z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-19.2836" y1="70.8198" x2="55.9833" y2="33.1863">
<stop offset="0" style="stop-color:#3BEA62"/>
<stop offset="0.117" style="stop-color:#31DE80"/>
<stop offset="0.3025" style="stop-color:#24CEA8"/>
<stop offset="0.4844" style="stop-color:#1AC1C9"/>
<stop offset="0.6592" style="stop-color:#12B7DF"/>
<stop offset="0.8238" style="stop-color:#0EB2ED"/>
<stop offset="0.9677" style="stop-color:#0CB0F2"/>
</linearGradient>
<path style="fill:url(#SVGID_3_);" d="M67.4,26.5c-1.8-2.8-4.6-4.8-7.9-5.6c-3.5-0.8-6.8-0.5-9.6,0.7L11.4,36.1
c0,0-0.2,0.1-0.6,0.4C0.9,40.4-4,53.3,4,64c1.8,2.4,4.3,4.2,7.1,5c5.3,1.6,10.1,1,14-1.1c0,0,0.1,0,0.1,0l37.6-20.1
c0,0,0,0,0.1-0.1C69.5,43.9,72.6,34.6,67.4,26.5z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="38.9439" y1="5.8503" x2="5.4232" y2="77.5093">
<stop offset="0" style="stop-color:#3BEA62"/>
<stop offset="9.397750e-002" style="stop-color:#2FDB87"/>
<stop offset="0.196" style="stop-color:#24CEA8"/>
<stop offset="0.3063" style="stop-color:#1BC3C3"/>
<stop offset="0.4259" style="stop-color:#14BAD8"/>
<stop offset="0.5596" style="stop-color:#10B5E7"/>
<stop offset="0.7185" style="stop-color:#0DB1EF"/>
<stop offset="0.9677" style="stop-color:#0CB0F2"/>
</linearGradient>
<path style="fill:url(#SVGID_4_);" d="M50.3,12.8c1.2-2.7,1.1-6-0.9-9c-1.1-1.8-2.9-3-4.9-3.5c-4.5-1.1-8.3,1-10.1,4.2L3.5,42
c0,0,0,0,0,0.1C-0.9,47.9-1.6,56.5,4,64c1.8,2.4,4.3,4.2,7.1,5c10.5,3.3,19.3-2.5,22.1-10.8L50.3,12.8z"/>
</g>
<g>
<rect x="13.4" y="13.4" style="fill:#000000;" width="43.2" height="43.2"/>
<rect x="17.5" y="48.5" style="fill:#FFFFFF;" width="16.2" height="2.7"/>
<polygon style="fill:#FFFFFF;" points="22.9,22.7 17.5,22.7 17.5,19.1 32.3,19.1 32.3,22.7 26.8,22.7 26.8,37 22.9,37 "/>
<path style="fill:#FFFFFF;" d="M32.5,28.1L32.5,28.1c0-5.1,3.8-9.3,9.3-9.3c3.4,0,5.4,1.1,7.1,2.8l-2.5,2.9c-1.4-1.3-2.8-2-4.6-2
c-3,0-5.2,2.5-5.2,5.6V28c0,3.1,2.1,5.6,5.2,5.6c2,0,3.3-0.8,4.7-2.1l2.5,2.5c-1.8,2-3.9,3.2-7.3,3.2
C36.4,37.3,32.5,33.2,32.5,28.1"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

103
README.md
View File

@ -1,58 +1,81 @@
# Sonarr
# <img width="24px" src="./Logo/256.png" alt="Sonarr"></img> Sonarr
[![Translated](https://translate.servarr.com/widgets/servarr/-/sonarr/svg-badge.svg)](https://translate.servarr.com/engage/servarr/)
[![Backers on Open Collective](https://opencollective.com/Sonarr/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/Sonarr/sponsors/badge.svg)](#sponsors)
[![Mega Sponsors on Open Collective](https://opencollective.com/Sonarr/megasponsors/badge.svg)](#mega-sponsors)
Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.
## Major Features Include:
## Getting Started
* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc.
* Automatically detects new episodes
* Can scan your existing library and download any missing episodes
* Can watch for better quality of the episodes you already have and do an automatic upgrade. *eg. from DVD to Blu-Ray*
* Automatic failed download handling will try another release if one fails
* Manual search so you can pick any release or to see why a release was not downloaded automatically
* Fully configurable episode renaming
* Full integration with SABnzbd and NZBGet
* Full integration with Kodi, Plex (notification, library update, metadata)
* Full support for specials and multi-episode releases
* And a beautiful UI
- [Download/Installation](https://sonarr.tv/#downloads-v3)
- [FAQ](https://wiki.servarr.com/sonarr/faq)
- [Wiki](https://wiki.servarr.com/Sonarr)
- [v4 Beta API Documentation](https://sonarr.tv/docs/api)
- [Donate](https://sonarr.tv/donate)
## Configuring Development Environment:
## Support
### Requirements
Note: GitHub Issues are for Bugs and Feature Requests Only
* [Visual Studio 2017](https://www.visualstudio.com/vs/)
* [Git](https://git-scm.com/downloads)
* [NodeJS](https://nodejs.org/en/download/)
* [Yarn](https://yarnpkg.com/)
- [Forums](https://forums.sonarr.tv/)
- [Discord](https://discord.gg/M6BvZn5)
- [GitHub - Bugs and Feature Requests Only](https://github.com/Sonarr/Sonarr/issues)
- [IRC](https://web.libera.chat/?channels=#sonarr)
- [Reddit](https://www.reddit.com/r/sonarr)
- [Wiki](https://wiki.servarr.com/sonarr)
### Setup
## Features
* Make sure all the required software mentioned above are installed
* Clone the repository into your development machine. [*info*](https://help.github.com/en/articles/working-with-forks)
* Grab the submodules `git submodule init && git submodule update`
* Install the required Node Packages `yarn`
### Current Features
### Backend Development
- Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc.
- Automatically detects new episodes
- Can scan your existing library and download any missing episodes
- Can watch for better quality of the episodes you already have and do an automatic upgrade. *eg. from DVD to Blu-Ray*
- Automatic failed download handling will try another release if one fails
- Manual search so you can pick any release or to see why a release was not downloaded automatically
- Fully configurable episode renaming
- Full integration with SABnzbd and NZBGet
- Full integration with Kodi, Plex (notification, library update, metadata)
- Full support for specials and multi-episode releases
- And a beautiful UI
* Run `yarn build` to build the UI
* Open `Sonarr.sln` in Visual Studio
* Make sure `NzbDrone.Console` is set as the startup project
* Build `NzbDrone.Windows` and `NzbDrone.Mono` projects
* Build Solution
## Contributing
### UI Development
### Development
* Run `yarn watch` to build UI and rebuild automatically when changes are detected
* Run Sonarr.Console.exe (or debug in Visual Studio)
This project exists thanks to all the people who contribute. [Contribute](CONTRIBUTING.md).
### License
<a href="https://github.com/Sonarr/Sonarr/graphs/contributors"><img src="https://opencollective.com/Sonarr/contributors.svg?width=890&button=false" /></a>
### Supporters
* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html)
* Copyright 2010-2019
This project would not be possible without the support of our users and software providers.
[**Become a sponsor or backer**](https://opencollective.com/sonarr) to help us out!
### Sponsors
#### Mega Sponsors
* [JetBrains](http://www.jetbrains.com/) for providing us with free licenses to their great tools
* [ReSharper](http://www.jetbrains.com/resharper/)
* [TeamCity](http://www.jetbrains.com/teamcity/)
[![Sponsors](https://opencollective.com/sonarr/tiers/mega-sponsor.svg?width=890)](https://opencollective.com/sonarr/contribute/mega-sponsor-21443/checkout)
#### Sponsors
[![Flexible Sponsors](https://opencollective.com/sonarr/sponsors.svg?width=890)](https://opencollective.com/sonarr/contribute/sponsor-21457/checkout)
#### Backers
[![Backers](https://opencollective.com/sonarr/backers.svg?width=890)](https://opencollective.com/sonarr/contribute/backer-21442/checkout)
#### JetBrains
Thank you to [<img src="/Logo/Jetbrains/jetbrains.svg" alt="JetBrains" width="32"> JetBrains](http://www.jetbrains.com/) for providing us with free licenses to their great tools
* [<img src="/Logo/Jetbrains/teamcity.svg" alt="TeamCity" width="32"> TeamCity](http://www.jetbrains.com/teamcity/)
* [<img src="/Logo/Jetbrains/resharper.svg" alt="ReSharper" width="32"> ReSharper](http://www.jetbrains.com/resharper/)
* [<img src="/Logo/Jetbrains/dottrace.svg" alt="dotTrace" width="32"> dotTrace](http://www.jetbrains.com/dottrace/)
### Licenses
- [GNU GPL v3](http://www.gnu.org/licenses/gpl.html)
- Copyright 2010-2023

9
SECURITY.md Normal file
View File

@ -0,0 +1,9 @@
# Security Policy
## Reporting a Vulnerability
Please report (suspected) security vulnerabilities on Discord (preferred) to
either markus101
#2148 or Taloth#7357 or via email: security@sonarr.tv. You will receive a response from
us within 72 hours. If the issue is confirmed, we will release a patch as soon
as possible depending on complexity/severity.

661
build.sh
View File

@ -1,122 +1,59 @@
#! /bin/bash
msBuildVersion='15.0'
outputFolder='./_output'
outputFolderWindows='./_output_windows'
outputFolderLinux='./_output_linux'
outputFolderMacOS='./_output_macos'
outputFolderMacOSApp='./_output_macos_app'
testPackageFolder='./_tests'
testPackageFolderWindows='./_tests_windows'
testPackageFolderLinux='./_tests_linux'
sourceFolder='./src'
slnFile=$sourceFolder/Sonarr.sln
updateSubFolder=Sonarr.Update
#! /usr/bin/env bash
set -e
nuget='tools/nuget/nuget.exe';
vswhere='tools/vswhere/vswhere.exe';
. ./version.sh
CheckExitCode()
{
"$@"
local status=$?
if [ $status -ne 0 ]; then
echo "error with $1" >&2
exit 1
fi
return $status
}
outputFolder='_output'
testPackageFolder='_tests'
artifactsFolder="_artifacts";
framework="${FRAMEWORK:=net6.0}"
ProgressStart()
{
echo "##teamcity[blockOpened name='$1']"
echo "##teamcity[progressStart '$1']"
echo "::group::$1"
echo "Start '$1'"
}
ProgressEnd()
{
echo "##teamcity[progressFinish '$1']"
echo "##teamcity[blockClosed name='$1']"
echo "Finish '$1'"
echo "::endgroup::"
}
UpdateVersionNumber()
{
if [ "$BUILD_NUMBER" != "" ]; then
echo "Updating Version Info"
verMajorMinorRevision=`echo "$buildVersion" | cut -d. -f1,2,3`
verBuild=`echo "${BUILD_NUMBER}" | cut -d. -f4`
BUILD_NUMBER=$verMajorMinorRevision.$verBuild
echo "##teamcity[buildNumber '$BUILD_NUMBER']"
sed -i "s/<AssemblyVersion>[0-9.*]\+<\/AssemblyVersion>/<AssemblyVersion>$BUILD_NUMBER<\/AssemblyVersion>/g" ./src/Directory.Build.props
sed -i "s/<AssemblyConfiguration>[\$()A-Za-z-]\+<\/AssemblyConfiguration>/<AssemblyConfiguration>${BRANCH:-dev}<\/AssemblyConfiguration>/g" ./src/Directory.Build.props
if [ "$SONARR_VERSION" != "" ]; then
echo "Updating version info to: $SONARR_VERSION"
sed -i'' -e "s/<AssemblyVersion>[0-9.*]\+<\/AssemblyVersion>/<AssemblyVersion>$SONARR_VERSION<\/AssemblyVersion>/g" src/Directory.Build.props
sed -i'' -e "s/<AssemblyConfiguration>[\$()A-Za-z-]\+<\/AssemblyConfiguration>/<AssemblyConfiguration>${BRANCH}<\/AssemblyConfiguration>/g" src/Directory.Build.props
sed -i'' -e "s/<string>10.0.0.0<\/string>/<string>$SONARR_VERSION<\/string>/g" distribution/macOS/Sonarr.app/Contents/Info.plist
fi
}
CreateReleaseInfo()
EnableExtraPlatformsInSDK()
{
if [ "$BUILD_NUMBER" != "" ]; then
echo "Create Release Info"
echo -e "# Do Not Edit\nReleaseVersion=$BUILD_NUMBER\nBranch=${BRANCH:-dev}" > $outputFolder/release_info
BUNDLEDVERSIONS="${SDK_PATH}/Microsoft.NETCoreSdk.BundledVersions.props"
if grep -q freebsd-x64 "$BUNDLEDVERSIONS"; then
echo "Extra platforms already enabled"
else
echo "Enabling extra platform support"
sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64/' "$BUNDLEDVERSIONS"
fi
}
CleanFolder()
EnableExtraPlatforms()
{
local path=$1
local keepConfigFiles=$2
find $path -name "*.transform" -exec rm "{}" \;
if [ $keepConfigFiles != true ] ; then
find $path -name "*.dll.config" -exec rm "{}" \;
if grep -qv freebsd-x64 src/Directory.Build.props; then
sed -i'' -e "s^<RuntimeIdentifiers>\(.*\)</RuntimeIdentifiers>^<RuntimeIdentifiers>\1;freebsd-x64</RuntimeIdentifiers>^g" src/Directory.Build.props
fi
echo "Removing FluentValidation.Resources files"
find $path -name "FluentValidation.resources.dll" -exec rm "{}" \;
find $path -name "App.config" -exec rm "{}" \;
echo "Removing vshost files"
find $path -name "*.vshost.exe" -exec rm "{}" \;
echo "Removing dylib files"
find $path -name "*.dylib" -exec rm "{}" \;
echo "Removing Empty folders"
find $path -depth -empty -type d -exec rm -r "{}" \;
}
BuildWithMSBuild()
{
msBuildPath=`$vswhere -latest -products \* -requires Microsoft.Component.MSBuild -find MSBuild\\\\\*\*\\\\Bin\\\\MSBuild.exe`
msBuildPath=${msBuildPath/C:\\/\/c\/}
msBuildPath=${msBuildPath//\\/\/}
msBuildDir=$(dirname "$msBuildPath")
echo $msBuildDir
export PATH=$msBuildDir:$PATH
CheckExitCode MSBuild.exe $slnFile //p:Configuration=Release //p:Platform=x86 //t:Clean //m
$nuget restore $slnFile
CheckExitCode MSBuild.exe $slnFile //p:Configuration=Release //p:Platform=x86 //t:Build //m //p:AllowedReferenceRelatedFileExtensions=.pdb
}
BuildWithXbuild()
{
export MONO_IOMAP=case
CheckExitCode msbuild /t:Clean $slnFile
mono $nuget restore $slnFile
CheckExitCode msbuild /p:Configuration=Release /p:Platform=x86 /t:Build /p:AllowedReferenceRelatedFileExtensions=.pdb $slnFile
}
LintUI()
{
ProgressStart 'ESLint'
CheckExitCode yarn lint
yarn lint
ProgressEnd 'ESLint'
ProgressStart 'Stylelint'
CheckExitCode yarn stylelint
yarn stylelint
ProgressEnd 'Stylelint'
}
@ -127,318 +64,392 @@ Build()
rm -rf $outputFolder
rm -rf $testPackageFolder
if [ $runtime = "dotnet" ] ; then
BuildWithMSBuild
slnFile=src/Sonarr.sln
if [ $os = "windows" ]; then
platform=Windows
else
BuildWithXbuild
platform=Posix
fi
CleanFolder $outputFolder false
dotnet clean $slnFile -c Debug
dotnet clean $slnFile -c Release
echo "Removing Mono.Posix.dll"
rm $outputFolder/Mono.Posix.dll
if [[ -z "$RID" || -z "$FRAMEWORK" ]];
then
dotnet msbuild -restore $slnFile -p:Configuration=Release -p:Platform=$platform -t:PublishAllRids
else
dotnet msbuild -restore $slnFile -p:Configuration=Release -p:Platform=$platform -p:RuntimeIdentifiers=$RID -t:PublishAllRids
fi
ProgressEnd 'Build'
}
RunGulp()
YarnInstall()
{
ProgressStart 'yarn install'
yarn install
yarn install --frozen-lockfile --network-timeout 120000
ProgressEnd 'yarn install'
LintUI
ProgressStart 'Running gulp'
CheckExitCode yarn run build --production
ProgressEnd 'Running gulp'
}
CreateMdbs()
RunWebpack()
{
local path=$1
if [ $runtime = "dotnet" ] ; then
local pdbFiles=( $(find $path -name "*.pdb") )
for filename in "${pdbFiles[@]}"
do
if [ -e ${filename%.pdb}.dll ] ; then
tools/pdb2mdb/pdb2mdb.exe ${filename%.pdb}.dll
fi
if [ -e ${filename%.pdb}.exe ] ; then
tools/pdb2mdb/pdb2mdb.exe ${filename%.pdb}.exe
fi
done
ProgressStart 'Running webpack'
yarn run build --env production
ProgressEnd 'Running webpack'
}
PackageFiles()
{
local folder="$1"
local framework="$2"
local runtime="$3"
rm -rf $folder
mkdir -p $folder
cp -r $outputFolder/$framework/$runtime/publish/* $folder
cp -r $outputFolder/Sonarr.Update/$framework/$runtime/publish $folder/Sonarr.Update
if [ "$FRONTEND" = "YES" ];
then
cp -r $outputFolder/UI $folder
fi
echo "Adding LICENSE"
cp LICENSE.md $folder
}
PatchMono()
PackageLinux()
{
local path=$1
local framework="$1"
local runtime="$2"
# Below we deal with some mono incompatibilities with windows-only dotnet core/standard libs
# See: https://github.com/mono/mono/blob/master/tools/nuget-hash-extractor/download.sh
# That list defines assemblies that are prohibited from being loaded from the appdir, instead loading from mono GAC.
ProgressStart "Creating $runtime Package for $framework"
# We have debian dependencies to get these installed or facades from mono 5.10+
for assembly in System.IO.Compression System.Runtime.InteropServices.RuntimeInformation System.Net.Http System.Globalization.Extensions System.Text.Encoding.CodePages System.Threading.Overlapped
do
if [ -e $path/$assembly.dll ]; then
if [ -e $sourceFolder/Libraries/Mono/$assembly.dll ]; then
echo "Copy Mono-specific facade $assembly.dll (uses win32 interop)"
cp $sourceFolder/Libraries/Mono/$assembly.dll $path/$assembly.dll
else
echo "Remove $assembly.dll (uses win32 interop)"
rm $path/$assembly.dll
fi
fi
done
local folder=$artifactsFolder/$runtime/$framework/Sonarr
# Copy more stable version of Vectors for mono <5.12
if [ -e $path/System.Numerics.Vectors.dll ]; then
packageDir="$HOME/.nuget/packages/system.numerics.vectors/4.5.0"
if [ ! -d "$HOME/.nuget/packages/system.numerics.vectors/4.5.0" ]; then
# May reside in the NuGetFallback folder, which is harder to find
# Download somewhere to get the real cache populated
if [ $runtime = "dotnet" ] ; then
$nuget install System.Numerics.Vectors -Version 4.5.0 -Output ./_temp/System.Numerics.Vectors
else
mono $nuget install System.Numerics.Vectors -Version 4.5.0 -Output ./_temp/System.Numerics.Vectors
fi
rm -rf ./_temp/System.Numerics.Vectors
fi
# Copy the netstandard2.0 version rather than net46
cp "$packageDir/lib/netstandard2.0/System.Numerics.Vectors.dll" $path/
fi
}
PackageMono()
{
ProgressStart 'Creating Mono Package'
rm -rf $outputFolderLinux
echo "Copying Binaries"
cp -r $outputFolder $outputFolderLinux
echo "Creating MDBs"
CreateMdbs $outputFolderLinux
echo "Removing PDBs"
find $outputFolderLinux -name "*.pdb" -exec rm "{}" \;
PackageFiles "$folder" "$framework" "$runtime"
echo "Removing Service helpers"
rm -f $outputFolderLinux/ServiceUninstall.*
rm -f $outputFolderLinux/ServiceInstall.*
echo "Removing native windows binaries Sqlite, MediaInfo"
rm -f $outputFolderLinux/sqlite3.*
rm -f $outputFolderLinux/MediaInfo.*
PatchMono $outputFolderLinux
echo "Adding Sonarr.Core.dll.config (for dllmap)"
cp $sourceFolder/NzbDrone.Core/Sonarr.Core.dll.config $outputFolderLinux
# Remove Http binding redirect by renaming it
# We don't need this anymore once our minimum mono version is 5.10
sed -i "s/System.Net.Http/System.Net.Http.Mono/g" $outputFolderLinux/Sonarr.Console.exe.config
echo "Renaming Sonarr.Console.exe to Sonarr.exe"
rm $outputFolderLinux/Sonarr.exe*
for file in $outputFolderLinux/Sonarr.Console.exe*; do
mv "$file" "${file//.Console/}"
done
rm -f $folder/ServiceUninstall.*
rm -f $folder/ServiceInstall.*
echo "Removing Sonarr.Windows"
rm $outputFolderLinux/Sonarr.Windows.*
rm $folder/Sonarr.Windows.*
echo "Adding Sonarr.Mono to UpdatePackage"
cp $outputFolderLinux/Sonarr.Mono.* $outputFolderLinux/$updateSubFolder/
cp $folder/Sonarr.Mono.* $folder/Sonarr.Update
if [ "$framework" = "$framework" ]; then
cp $folder/Mono.Posix.NETStandard.* $folder/Sonarr.Update
cp $folder/libMonoPosixHelper.* $folder/Sonarr.Update
fi
ProgressEnd 'Creating Mono Package'
ProgressEnd "Creating $runtime Package for $framework"
}
PackageMacOS()
{
ProgressStart 'Creating MacOS Package'
local framework="$1"
local runtime="$2"
rm -rf $outputFolderMacOS
mkdir $outputFolderMacOS
ProgressStart "Creating $runtime Package for $framework"
echo "Adding Startup script"
cp ./macOS/Sonarr $outputFolderMacOS
dos2unix $outputFolderMacOS/Sonarr
local folder=$artifactsFolder/$runtime/$framework/Sonarr
echo "Copying Binaries"
cp -r $outputFolderLinux/* $outputFolderMacOS
PackageFiles "$folder" "$framework" "$runtime"
echo "Adding sqlite dylibs"
cp $sourceFolder/Libraries/Sqlite/*.dylib $outputFolderMacOS
echo "Removing Service helpers"
rm -f $folder/ServiceUninstall.*
rm -f $folder/ServiceInstall.*
echo "Adding MediaInfo dylib"
cp $sourceFolder/Libraries/MediaInfo/*.dylib $outputFolderMacOS
echo "Removing Sonarr.Windows"
rm $folder/Sonarr.Windows.*
ProgressEnd 'Creating MacOS Package'
echo "Adding Sonarr.Mono to UpdatePackage"
cp $folder/Sonarr.Mono.* $folder/Sonarr.Update
if [ "$framework" = "$framework" ]; then
cp $folder/Mono.Posix.NETStandard.* $folder/Sonarr.Update
cp $folder/libMonoPosixHelper.* $folder/Sonarr.Update
fi
ProgressEnd "Creating $runtime Package for $framework"
}
PackageMacOSApp()
{
ProgressStart 'Creating macOS App Package'
local framework="$1"
local runtime="$2"
rm -rf $outputFolderMacOSApp
mkdir $outputFolderMacOSApp
cp -r ./macOS/Sonarr.app $outputFolderMacOSApp
mkdir -p $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
ProgressStart "Creating $runtime App Package for $framework"
echo "Adding Startup script"
cp ./macOS/Sonarr $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
dos2unix $outputFolderMacOSApp/Sonarr.app/Contents/MacOS/Sonarr
local folder=$artifactsFolder/$runtime-app/$framework
rm -rf $folder
mkdir -p $folder
cp -r distribution/macOS/Sonarr.app $folder
mkdir -p $folder/Sonarr.app/Contents/MacOS
echo "Copying Binaries"
cp -r $outputFolderLinux/* $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
echo "Adding sqlite dylibs"
cp $sourceFolder/Libraries/Sqlite/*.dylib $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
echo "Adding MediaInfo dylib"
cp $sourceFolder/Libraries/MediaInfo/*.dylib $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
cp -r $artifactsFolder/$runtime/$framework/Sonarr/* $folder/Sonarr.app/Contents/MacOS
echo "Removing Update Folder"
rm -r $outputFolderMacOSApp/Sonarr.app/Contents/MacOS/Sonarr.Update
rm -r $folder/Sonarr.app/Contents/MacOS/Sonarr.Update
ProgressEnd 'Creating macOS App Package'
}
PackageTestsMono()
{
ProgressStart 'Creating Mono Test Package'
rm -rf $testPackageFolderLinux
echo "Copying Binaries"
cp -r $testPackageFolder $testPackageFolderLinux
if [ $runtime = "dotnet" ] ; then
$nuget install NUnit.ConsoleRunner -Version 3.10.0 -Output $testPackageFolderLinux
else
mono $nuget install NUnit.ConsoleRunner -Version 3.10.0 -Output $testPackageFolderLinux
fi
echo "Creating MDBs"
CreateMdbs $testPackageFolderLinux
echo "Removing PDBs"
find $testPackageFolderLinux -name "*.pdb" -exec rm "{}" \;
PatchMono $testPackageFolderLinux
echo "Adding Sonarr.Core.dll.config (for dllmap)"
cp $sourceFolder/NzbDrone.Core/Sonarr.Core.dll.config $testPackageFolderLinux
# Remove Http binding redirect by renaming it
# We don't need this anymore once our minimum mono version is 5.10
sed -i "s/System.Net.Http/System.Net.Http.Mono/g" $testPackageFolderLinux/Sonarr.Common.Test.dll.config
cp ./test.sh $testPackageFolderLinux/
dos2unix $testPackageFolderLinux/test.sh
echo "Removing Sonarr.Windows"
rm $testPackageFolderLinux/Sonarr.Windows.*
rm -f $testPackageFolderLinux/*.log.config
CleanFolder $testPackageFolderLinux true
ProgressEnd 'Creating Linux Test Package'
}
PackageTestsWindows()
{
ProgressStart 'Creating Windows Test Package'
rm -rf $testPackageFolderWindows
echo "Copying Binaries"
cp -r $testPackageFolder $testPackageFolderWindows
if [ $runtime = "dotnet" ] ; then
$nuget install NUnit.ConsoleRunner -Version 3.10.0 -Output $testPackageFolderWindows
else
mono $nuget install NUnit.ConsoleRunner -Version 3.10.0 -Output $testPackageFolderWindows
fi
cp ./test.sh $testPackageFolderWindows
echo "Removing Sonarr.Mono"
rm -f $testPackageFolderWindows/Sonarr.Mono.*
rm -f $testPackageFolderWindows/*.log.config
CleanFolder $testPackageFolderWindows true
ProgressEnd 'Creating Windows Test Package'
ProgressEnd "Creating $runtime App Package for $framework"
}
PackageWindows()
{
ProgressStart 'Creating Windows Package'
local framework="$1"
local runtime="$2"
rm -rf $outputFolderWindows
echo "Copying Binaries"
cp -r $outputFolder $outputFolderWindows
ProgressStart "Creating Windows Package for $framework"
local folder=$artifactsFolder/$runtime/$framework/Sonarr
PackageFiles "$folder" "$framework" "$runtime"
cp -r $outputFolder/$framework-windows/$runtime/publish/* $folder
echo "Removing Sonarr.Mono"
rm -f $outputFolderWindows/Sonarr.Mono.*
rm -f $folder/Sonarr.Mono.*
rm -f $folder/Mono.Posix.NETStandard.*
rm -f $folder/libMonoPosixHelper.*
echo "Adding Sonarr.Windows to UpdatePackage"
cp $outputFolderWindows/Sonarr.Windows.* $outputFolderWindows/$updateSubFolder/
cp $folder/Sonarr.Windows.* $folder/Sonarr.Update
ProgressEnd 'Creating Windows Package'
ProgressEnd "Creating Windows Package for $framework"
}
PublishArtifacts()
Package()
{
ProgressStart 'Publishing Artifacts'
local framework="$1"
local runtime="$2"
local SPLIT
IFS='-' read -ra SPLIT <<< "$runtime"
case "${SPLIT[0]}" in
linux|freebsd*)
PackageLinux "$framework" "$runtime"
;;
win)
PackageWindows "$framework" "$runtime"
;;
osx)
PackageMacOS "$framework" "$runtime"
;;
esac
}
PackageTests()
{
local framework="$1"
local runtime="$2"
ProgressStart "Creating $runtime Test Package for $framework"
cp test.sh "$testPackageFolder/$framework/$runtime/publish"
rm -f $testPackageFolder/$framework/$runtime/*.log.config
ProgressEnd "Creating $runtime Test Package for $framework"
}
UploadTestArtifacts()
{
local framework="$1"
ProgressStart 'Publishing Test Artifacts'
# Tests
echo "##teamcity[publishArtifacts '$testPackageFolderWindows/** => tests.windows.zip']"
echo "##teamcity[publishArtifacts '$testPackageFolderLinux/** => tests.linux.zip']"
for dir in $testPackageFolder/$framework/*
do
local runtime=$(basename "$dir")
echo "##teamcity[publishArtifacts '$testPackageFolder/$framework/$runtime/publish/** => tests.$runtime.zip']"
done
ProgressEnd 'Publishing Test Artifacts'
}
UploadArtifacts()
{
local framework="$1"
ProgressStart 'Publishing Artifacts'
# Releases
echo "##teamcity[publishArtifacts '$outputFolderWindows/** => Sonarr.$BRANCH.$BUILD_NUMBER.windows.zip!Sonarr']"
echo "##teamcity[publishArtifacts '$outputFolderLinux/** => Sonarr.$BRANCH.$BUILD_NUMBER.linux.tar.gz!Sonarr']"
echo "##teamcity[publishArtifacts '$outputFolderMacOS/** => Sonarr.$BRANCH.$BUILD_NUMBER.macos.tar.gz!Sonarr']"
echo "##teamcity[publishArtifacts '$outputFolderMacOSApp/** => Sonarr.$BRANCH.$BUILD_NUMBER.macos.zip']"
# Debian Package
for dir in $artifactsFolder/*
do
local runtime=$(basename "$dir")
echo "##teamcity[publishArtifacts '$artifactsFolder/$runtime/$framework/** => Sonarr.$BRANCH.$SONARR_VERSION.$runtime.zip']"
done
# Debian Package / Windows installer / macOS app
echo "##teamcity[publishArtifacts 'distribution/** => distribution.zip']"
ProgressEnd 'Publishing Artifacts'
}
UploadUIArtifacts()
{
local framework="$1"
ProgressStart 'Publishing UI Artifacts'
# UI folder
echo "##teamcity[publishArtifacts '$outputFolder/UI/** => UI.zip']"
ProgressEnd 'Publishing UI Artifacts'
}
# Use mono or .net depending on OS
case "$(uname -s)" in
CYGWIN*|MINGW32*|MINGW64*|MSYS*)
# on windows, use dotnet
runtime="dotnet"
os="windows"
;;
*)
# otherwise use mono
runtime="mono"
os="posix"
;;
esac
UpdateVersionNumber
Build
CreateReleaseInfo
RunGulp
PackageMono
PackageMacOS
PackageMacOSApp
PackageTestsMono
PackageTestsWindows
PackageWindows
PublishArtifacts
POSITIONAL=()
if [ $# -eq 0 ]; then
echo "No arguments provided, building everything"
BACKEND=YES
FRONTEND=YES
PACKAGES=YES
LINT=YES
ENABLE_EXTRA_PLATFORMS=NO
ENABLE_EXTRA_PLATFORMS_IN_SDK=NO
fi
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
--backend)
BACKEND=YES
shift # past argument
;;
--enable-bsd|--enable-extra-platforms)
ENABLE_EXTRA_PLATFORMS=YES
shift # past argument
;;
--enable-extra-platforms-in-sdk)
ENABLE_EXTRA_PLATFORMS_IN_SDK=YES
shift # past argument
;;
-r|--runtime)
RID="$2"
shift # past argument
shift # past value
;;
-f|--framework)
FRAMEWORK="$2"
shift # past argument
shift # past value
;;
--frontend)
FRONTEND=YES
shift # past argument
;;
--packages)
PACKAGES=YES
shift # past argument
;;
--lint)
LINT=YES
shift # past argument
;;
--all)
BACKEND=YES
FRONTEND=YES
PACKAGES=YES
LINT=YES
shift # past argument
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
if [ "$ENABLE_EXTRA_PLATFORMS_IN_SDK" = "YES" ];
then
EnableExtraPlatformsInSDK
fi
if [ "$BACKEND" = "YES" ];
then
UpdateVersionNumber
if [ "$ENABLE_EXTRA_PLATFORMS" = "YES" ];
then
EnableExtraPlatforms
fi
Build
if [[ -z "$RID" || -z "$FRAMEWORK" ]];
then
PackageTests "$framework" "win-x64"
PackageTests "$framework" "win-x86"
PackageTests "$framework" "linux-x64"
PackageTests "$framework" "linux-musl-x64"
PackageTests "$framework" "osx-x64"
if [ "$ENABLE_EXTRA_PLATFORMS" = "YES" ];
then
PackageTests "$framework" "freebsd-x64"
fi
else
PackageTests "$FRAMEWORK" "$RID"
fi
UploadTestArtifacts "$framework"
fi
if [ "$FRONTEND" = "YES" ];
then
YarnInstall
if [ "$LINT" = "YES" ];
then
LintUI
fi
RunWebpack
UploadUIArtifacts
fi
if [ "$PACKAGES" = "YES" ];
then
UpdateVersionNumber
if [[ -z "$RID" || -z "$FRAMEWORK" ]];
then
Package "$framework" "win-x64"
Package "$framework" "win-x86"
Package "$framework" "linux-x64"
Package "$framework" "linux-musl-x64"
Package "$framework" "linux-arm64"
Package "$framework" "linux-musl-arm64"
Package "$framework" "linux-arm"
Package "$framework" "osx-x64"
Package "$framework" "osx-arm64"
if [ "$ENABLE_EXTRA_PLATFORMS" = "YES" ];
then
Package "$framework" "freebsd-x64"
fi
else
Package "$FRAMEWORK" "$RID"
fi
UploadArtifacts "$framework"
fi

View File

@ -1,63 +0,0 @@
fromdos ./debian/*
cp -r ./debian ./debian_backup
BuildVersion=${dependent_build_number:-3.10.0.999}
BuildBranch=${dependent_build_branch:-master}
BootstrapVersion=`echo "$BuildVersion" | cut -d. -f1,2,3`
BootstrapUpdater="BuiltIn"
PackageUpdater="apt"
echo Version: "$BuildVersion" Branch: "$BuildBranch"
rm -r ./sonarr_bin/Sonarr.Update
chmod -R ugo-x,ugo+rwX,go-w ./sonarr_bin/*
echo Updating changelog for $BuildVersion
sed -i "s:{version}:$BuildVersion:g; s:{branch}:$BuildBranch:g;" debian/changelog
sed -i "s:{version}:$BuildVersion:g; s:{updater}:$PackageUpdater:g" debian/preinst debian/postinst debian/postrm
sed -i '/#BEGIN BUILTIN UPDATER/,/#END BUILTIN UPDATER/d' debian/preinst debian/postinst debian/postrm
echo "# Do Not Edit\nPackageVersion=$BuildVersion\nReleaseVersion=$BuildVersion\nUpdateMethod=$PackageUpdater\nBranch=$BuildBranch" > package_info
echo Running debuild for $BuildVersion
if [ -z "${TEST_OUTPUT}" ]; then
debuild -b
else
debuild -us -uc -b
fi
# Restore debian directory to the original files
rm -rf ./debian
mv ./debian_backup ./debian
echo Updating changelog for $BootstrapVersion
sed -i "s:{version}:$BootstrapVersion:g; s:{branch}:$BuildBranch:g;" debian/changelog
sed -i "s:{version}:$BuildVersion:g; s:{updater}:$BootstrapUpdater:g" debian/preinst debian/postinst debian/postrm
sed -i '/#BEGIN BUILTIN UPDATER/d; /#END BUILTIN UPDATER/d' debian/preinst debian/postinst debian/postrm
echo "# Do Not Edit\nPackageVersion=$BootstrapVersion\nReleaseVersion=$BuildVersion\nUpdateMethod=$BootstrapUpdater\nBranch=$BuildBranch" > package_info
echo Running debuild for $BootstrapVersion
if [ -z "${TEST_OUTPUT}" ]; then
debuild -b
else
debuild -us -uc -b
fi
echo Moving stuff around
mv ../sonarr_*.deb ./
mv ../sonarr_*.changes ./
rm ../sonarr_*.build
if [ -z "${TEST_OUTPUT}" ]; then
echo Signing Package
dpkg-sig -k 884589CE --sign builder "sonarr_${BuildVersion}_all.deb"
dpkg-sig -k 884589CE --sign builder "sonarr_${BootstrapVersion}_all.deb"
echo running alien
alien -r -v ./*.deb
else
echo "Exporting packages to ${TEST_OUTPUT}"
dpkg -e "sonarr_${BuildVersion}_all.deb" ${TEST_OUTPUT}/sonarr-build
dpkg -e "sonarr_${BootstrapVersion}_all.deb" ${TEST_OUTPUT}/sonarr-release
cp *.deb ${TEST_OUTPUT}/
fi

View File

@ -1,6 +0,0 @@
[*]
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 2

View File

@ -1,5 +0,0 @@
sonarr ({version}) {branch}; urgency=low
* Automatic Release.
-- Sonarr <hello@sonarr.tv> Sun, 28 Jan 2018 00:00:00 -0700

View File

@ -1 +0,0 @@
8

View File

@ -1,14 +0,0 @@
#!/bin/sh -e
. /usr/share/debconf/confmodule
db_beginblock
db_input high sonarr/owning_user || true
db_input high sonarr/owning_group || true
db_endblock
db_go
db_input low sonarr/config_directory || true
db_go
exit 0

View File

@ -1,22 +0,0 @@
Section: web
Priority: optional
Maintainer: Sonarr <hello@sonarr.tv>
Source: sonarr
Homepage: https://sonarr.tv
Vcs-Git: git@github.com:Sonarr/Sonarr.git
Vcs-Browser: https://github.com/Sonarr/Sonarr
Build-Depends: debhelper (>= 9),
dh-systemd (>= 1.5),
mono-devel (>= 5.4),
libmono-cil-dev (>= 5.4),
cli-common-dev (>= 0.9+xamarin5)
Package: sonarr
Architecture: all
Provides: nzbdrone
Conflicts: nzbdrone
Replaces: nzbdrone
Depends: adduser, libsqlite3-0 (>= 3.7), libmediainfo0v5 (>= 0.7.52) | libmediainfo0 (>= 0.7.52), mono-runtime (>= 5.4), ca-certificates-mono, libmono-system-net-http4.0-cil (>= 4.0.0~alpha1), ${cli:Depends}, ${misc:Depends}
Recommends: libmediainfo0v5 (>= 18.03) | libmediainfo0 (>= 18.03)
Suggests: sqlite3 (>= 3.7), mediainfo (>= 0.7.52)
Description: Internet PVR

View File

@ -1,24 +0,0 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: sonarr
Source: https://github.com/Sonarr/Sonarr
Files: *
Copyright: 2010-2016 Sonarr <hello@sonarr.tv>
License: GPL-3.0+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

View File

@ -1 +0,0 @@
sonarr_3.0.0.0_all.deb web optional

View File

@ -1,2 +0,0 @@
sonarr_bin/* usr/lib/sonarr/bin
package_info usr/lib/sonarr

View File

@ -0,0 +1,182 @@
#!/bin/bash
### Description: Sonarr .NET Debian install
### Originally written for Radarr by: DoctorArr - doctorarr@the-rowlands.co.uk on 2021-10-01 v1.0
### Updates for servarr suite made by Bakerboy448, DoctorArr, brightghost, aeramor and VP-EN
### Version v1.0.0 2023-12-29 - StevieTV - adapted from servarr script for Sonarr installs
### Version V1.0.1 2024-01-02 - StevieTV - remove UTF8-BOM
### Version V1.0.2 2024-01-03 - markus101 - Get user input from /dev/tty
### Version V1.0.3 2024-01-06 - StevieTV - exit script when it is ran from install directory
### Boilerplate Warning
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
#EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
#MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
#NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
#LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
#OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
#WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
scriptversion="1.0.3"
scriptdate="2024-01-06"
set -euo pipefail
echo "Running Sonarr Install Script - Version [$scriptversion] as of [$scriptdate]"
# Am I root?, need root!
if [ "$EUID" -ne 0 ]; then
echo "Please run as root."
exit
fi
app="sonarr"
app_port="8989"
app_prereq="curl sqlite3 wget"
app_umask="0002"
branch="main"
# Constants
### Update these variables as required for your specific instance
installdir="/opt" # {Update me if needed} Install Location
bindir="${installdir}/${app^}" # Full Path to Install Location
datadir="/var/lib/$app/" # {Update me if needed} AppData directory to use
app_bin=${app^} # Binary Name of the app
# This script should not be ran from installdir, otherwise later in the script the extracted files will be removed before they can be moved to installdir.
if [ "$installdir" == "$(dirname -- "$( readlink -f -- "$0"; )")" ] || [ "$bindir" == "$(dirname -- "$( readlink -f -- "$0"; )")" ]; then
echo "You should not run this script from the intended install directory. The script will exit. Please re-run it from another directory"
exit
fi
# Prompt User
read -r -p "What user should ${app^} run as? (Default: $app): " app_uid < /dev/tty
app_uid=$(echo "$app_uid" | tr -d ' ')
app_uid=${app_uid:-$app}
# Prompt Group
read -r -p "What group should ${app^} run as? (Default: media): " app_guid < /dev/tty
app_guid=$(echo "$app_guid" | tr -d ' ')
app_guid=${app_guid:-media}
echo "This will install [${app^}] to [$bindir] and use [$datadir] for the AppData Directory"
echo "${app^} will run as the user [$app_uid] and group [$app_guid]. By continuing, you've confirmed that the selected user and group will have READ and WRITE access to your Media Library and Download Client Completed Download directories"
read -n 1 -r -s -p $'Press enter to continue or ctrl+c to exit...\n' < /dev/tty
# Create User / Group as needed
if [ "$app_guid" != "$app_uid" ]; then
if ! getent group "$app_guid" >/dev/null; then
groupadd "$app_guid"
fi
fi
if ! getent passwd "$app_uid" >/dev/null; then
adduser --system --no-create-home --ingroup "$app_guid" "$app_uid"
echo "Created and added User [$app_uid] to Group [$app_guid]"
fi
if ! getent group "$app_guid" | grep -qw "$app_uid"; then
echo "User [$app_uid] did not exist in Group [$app_guid]"
usermod -a -G "$app_guid" "$app_uid"
echo "Added User [$app_uid] to Group [$app_guid]"
fi
# Stop the App if running
if service --status-all | grep -Fq "$app"; then
systemctl stop "$app"
systemctl disable "$app".service
echo "Stopped existing $app"
fi
# Create Appdata Directory
# AppData
mkdir -p "$datadir"
chown -R "$app_uid":"$app_guid" "$datadir"
chmod 775 "$datadir"
echo "Directories created"
# Download and install the App
# prerequisite packages
echo ""
echo "Installing pre-requisite Packages"
# shellcheck disable=SC2086
apt update && apt install -y $app_prereq
echo ""
ARCH=$(dpkg --print-architecture)
# get arch
dlbase="https://services.sonarr.tv/v1/download/$branch/latest?version=4&os=linux"
case "$ARCH" in
"amd64") DLURL="${dlbase}&arch=x64" ;;
"armhf") DLURL="${dlbase}&arch=arm" ;;
"arm64") DLURL="${dlbase}&arch=arm64" ;;
*)
echo "Arch not supported"
exit 1
;;
esac
echo ""
echo "Removing previous tarballs"
# -f to Force so we fail if it doesn't exist
rm -f "${app^}".*.tar.gz
echo ""
echo "Downloading..."
wget --content-disposition "$DLURL"
tar -xvzf "${app^}".*.tar.gz
echo ""
echo "Installation files downloaded and extracted"
# remove existing installs
echo "Removing existing installation"
rm -rf "$bindir"
echo "Installing..."
mv "${app^}" $installdir
chown "$app_uid":"$app_guid" -R "$bindir"
chmod 775 "$bindir"
rm -rf "${app^}.*.tar.gz"
# Ensure we check for an update in case user installs older version or different branch
touch "$datadir"/update_required
chown "$app_uid":"$app_guid" "$datadir"/update_required
echo "App Installed"
# Configure Autostart
# Remove any previous app .service
echo "Removing old service file"
rm -rf /etc/systemd/system/"$app".service
# Create app .service with correct user startup
echo "Creating service file"
cat <<EOF | tee /etc/systemd/system/"$app".service >/dev/null
[Unit]
Description=${app^} Daemon
After=syslog.target network.target
[Service]
User=$app_uid
Group=$app_guid
UMask=$app_umask
Type=simple
ExecStart=$bindir/$app_bin -nobrowser -data=$datadir
TimeoutStopSec=20
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# Start the App
echo "Service file created. Attempting to start the app"
systemctl -q daemon-reload
systemctl enable --now -q "$app"
# Finish Update/Installation
host=$(hostname -I)
ip_local=$(grep -oP '^\S*' <<<"$host")
echo ""
echo "Install complete"
sleep 10
STATUS="$(systemctl is-active "$app")"
if [ "${STATUS}" = "active" ]; then
echo "Browse to http://$ip_local:$app_port for the ${app^} GUI"
else
echo "${app^} failed to start"
fi
# Exit
exit 0

View File

@ -1,107 +0,0 @@
#!/bin/sh
set -e
BUILD_VERSION={version}
UPDATER={updater}
. /usr/share/debconf/confmodule
db_get sonarr/owning_user
USER="$RET"
db_get sonarr/owning_group
GROUP="$RET"
db_get sonarr/config_directory
CONFDIR="$RET"
# Add User and Group
if ! getent group "$GROUP" >/dev/null; then
groupadd "$GROUP"
fi
if ! getent passwd "$USER" >/dev/null; then
adduser --system --no-create-home --ingroup "$GROUP" "$USER"
fi
if [ $1 = "configure" ]; then
# Migrate old Sonarr v3 alpha data dir from /var/opt/sonarr or user home
if [ -d "/var/opt/sonarr" ] && [ "$CONFDIR" != "/var/opt/sonarr" ] && [ ! -d "$CONFDIR" ]; then
varoptRoot="/var/opt/sonarr"
varoptAppData="$varoptRoot/.config/Sonarr"
sonarrUserHome=`getent passwd $USER | cut -d ':' -f 6`
sonarrAppData="$sonarrUserHome/.config/Sonarr"
if [ -f "$varoptRoot/sonarr.db" ]; then
# Handle /var/opt/sonarr/sonarr.db
mv "$varoptRoot" "$CONFDIR"
elif [ -f "$varoptAppData/sonarr.db" ]; then
# Handle /var/opt/sonarr/.config/Sonarr/sonarr.db
mv "$varoptAppData" "$CONFDIR"
rm -rf "$varoptRoot"
elif [ -f "$sonarrAppData/sonarr.db" ]; then
# Handle ~/.config/Sonarr/sonarr.db
mv "$sonarrAppData" "$CONFDIR"
rm -rf "$sonarrAppData"
else
mv "$varoptRoot" "$CONFDIR"
fi
chown -R $USER:$GROUP "$CONFDIR"
chmod -R 775 "$CONFDIR"
fi
# Migrate old NzbDrone data dir
if [ -d "/usr/lib/sonarr/nzbdrone-appdata" ] && [ ! -d "$CONFDIR" ]; then
NZBDRONE_DATA=`readlink /usr/lib/sonarr/nzbdrone-appdata`
if [ -f "$NZBDRONE_DATA/config.xml" ] && [ -f "$NZBDRONE_DATA/nzbdrone.db" ]; then
echo "Found NzbDrone database in $NZBDRONE_DATA, copying to $CONFDIR."
mkdir -p "$CONFDIR"
cp $NZBDRONE_DATA/config.xml $NZBDRONE_DATA/nzbdrone.db* "$CONFDIR/"
chown -R $USER:$GROUP "$CONFDIR"
chmod -R 775 "$CONFDIR"
else
echo "Missing NzbDrone database in $NZBDRONE_DATA, skipping migration."
fi
rm /usr/lib/sonarr/nzbdrone-appdata
fi
fi
# Create data directory
if [ ! -d "$CONFDIR" ]; then
mkdir -p "$CONFDIR"
chown -R $USER:$GROUP "$CONFDIR"
fi
#BEGIN BUILTIN UPDATER
# Apply patch if present
if [ "$UPDATER" = "BuiltIn" ] && [ -f /usr/lib/sonarr/bin_patch/release_info ]; then
# It shouldn't be possible to get a wrong bin_patch, but let's check anyway and throw it away if it's wrong
currentVersion=`cat /usr/lib/sonarr/bin_patch/release_info | grep 'ReleaseVersion=' | cut -d= -f 2`
currentRelease=`echo "$currentVersion" | cut -d. -f1,2,3`
currentBuild=`echo "$currentVersion" | cut -d. -f4`
targetVersion=$BUILD_VERSION
targetRelease=`echo "$targetVersion" | cut -d. -f1,2,3`
targetBuild=`echo "$targetVersion" | cut -d. -f4`
if [ "$currentRelease" = "$targetRelease" ] && [ "$currentBuild" -gt "$targetBuild" ]; then
echo "Applying $currentVersion from BuiltIn updater instead of downgrading to $targetVersion"
rm -rf /usr/lib/sonarr/bin
mv /usr/lib/sonarr/bin_patch /usr/lib/sonarr/bin
else
rm -rf /usr/lib/sonarr/bin_patch
fi
fi
#END BUILTIN UPDATER
# Set permissions on /usr/lib/sonarr
chown -R $USER:$GROUP /usr/lib/sonarr
# Update sonarr.service file
sed -i "s:User=sonarr:User=$USER:g; s:Group=sonarr:Group=$GROUP:g; s:-data=/var/lib/sonarr:-data=$CONFDIR:g" /lib/systemd/system/sonarr.service
#BEGIN BUILTIN UPDATER
if [ $1 = "upgrade" ] && [ "$UPDATER" = "BuiltIn" ]; then
# If we upgraded, signal Sonarr to do an update check on startup instead of scheduled.
touch $CONFDIR/update_required
chown $USER:$GROUP $CONFDIR/update_required
fi
#END BUILTIN UPDATER
#DEBHELPER#
exit 0

View File

@ -1,36 +0,0 @@
#!/bin/sh
set -e
BUILD_VERSION={version}
UPDATER={updater}
if [ $1 = "abort-install" ]; then
# preinst was aborted, possibly due to NzbDrone still running.
# Nothing to do here
:
fi
# The bin directory is expected to be empty, unless the BuiltIn updater added files.
if [ $1 = "remove" ] && [ -d /usr/lib/sonarr/bin ]; then
rm -rf /usr/lib/sonarr/bin
fi
#BEGIN BUILTIN UPDATER
# Remove any existing patch if still present
if [ $1 = "remove" ] && [ -d /usr/lib/sonarr/bin_patch ]; then
rm -rf /usr/lib/sonarr/bin_patch
fi
#END BUILTIN UPDATER
# Purge the entire sonarr configuration directory.
# TODO: Maybe move a minimal backup to tmp?
if [ $1 = "purge" ] && [ -e /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
db_get sonarr/config_directory
CONFDIR="$RET"
if [ -d "$CONFDIR" ]; then
rm -rf "$CONFDIR"
fi
fi
#DEBHELPER#

View File

@ -1,91 +0,0 @@
#!/bin/sh
set -e
BUILD_VERSION={version}
UPDATER={updater}
# Deal with existing nzbdrone installs
#
# Existing nzbdrone packages do not have startup scripts and the process might still be running.
# If the user manually installed nzbdrone then the process might still be running too.
if [ $1 = "install" ]; then
psNzbDrone=`ps ax -o'user,pid,ppid,unit,args' | grep mono.*NzbDrone\\\\.exe || true`
if [ ! -z "$psNzbDrone" ]; then
# Get the user and optional systemd unit
psNzbDroneUser=`echo "$psNzbDrone" | tr -s ' ' | cut -d ' ' -f 1`
psNzbDroneUnit=`echo "$psNzbDrone" | tr -s ' ' | cut -d ' ' -f 4`
# Get the appdata from the cmdline or get it from the user dir
droneAppData=`echo "$psNzbDrone" | tr ' ' '\n' | grep -- "-data=" | cut -d= -f 2`
if [ "$droneAppData" = "" ]; then
droneUserHome=`getent passwd $psNzbDroneUser | cut -d ':' -f 6`
droneAppData="$droneUserHome/.config/NzbDrone"
fi
if [ "$psNzbDroneUnit" != "-" ] && [ -d /run/systemd/system ]; then
if [ "$psNzbDroneUnit" = "sonarr.service" ]; then
# Conflicts with our new sonarr.service so we have to remove it
echo "NzbDrone systemd startup detected at $psNzbDroneUnit, stopping and removing..."
deb-systemd-invoke stop $psNzbDroneUnit >/dev/null
if [ -f "/etc/systemd/system/$psNzbDroneUnit" ]; then
rm /etc/systemd/system/$psNzbDroneUnit
fi
if [ -f "/usr/lib/systemd/system/$psNzbDroneUnit" ]; then
rm /usr/lib/systemd/system/$psNzbDroneUnit
fi
deb-systemd-helper purge $psNzbDroneUnit >/dev/null
deb-systemd-helper unmask $psNzbDroneUnit >/dev/null
systemctl --system daemon-reload >/dev/null || true
else
# Just disable it, so the user can revisit the settings later
echo "NzbDrone systemd startup detected at $psNzbDroneUnit, stopping and disabling..."
deb-systemd-invoke stop $psNzbDroneUnit >/dev/null
deb-systemd-invoke mask $psNzbDroneUnit >/dev/null
fi
else
# We don't support auto migration for other startup methods, so bail.
# This leaves the sonarr package in an incomplete state.
echo "ps: $psNzbDrone"
echo "Error: An existing Sonarr v2 (NzbDrone) process is running. Remove the NzbDrone auto-startup prior to installing sonarr."
exit 1
fi
# We don't have the debconf configuration yet so we can't migrate the data.
# Instead we symlink so postinst knows where it's at.
if [ -f "/usr/lib/sonarr/nzbdrone-appdata" ]; then
rm "/usr/lib/sonarr/nzbdrone-appdata"
else
mkdir -p "/usr/lib/sonarr"
fi
ln -s $droneAppData /usr/lib/sonarr/nzbdrone-appdata
fi
fi
#BEGIN BUILTIN UPDATER
# Check for supported upgrade paths
if [ $1 = "upgrade" ] && [ "$UPDATER" = "BuiltIn" ] && [ -f /usr/lib/sonarr/bin/release_info ]; then
# If we allow the Built-In updater to upgrade from 3.0.1.123 to 3.0.2.500 and now apt is catching up to 3.0.2.425
# then we need to deal with that 500->425 'downgrade'.
# We do that by preserving the binaries and using those instead for postinst.
currentVersion=`cat /usr/lib/sonarr/bin/release_info | grep 'ReleaseVersion=' | cut -d= -f 2`
currentRelease=`echo "$currentVersion" | cut -d. -f1,2,3`
currentBuild=`echo "$currentVersion" | cut -d. -f4`
targetVersion=$BUILD_VERSION
targetRelease=`echo "$targetVersion" | cut -d. -f1,2,3`
targetBuild=`echo "$targetVersion" | cut -d. -f4`
if [ -d /usr/lib/sonarr/bin_patch ]; then
rm -rf /usr/lib/sonarr/bin_patch
fi
# Check if the existing version is already an upgrade for the included build
if [ "$currentRelease" = "$targetRelease" ] && [ "$currentBuild" -gt "$targetBuild" ]; then
echo "Preserving $currentVersion from BuiltIn updater instead of downgrading to $targetVersion"
cp -r /usr/lib/sonarr/bin /usr/lib/sonarr/bin_patch
fi
fi
#END BUILTIN UPDATER
#DEBHELPER#
exit 0

View File

@ -1,21 +0,0 @@
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
EXCLUDE_MODULEREFS = crypt32 httpapi
%:
dh $@ --with=systemd --with=cli
# No init script, only systemd
override_dh_installinit:
true
# Sonarr likes debug symbols for logging
override_dh_clistrip:
override_dh_makeclilibs:
override_dh_clideps:
dh_clideps -d -r $(patsubst %,--exclude-moduleref=%,$(EXCLUDE_MODULEREFS))

View File

@ -1,2 +0,0 @@
ignores msbuild
ignores libmediainfo0v5

View File

@ -1,3 +1,6 @@
# This file is owned by the sonarr package, DO NOT MODIFY MANUALLY
# Instead use 'dpkg-reconfigure -plow sonarr' to modify User/Group/UMask/-data
# Or use systemd built-in override functionality using 'systemctl edit sonarr'
[Unit]
Description=Sonarr Daemon
After=network.target
@ -8,7 +11,7 @@ Group=sonarr
UMask=002
Type=simple
ExecStart=/usr/bin/mono --debug /usr/lib/sonarr/bin/Sonarr.exe -nobrowser -data=/var/lib/sonarr
ExecStart=/opt/Sonarr/Sonarr -nobrowser -data=/var/lib/sonarr
TimeoutStopSec=20
KillMode=process
Restart=on-failure

View File

@ -1,21 +0,0 @@
Template: sonarr/owning_user
Type: string
Default: sonarr
Description: Sonarr user:
Specify the user that is used to run Sonarr. The user will be created if it does not already exist.
The default 'sonarr' should work fine for most users. You can specify the user group next.
Template: sonarr/owning_group
Type: string
Default: sonarr
Description: Sonarr group:
Specify the group that is used to run Sonarr. The group will be created if it does not already exist.
If the user doesn't already exist then this group will be used as the user's primary group.
Any media files created by Sonarr will be writeable by this group.
It's advisable to keep the group the same between download client, Sonarr and media centers.
Template: sonarr/config_directory
Type: string
Default: /var/lib/sonarr
Description: Config directory:
Specify the directory where Sonarr stores the internal database and metadata. Media content will be stored elsewhere.

View File

@ -1,16 +1,25 @@
FROM ubuntu:xenial AS builder
FROM ubuntu:focal AS builder
ENV DEBIAN_FRONTEND noninteractive
ENV MONO_VERSION 5.14
ENV MONO_VERSION 5.18
RUN apt-get update && \
apt-get -y -o Dpkg::Options::="--force-confold" install --no-install-recommends \
apt-transport-https \
wget dirmngr gpg gpg-agent \
# add-apt-repository for PPAs
software-properties-common && \
rm -rf /var/lib/apt/lists/*
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
echo "deb http://download.mono-project.com/repo/debian stable-xenial/snapshots/$MONO_VERSION main" > /etc/apt/sources.list.d/mono-official-stable.list && \
echo "deb http://download.mono-project.com/repo/debian stable-focal main" > /etc/apt/sources.list.d/mono-official-stable.list && \
apt-get update && apt-get install -y \
devscripts build-essential tofrodos \
dh-make dh-systemd \
cli-common-dev \
mono-complete \
sqlite3 libcurl3 mediainfo
sqlite3 libcurl4 mediainfo
RUN apt-get upgrade -y
RUN apt-cache policy mono-complete
RUN apt-cache policy cli-common-dev

View File

@ -23,11 +23,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.0</string>
<string>4.0</string>
<key>CFBundleSignature</key>
<string>xmmd</string>
<key>CFBundleVersion</key>
<string>3.0</string>
<string>4.0</string>
<key>NSAppleScriptEnabled</key>
<string>YES</string>
</dict>

View File

@ -0,0 +1,7 @@
@REM SET SONARR_MAJOR_VERSION=4
@REM SET SONARR_VERSION=4.0.0.5
@REM SET BRANCH=develop
@REM SET FRAMEWORK=net6.0
@REM SET RUNTIME=win-x64
inno\ISCC.exe sonarr.iss

View File

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,86 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define AppName "Sonarr"
#define AppPublisher "Team Sonarr"
#define AppURL "https://sonarr.tv/"
#define ForumsURL "https://forums.sonarr.tv/"
#define AppExeName "Sonarr.exe"
#define BuildNumber "4.0"
#define BuildNumber GetEnv('SONARR_VERSION')
#define MajorVersion GetEnv('SONARR_MAJOR_VERSION')
#define BranchName GetEnv('BRANCH')
#define Framework GetEnv('FRAMEWORK')
#define Runtime GetEnv('RUNTIME')
[Setup]
; NOTE: The value of AppId uniquely identifies this appl ication.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{56C1065D-3523-4025-B76D-6F73F67F7F71}
AppName={#AppName}
AppVersion={#MajorVersion}
AppPublisher={#AppPublisher}
AppPublisherURL={#AppURL}
AppSupportURL={#ForumsURL}
AppUpdatesURL={#AppURL}
UsePreviousAppDir=no
DefaultDirName={commonappdata}\Sonarr\bin
DisableDirPage=yes
DefaultGroupName={#AppName}
DisableProgramGroupPage=yes
OutputBaseFilename=Sonarr.{#BranchName}.{#BuildNumber}.{#Runtime}-installer
SolidCompression=yes
AppCopyright=Creative Commons 3.0 License
AllowUNCPath=False
UninstallDisplayIcon={app}\Sonarr.exe
DisableReadyPage=True
CompressionThreads=2
Compression=lzma2/normal
AppContact={#ForumsURL}
VersionInfoVersion={#MajorVersion}
SetupLogging=yes
OutputDir="..\..\..\_artifacts"
AppverName={#AppName}
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopIcon"; Description: "{cm:CreateDesktopIcon}"
Name: "windowsService"; Description: "Install Windows Service (Starts when the computer starts as the LocalService user, you will need to change the user to access network shares)"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
Name: "startupShortcut"; Description: "Create shortcut in Startup folder (Starts when you log into Windows)"; GroupDescription: "Start automatically"; Flags: exclusive
Name: "none"; Description: "Do not start automatically"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
[Files]
Source: "..\..\..\_output\{#Runtime}\{#Framework}\Sonarr\Sonarr.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\..\_output\{#Runtime}\{#Framework}\Sonarr\*"; Excludes: "Sonarr.Update"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Parameters: "/icon"
Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Parameters: "/icon"; Tasks: desktopIcon
Name: "{userstartup}\{#AppName}"; Filename: "{app}\Sonarr.exe"; WorkingDir: "{app}"; Tasks: startupShortcut
[InstallDelete]
Name: "{commonappdata}\NzbDrone\bin"; Type: filesandordirs
Name: "{app}"; Type: filesandordirs
[Run]
Filename: "{app}\Sonarr.Console.exe"; StatusMsg: "Removing previous Windows Service"; Parameters: "/u /exitimmediately"; Flags: runhidden waituntilterminated;
Filename: "{app}\Sonarr.Console.exe"; Description: "Enable Access from Other Devices"; StatusMsg: "Enabling Remote access"; Parameters: "/registerurl /exitimmediately"; Flags: postinstall runascurrentuser runhidden waituntilterminated; Tasks: startupShortcut none;
Filename: "{app}\Sonarr.Console.exe"; StatusMsg: "Installing Windows Service"; Parameters: "/i /exitimmediately"; Flags: runhidden waituntilterminated; Tasks: windowsService
Filename: "{app}\Sonarr.exe"; Description: "Open Sonarr Web UI"; Flags: postinstall skipifsilent nowait; Tasks: windowsService;
Filename: "{app}\Sonarr.exe"; Description: "Start Sonarr"; Flags: postinstall skipifsilent nowait; Tasks: startupShortcut none;
[UninstallRun]
Filename: "{app}\Sonarr.Console.exe"; Parameters: "/u"; Flags: runhidden waituntilterminated skipifdoesntexist
[Code]
function PrepareToInstall(var NeedsRestart: Boolean): String;
var
ResultCode: Integer;
begin
Exec('net', 'stop nzbdrone', '', 0, ewWaitUntilTerminated, ResultCode)
Exec('sc', 'delete nzbdrone', '', 0, ewWaitUntilTerminated, ResultCode)
end;

View File

@ -17,6 +17,9 @@ RUN fromdos /startup.sh
WORKDIR /data/
VOLUME ["/data/_tests_linux", "/data/_output_linux", "/data/_tests_results"]
RUN groupadd sonarrtst -g 4020 && useradd sonarrtst -u 4021 -g 4020 -m -s /bin/bash
USER sonarrtst
CMD bash /startup.sh

View File

@ -16,6 +16,7 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E03280
RUN apt-get update && apt-get install -y \
libmono-system-runtime4.0-cil \
libmono-system-net-http4.0-cil \
&& rm -rf /var/lib/apt/lists/*
COPY startup.sh /startup.sh
@ -24,5 +25,8 @@ RUN fromdos /startup.sh
WORKDIR /data/
VOLUME ["/data/_tests_linux", "/data/_output_linux", "/data/_tests_results"]
RUN groupadd sonarrtst -g 4020 && useradd sonarrtst -u 4021 -g 4020 -m -s /bin/bash
USER sonarrtst
CMD bash /startup.sh

View File

@ -2,16 +2,18 @@
opt_parallel=
opt_version=
opt_mode=both
while getopts 'pv:m:?h' c
while getopts 'pv:m:r?h' c
do
case $c in
p) opt_parallel=1 ;;
v) opt_version=$OPTARG ;;
m) opt_mode=$OPTARG ;;
r) opt_report=1 ;;
?|h) printf "Usage: %s [-p] [-v mono-ver] [-m sonarr|complete]\n" $0
printf " -p run parallel\n"
printf " -v run specified mono version\n"
printf " -m run only mono-'complete' or 'sonarr' package variants\n"
printf " -r only report\n"
exit 2
esac
done
@ -20,17 +22,22 @@ done
# make sure that the docker host has enough memory to handle about ~300 MB per container, so 2-3 GB total
# excess goes to the swap and will slow down the entire system
# Preferred versions
MONO_VERSIONS="6.8 6.6 6.4 6.0 5.20 5.18"
MONO_VERSIONS=""
# Future versions
MONO_VERSIONS="$MONO_VERSIONS 6.10=preview-xenial"
# Semi-Supported versions
MONO_VERSIONS="$MONO_VERSIONS 6.8 6.6 6.4 6.0"
# Supported versions
MONO_VERSIONS="$MONO_VERSIONS 5.16 5.14 5.12 5.10 5.8 5.4"
MONO_VERSIONS="$MONO_VERSIONS 5.20 5.18"
# Legacy unsupported versions (but appear to work)
MONO_VERSIONS="$MONO_VERSIONS 5.16 5.14 5.12"
# Legacy unsupported versions
MONO_VERSIONS="$MONO_VERSIONS 5.0"
MONO_VERSIONS="$MONO_VERSIONS 5.10 5.8 5.4 5.0"
#MONO_VERSIONS="$MONO_VERSIONS 4.8=stable-wheezy/snapshots/4.8"
if [ "$opt_version" != "" ]; then
@ -86,23 +93,29 @@ runOne() {
echo "Finished Test Docker for mono $MONO_VERSION"
}
if [ "$opt_parallel" == "1" ]; then
if [ "$opt_report" != "1" ]; then
if [ "$opt_parallel" == "1" ]; then
for MONO_VERSION_PAIR in $MONO_VERSIONS; do
prepOne "$MONO_VERSION_PAIR"
done
fi
for MONO_VERSION_PAIR in $MONO_VERSIONS; do
prepOne "$MONO_VERSION_PAIR"
if [ "$opt_parallel" == "1" ]; then
runOne "$MONO_VERSION_PAIR" &
else
prepOne "$MONO_VERSION_PAIR"
runOne "$MONO_VERSION_PAIR"
fi
done
if [ "$opt_parallel" == "1" ]; then
echo "Waiting for all runs to finish"
wait
echo "Finished all runs"
fi
fi
for MONO_VERSION_PAIR in $MONO_VERSIONS; do
if [ "$opt_parallel" == "1" ]; then
runOne "$MONO_VERSION_PAIR" &
else
prepOne "$MONO_VERSION_PAIR"
runOne "$MONO_VERSION_PAIR"
fi
done
if [ "$opt_parallel" == "1" ]; then
echo "Waiting for all runs to finish"
wait
echo "Finished all runs"
fi
grep "<test-run" ../../_tests_results/**/*.xml | sed -r 's/.*?mono-([0-9.]+(-s)?).*?_([IU]).*?\.xml.*?failed="([0-9]*)".*/\1\t\3:\tfailed \4/g' | sort -V -t.

48
docs.sh Executable file
View File

@ -0,0 +1,48 @@
#!/bin/bash
set -e
FRAMEWORK="net6.0"
PLATFORM=$1
if [ "$PLATFORM" = "Windows" ]; then
RUNTIME="win-x64"
elif [ "$PLATFORM" = "Linux" ]; then
RUNTIME="linux-x64"
elif [ "$PLATFORM" = "Mac" ]; then
RUNTIME="osx-x64"
else
echo "Platform must be provided as first argument: Windows, Linux or Mac"
exit 1
fi
outputFolder='_output'
testPackageFolder='_tests'
rm -rf $outputFolder
rm -rf $testPackageFolder
slnFile=src/Sonarr.sln
platform=Posix
if [ "$PLATFORM" = "Windows" ]; then
application=Sonarr.Console.dll
else
application=Sonarr.dll
fi
dotnet clean $slnFile -c Debug
dotnet clean $slnFile -c Release
dotnet msbuild -restore $slnFile -p:Configuration=Debug -p:Platform=$platform -p:RuntimeIdentifiers=$RUNTIME -t:PublishAllRids
dotnet new tool-manifest
dotnet tool install --version 6.6.2 Swashbuckle.AspNetCore.Cli
dotnet tool run swagger tofile --output ./src/Sonarr.Api.V3/openapi.json "$outputFolder/$FRAMEWORK/$RUNTIME/$application" v3 &
sleep 45
kill %1
exit 0

View File

@ -1,25 +0,0 @@
{
"remove-empty-rulesets": true,
"always-semicolon": true,
"color-case": "lower",
"block-indent": " ",
"color-shorthand": false,
"element-case": "lower",
"eof-newline": true,
"leading-zero": true,
"quotes": "double",
"sort-order-fallback": "abc",
"space-before-colon": "",
"space-after-colon": " ",
"space-before-combinator": " ",
"space-after-combinator": " ",
"space-between-declarations": "\n",
"space-before-opening-brace": " ",
"space-after-opening-brace": "\n",
"space-after-selector-delimiter": " ",
"space-before-selector-delimiter": "",
"space-before-closing-brace": "\n",
"strip-spaces": true,
"tab-size": true,
"unitless-zero": false
}

View File

@ -1,335 +0,0 @@
{
"indent": {
"value": " ",
"FunctionExpression": 1,
"ArrayExpression": 1,
"ObjectExpression": 1
},
"lineBreak": {
"value": "\n",
"before": {
"ArrayPatternClosing": 0,
"ArrayPatternComma": 0,
"ArrayPatternOpening": 0,
"ArrowFunctionExpressionArrow": 0,
"ArrowFunctionExpressionClosingBrace": ">=1",
"ArrowFunctionExpressionOpeningBrace": 0,
"AssignmentExpression": ">=1",
"AssignmentOperator": 0,
"BlockStatement": 0,
"BreakKeyword": ">=1",
"CallExpression": -1,
"CallExpressionClosingParentheses": -1,
"CallExpressionOpeningParentheses": 0,
"CatchClosingBrace": ">=1",
"CatchKeyword": 0,
"CatchOpeningBrace": 0,
"ClassDeclaration": ">=1",
"ClassDeclarationClosingBrace": ">=1",
"ClassDeclarationOpeningBrace": 0,
"ConditionalExpression": ">=1",
"DeleteOperator": ">=1",
"DoWhileStatement": ">=1",
"DoWhileStatementClosingBrace": ">=1",
"DoWhileStatementOpeningBrace": 0,
"ElseIfStatement": 0,
"ElseIfStatementClosingBrace": ">=1",
"ElseIfStatementOpeningBrace": 0,
"ElseStatement": 0,
"ElseStatementClosingBrace": ">=1",
"ElseStatementOpeningBrace": 0,
"EmptyStatement": -1,
"EndOfFile": -1,
"FinallyClosingBrace": ">=1",
"FinallyKeyword": -1,
"FinallyOpeningBrace": 0,
"ForInStatement": ">=1",
"ForInStatementClosingBrace": ">=1",
"ForInStatementExpressionClosing": 0,
"ForInStatementExpressionOpening": 0,
"ForInStatementOpeningBrace": 0,
"ForStatement": ">=1",
"ForStatementClosingBrace": ">=1",
"ForStatementExpressionClosing": "<2",
"ForStatementExpressionOpening": 0,
"ForStatementOpeningBrace": 0,
"FunctionDeclaration": ">=1",
"FunctionDeclarationClosingBrace": ">=1",
"FunctionDeclarationOpeningBrace": 0,
"FunctionExpression": 0,
"FunctionExpressionClosingBrace": 1,
"FunctionExpressionOpeningBrace":0,
"IIFEClosingParentheses": 0,
"IfStatement": ">=1",
"IfStatementClosingBrace": ">=1",
"IfStatementOpeningBrace": 0,
"LogicalExpression": -1,
"MemberExpressionClosing": 0,
"MemberExpressionOpening": 0,
"MemberExpressionPeriod": -1,
"MethodDefinition": ">=1",
"ObjectExpressionClosingBrace": "<=1",
"ObjectPatternClosingBrace": 0,
"ObjectPatternComma": 0,
"ObjectPatternOpeningBrace": 0,
"ParameterDefault": 0,
"Property": "<=2",
"PropertyValue": 0,
"ReturnStatement": -1,
"SwitchClosingBrace": ">=1",
"SwitchOpeningBrace": 0,
"ThisExpression": -1,
"ThrowStatement": ">=1",
"TryClosingBrace": ">=1",
"TryKeyword": -1,
"TryOpeningBrace": 0,
"VariableDeclaration": ">=1",
"VariableDeclarationSemiColon": 0,
"VariableDeclarationWithoutInit": ">=1",
"VariableName": ">=1",
"VariableValue": 0,
"WhileStatement": ">=1",
"WhileStatementClosingBrace": ">=1",
"WhileStatementOpeningBrace": 0
},
"after": {
"ArrayPatternClosing": 0,
"ArrayPatternComma": 0,
"ArrayPatternOpening": 0,
"ArrowFunctionExpressionArrow": 0,
"ArrowFunctionExpressionClosingBrace": -1,
"ArrowFunctionExpressionOpeningBrace": ">=1",
"AssignmentExpression": ">=1",
"AssignmentOperator": 0,
"BlockStatement": 0,
"BreakKeyword": -1,
"CallExpression": -1,
"CallExpressionClosingParentheses": -1,
"CallExpressionOpeningParentheses": -1,
"CatchClosingBrace": ">=0",
"CatchKeyword": 0,
"CatchOpeningBrace": ">=1",
"ClassDeclaration": ">=1",
"ClassDeclarationClosingBrace": ">=1",
"ClassDeclarationOpeningBrace": ">=1",
"ConditionalExpression": ">=1",
"DeleteOperator": ">=1",
"DoWhileStatement": ">=1",
"DoWhileStatementClosingBrace": 0,
"DoWhileStatementOpeningBrace": ">=1",
"ElseIfStatement": ">=1",
"ElseIfStatementClosingBrace": ">=1",
"ElseIfStatementOpeningBrace": ">=1",
"ElseStatement": ">=1",
"ElseStatementClosingBrace": ">=1",
"ElseStatementOpeningBrace": ">=1",
"EmptyStatement": -1,
"FinallyClosingBrace": ">=1",
"FinallyKeyword": -1,
"FinallyOpeningBrace": ">=1",
"ForInStatement": ">=1",
"ForInStatementClosingBrace": ">=1",
"ForInStatementExpressionClosing": -1,
"ForInStatementExpressionOpening": "<2",
"ForInStatementOpeningBrace": ">=1",
"ForStatement": ">=1",
"ForStatementClosingBrace": ">=1",
"ForStatementExpressionClosing": -1,
"ForStatementExpressionOpening": "<2",
"ForStatementOpeningBrace": ">=1",
"FunctionDeclaration": ">=1",
"FunctionDeclarationClosingBrace": ">=1",
"FunctionDeclarationOpeningBrace": ">=1",
"FunctionExpression": 0,
"FunctionExpressionClosingBrace": -1,
"FunctionExpressionOpeningBrace": 1,
"IIFEOpeningParentheses": 0,
"IfStatement": ">=1",
"IfStatementClosingBrace": ">=1",
"IfStatementOpeningBrace": ">=1",
"LogicalExpression": -1,
"MemberExpressionClosing": 0,
"MemberExpressionOpening": 0,
"MemberExpressionPeriod": 0,
"MethodDefinition": ">=1",
"ObjectExpressionOpeningBrace": "<=1",
"ObjectPatternClosingBrace": 0,
"ObjectPatternComma": 0,
"ObjectPatternOpeningBrace": 0,
"ParameterDefault": 0,
"Property": -1,
"PropertyName": 0,
"ReturnStatement": -1,
"SwitchCaseColon": ">=1",
"SwitchClosingBrace": ">=1",
"SwitchOpeningBrace": ">=1",
"ThisExpression": 0,
"ThrowStatement": ">=1",
"TryClosingBrace": 0,
"TryKeyword": -1,
"TryOpeningBrace": ">=1",
"VariableDeclaration": ">=1",
"VariableDeclarationSemiColon": ">=1",
"VariableValue": -1,
"WhileStatement": ">=1",
"WhileStatementClosingBrace": ">=1",
"WhileStatementOpeningBrace": ">=1"
}
},
"whiteSpace": {
"value": " ",
"removeTrailing": 1,
"before": {
"ArgumentComma": 0,
"ArgumentList": 0,
"ArgumentListArrayExpression": 0,
"ArgumentListFunctionExpression": 1,
"ArgumentListObjectExpression": 0,
"ArrayExpressionClosing": 0,
"ArrayExpressionComma": 0,
"ArrayExpressionOpening": 1,
"AssignmentOperator": 1,
"BinaryExpression": 0,
"BinaryExpressionOperator": 1,
"BlockComment": 1,
"CallExpression": 1,
"CatchClosingBrace": 1,
"CatchKeyword": 1,
"CatchOpeningBrace": 1,
"CatchParameterList": 0,
"CommaOperator": 0,
"ConditionalExpressionAlternate": 1,
"ConditionalExpressionConsequent": 1,
"DoWhileStatementClosingBrace": 1,
"DoWhileStatementConditional": 1,
"DoWhileStatementOpeningBrace": 1,
"ElseIfStatementClosingBrace": 1,
"ElseIfStatementOpeningBrace": 1,
"ElseStatementClosingBrace": 1,
"ElseStatementOpeningBrace": 1,
"EmptyStatement": 0,
"ExpressionClosingParentheses": 0,
"FinallyClosingBrace": 1,
"FinallyKeyword": -1,
"FinallyOpeningBrace": 1,
"ForInStatement": 1,
"ForInStatementClosingBrace": 1,
"ForInStatementExpressionClosing": 0,
"ForInStatementExpressionOpening": 1,
"ForInStatementOpeningBrace": 1,
"ForStatement": 1,
"ForStatementClosingBrace": 1,
"ForStatementExpressionClosing": 0,
"ForStatementExpressionOpening": 1,
"ForStatementOpeningBrace": 1,
"ForStatementSemicolon": 0,
"FunctionDeclarationClosingBrace": 1,
"FunctionDeclarationOpeningBrace": 1,
"FunctionExpressionClosingBrace": 1,
"FunctionExpressionOpeningBrace": 1,
"IfStatementClosingBrace": 1,
"IfStatementConditionalClosing": 0,
"IfStatementConditionalOpening": 1,
"IfStatementOpeningBrace": 1,
"LineComment": 1,
"LogicalExpressionOperator": 1,
"MemberExpressionClosing": 0,
"ObjectExpressionClosingBrace": 1,
"ParameterComma": 0,
"ParameterList": 0,
"Property": 1,
"PropertyName": 1,
"PropertyValue": 1,
"SwitchDiscriminantClosing": 0,
"SwitchDiscriminantOpening": 1,
"ThrowKeyword": 1,
"TryClosingBrace": 1,
"TryKeyword": -1,
"TryOpeningBrace": 1,
"UnaryExpressionOperator": 0,
"VariableName": 1,
"VariableValue": 1,
"WhileStatementClosingBrace": 1,
"WhileStatementConditionalClosing": 0,
"WhileStatementConditionalOpening": 1,
"WhileStatementOpeningBrace": 1
},
"after": {
"ArgumentComma": 1,
"ArgumentList": 0,
"ArgumentListArrayExpression": 1,
"ArgumentListFunctionExpression": 1,
"ArgumentListObjectExpression": 0,
"ArrayExpressionClosing": 0,
"ArrayExpressionComma": 1,
"ArrayExpressionOpening": 0,
"AssignmentOperator": 1,
"BinaryExpression": 0,
"BinaryExpressionOperator": 1,
"BlockComment": 1,
"CallExpression": 0,
"CatchClosingBrace": 1,
"CatchKeyword": 1,
"CatchOpeningBrace": 1,
"CatchParameterList": 0,
"CommaOperator": 1,
"ConditionalExpressionConsequent": 1,
"ConditionalExpressionTest": 1,
"DoWhileStatementBody": 1,
"DoWhileStatementClosingBrace": 1,
"DoWhileStatementOpeningBrace": 1,
"ElseIfStatementClosingBrace": 1,
"ElseIfStatementOpeningBrace": 1,
"ElseStatementClosingBrace": 1,
"ElseStatementOpeningBrace": 1,
"EmptyStatement": 0,
"ExpressionOpeningParentheses": 0,
"FinallyClosingBrace": 1,
"FinallyKeyword": -1,
"FinallyOpeningBrace": 1,
"ForInStatement": 1,
"ForInStatementClosingBrace": 1,
"ForInStatementExpressionClosing": 1,
"ForInStatementExpressionOpening": 0,
"ForInStatementOpeningBrace": 1,
"ForStatement": 1,
"ForStatementClosingBrace": 1,
"ForStatementExpressionClosing": 1,
"ForStatementExpressionOpening": 0,
"ForStatementOpeningBrace": 1,
"ForStatementSemicolon": 1,
"FunctionDeclarationClosingBrace": 0,
"FunctionDeclarationOpeningBrace": 0,
"FunctionExpressionClosingBrace": 0,
"FunctionExpressionOpeningBrace": 0,
"FunctionName": 0,
"FunctionReservedWord": 0,
"IfStatementClosingBrace": 1,
"IfStatementConditionalClosing": 0,
"IfStatementConditionalOpening": 0,
"IfStatementOpeningBrace": 1,
"LogicalExpressionOperator": 1,
"MemberExpressionOpening": 0,
"ObjectExpressionClosingBrace": 0,
"ObjectExpressionOpeningBrace": 1,
"ParameterComma": 1,
"ParameterList": 0,
"PropertyName": 0,
"PropertyValue": 0,
"SwitchDiscriminantClosing": 1,
"SwitchDiscriminantOpening": 0,
"ThrowKeyword": 1,
"TryClosingBrace": 1,
"TryKeyword": -1,
"TryOpeningBrace": 1,
"UnaryExpressionOperator": 0,
"VariableName": 1,
"WhileStatementClosingBrace": 1,
"WhileStatementConditionalClosing": 1,
"WhileStatementConditionalOpening": 0,
"WhileStatementOpeningBrace": 1
}
}
}

View File

@ -1 +1,2 @@
**/JsLibraries/**
**/*.css.d.ts

View File

@ -1,293 +0,0 @@
{
"parser": "babel-eslint",
"env": {
"browser": true,
"commonjs": true,
"node": true,
"es6": true
},
"globals": {
"expect": false,
"chai": false,
"sinon": false
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"modules": true,
"impliedStrict": true
}
},
"plugins": [
"filenames",
"react"
],
"settings": {
"react": {
"version": "detect"
}
},
"rules": {
"filenames/match-exported": ["error"],
# ECMAScript 6
"arrow-body-style": [0],
"arrow-parens": ["error", "always"],
"arrow-spacing": ["error", { "before": true, "after": true }],
"constructor-super": "error",
"generator-star-spacing": "off",
"no-class-assign": "error",
"no-confusing-arrow": "error",
"no-const-assign": "error",
"no-dupe-class-members": "error",
"no-duplicate-imports": "error",
"no-new-symbol": "error",
"no-this-before-super": "error",
"no-useless-escape": "error",
"no-useless-computed-key": "error",
"no-useless-constructor": "error",
"no-var": "warn",
"object-shorthand": ["error", "properties"],
"prefer-arrow-callback": "error",
"prefer-const": "warn",
"prefer-reflect": "off",
"prefer-rest-params": "off",
"prefer-spread": "warn",
"prefer-template": "error",
"require-yield": "off",
"template-curly-spacing": ["error", "never"],
"yield-star-spacing": "off",
# Possible Errors
"comma-dangle": "error",
"no-cond-assign": "error",
"no-console": "off",
"no-constant-condition": "warn",
"no-control-regex": "error",
"no-debugger": "off",
"no-dupe-args": "error",
"no-dupe-keys": "error",
"no-duplicate-case": "error",
"no-empty": "warn",
"no-empty-character-class": "error",
"no-ex-assign": "error",
"no-extra-boolean-cast": "error",
"no-extra-parens": ["error", "functions"],
"no-extra-semi": "error",
"no-func-assign": "error",
"no-inner-declarations": "error",
"no-invalid-regexp": "error",
"no-irregular-whitespace": "error",
"no-negated-in-lhs": "error",
"no-obj-calls": "error",
"no-regex-spaces": "error",
"no-sparse-arrays": "error",
"no-unexpected-multiline": "error",
"no-unreachable": "warn",
"no-unsafe-finally": "error",
"use-isnan": "error",
"valid-jsdoc": "off",
"valid-typeof": "error",
# Best Practices
"accessor-pairs": "off",
"array-callback-return": "warn",
"block-scoped-var": "warn",
"consistent-return": "off",
"curly": "error",
"default-case": "error",
"dot-location": ["error", "property"],
"dot-notation": "error",
"eqeqeq": ["error", "smart"],
"guard-for-in": "error",
"no-alert": "warn",
"no-caller": "error",
"no-case-declarations": "error",
"no-div-regex": "error",
"no-else-return": "error",
"no-empty-function": ["error", {"allow": ["arrowFunctions"]}],
"no-empty-pattern": "error",
"no-eval": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-fallthrough": "error",
"no-floating-decimal": "error",
"no-implicit-coercion": ["error", {
"boolean": false,
"number": true,
"string": true,
"allow": [/* "!!", "~", "*", "+" */]
}],
"no-implicit-globals": "error",
"no-implied-eval": "error",
"no-invalid-this": "off",
"no-iterator": "error",
"no-labels": "error",
"no-lone-blocks": "error",
"no-loop-func": "error",
"no-magic-numbers": ["off", {"ignoreArrayIndexes": true, "ignore": [0, 1] }],
"no-multi-spaces": "error",
"no-multi-str": "error",
"no-native-reassign": ["error", {"exceptions": ["console"]}],
"no-new": "off",
"no-new-func": "error",
"no-new-wrappers": "error",
"no-octal": "error",
"no-octal-escape": "error",
"no-param-reassign": "off",
"no-process-env": "off",
"no-proto": "error",
"no-redeclare": "error",
"no-return-assign": "warn",
"no-script-url": "error",
"no-self-assign": "error",
"no-self-compare": "error",
"no-sequences": "error",
"no-throw-literal": "error",
"no-unmodified-loop-condition": "error",
"no-unused-expressions": "error",
"no-unused-labels": "error",
"no-useless-call": "error",
"no-useless-concat": "error",
"no-void": "error",
"no-warning-comments": "off",
"no-with": "error",
"radix": ["error", "as-needed"],
"vars-on-top": "off",
"wrap-iife": ["error", "inside"],
"yoda": "error",
# Strict Mode
"strict": ["error", "never"],
# Variables
"init-declarations": ["error", "always"],
"no-catch-shadow": "error",
"no-delete-var": "error",
"no-label-var": "error",
"no-restricted-globals": "off",
"no-shadow": "error",
"no-shadow-restricted-names": "error",
"no-undef": "error",
"no-undef-init": "off",
"no-undefined": "off",
"no-unused-vars": ["error", { "args": "none", "ignoreRestSiblings": true }],
"no-use-before-define": "error",
# Node.js and CommonJS
"callback-return": "warn",
"global-require": "error",
"handle-callback-err": "warn",
"no-mixed-requires": "error",
"no-new-require": "error",
"no-path-concat": "error",
"no-process-exit": "error",
# Stylistic Issues
"array-bracket-spacing": ["error", "never"],
"block-spacing": ["error", "always"],
"brace-style": ["error", "1tbs", { "allowSingleLine": false }],
"camelcase": "off",
"comma-spacing": ["error", {"before": false, "after": true}],
"comma-style": ["error", "last"],
"computed-property-spacing": ["error", "never"],
"consistent-this": ["error", "self"],
"eol-last": "error",
"func-names": "off",
"func-style": ["error", "declaration"],
"indent": ["error", 2, {"SwitchCase": 1}],
"key-spacing": ["error", {"beforeColon": false, "afterColon": true}],
"keyword-spacing": ["error", { "before": true, "after": true}],
"lines-around-comment": ["error", { "beforeBlockComment": true, "afterBlockComment": false }],
"max-depth": ["error", {"maximum": 5}],
"max-nested-callbacks": ["error", 4],
"max-statements": "off",
"max-statements-per-line": ["error", { "max": 1 }],
"new-cap": ["error", {"capIsNewExceptions": ["$.Deferred", "DragDropContext", "DragLayer", "DragSource", "DropTarget"]}],
"new-parens": "error",
"newline-after-var": "off",
"newline-before-return": "off",
"newline-per-chained-call": "off",
"no-array-constructor": "error",
"no-bitwise": "error",
"no-continue": "error",
"no-inline-comments": "off",
"no-lonely-if": "warn",
"no-mixed-spaces-and-tabs": "error",
"no-multiple-empty-lines": ["error", { "max": 1 }],
"no-negated-condition": "warn",
"no-nested-ternary": "error",
"no-new-object": "error",
"no-plusplus": "off",
"no-restricted-syntax": "off",
"no-spaced-func": "error",
"no-ternary": "off",
"no-trailing-spaces": "error",
"no-underscore-dangle": ["error", { "allowAfterThis": true }],
"no-unneeded-ternary": "error",
"no-whitespace-before-property": "error",
"object-curly-spacing": ["error", "always"],
"one-var": ["error", "never"],
"one-var-declaration-per-line": ["error", "always"],
"operator-assignment": ["off", "never"],
"operator-linebreak": ["error", "after"],
"quote-props": ["error", "as-needed"],
"quotes": ["error", "single"],
"require-jsdoc": "off",
"semi": "error",
"semi-spacing": ["error", { "before": false, "after": true }],
"sort-vars": "off",
"space-before-blocks": ["error", "always"],
"space-before-function-paren": ["error", "never"],
"space-in-parens": "off",
"space-infix-ops": "off",
"space-unary-ops": "off",
"spaced-comment": "error",
"wrap-regex": "error",
# React
"react/jsx-boolean-value": [2, "always"],
"react/jsx-uses-vars": 2,
"react/jsx-closing-bracket-location": 2,
"react/jsx-tag-spacing": ["error"],
"react/jsx-curly-spacing": [2, "never"],
"react/jsx-equals-spacing": [2, "never"],
"react/jsx-indent-props": [2, 2],
"react/jsx-indent": [2, 2],
"react/jsx-key": 2,
"react/jsx-no-bind": [2, { "allowArrowFunctions": true }],
"react/jsx-no-duplicate-props": [2, { "ignoreCase": true }],
"react/jsx-max-props-per-line": [2, { "maximum": 2 }],
"react/jsx-handler-names": [2, { "eventHandlerPrefix": "(on|dispatch)", "eventHandlerPropPrefix": "on" }],
"react/jsx-no-undef": 2,
"react/jsx-pascal-case": 2,
"react/jsx-uses-react": 2,
// Explicitly disabled in case we want to enable them again
"react/no-did-mount-set-state": 0,
"react/no-did-update-set-state": 0,
"react/no-direct-mutation-state": 2,
"react/no-multi-comp": [2, { "ignoreStateless": true }],
"react/no-unknown-property": 2,
"react/prefer-es6-class": 2,
"react/prop-types": 2,
"react/react-in-jsx-scope": 2,
"react/self-closing-comp": 2,
"react/sort-comp": 2,
"react/jsx-wrap-multilines": 2
}
}

432
frontend/.eslintrc.js Normal file
View File

@ -0,0 +1,432 @@
// eslint-disable-next-line @typescript-eslint/no-var-requires
const fs = require('fs');
// eslint-disable-next-line @typescript-eslint/no-var-requires
const path = require('path');
// eslint-disable-next-line @typescript-eslint/no-var-requires
const typescriptEslintRecommended = require('@typescript-eslint/eslint-plugin').configs.recommended;
const frontendFolder = __dirname;
const dirs = fs
.readdirSync(path.join(frontendFolder, 'src'), { withFileTypes: true })
.filter((dirent) => dirent.isDirectory())
.map((dirent) => dirent.name)
.join('|');
module.exports = {
root: true,
parser: '@babel/eslint-parser',
env: {
browser: true,
commonjs: true,
node: true,
es6: true
},
globals: {
expect: false,
chai: false,
sinon: false,
JSX: true
},
parserOptions: {
ecmaVersion: 6,
sourceType: 'module',
babelOptions: {
configFile: `${frontendFolder}/babel.config.js`
},
ecmaFeatures: {
modules: true,
impliedStrict: true
}
},
plugins: [
'filenames',
'react',
'react-hooks',
'simple-import-sort',
'import',
'@typescript-eslint',
'prettier'
],
settings: {
react: {
version: 'detect'
}
},
rules: {
'filenames/match-exported': ['error'],
// ECMAScript 6
'arrow-body-style': [0],
'arrow-parens': ['error', 'always'],
'arrow-spacing': ['error', { before: true, after: true }],
'constructor-super': 'error',
'generator-star-spacing': 'off',
'no-class-assign': 'error',
'no-confusing-arrow': 'error',
'no-const-assign': 'error',
'no-dupe-class-members': 'error',
'no-duplicate-imports': 'error',
'no-new-symbol': 'error',
'no-this-before-super': 'error',
'no-useless-escape': 'error',
'no-useless-computed-key': 'error',
'no-useless-constructor': 'error',
'no-var': 'warn',
'object-shorthand': ['error', 'properties'],
'prefer-arrow-callback': 'error',
'prefer-const': 'warn',
'prefer-reflect': 'off',
'prefer-rest-params': 'off',
'prefer-spread': 'warn',
'prefer-template': 'error',
'require-yield': 'off',
'template-curly-spacing': ['error', 'never'],
'yield-star-spacing': 'off',
// Possible Errors
'comma-dangle': 'error',
'no-cond-assign': 'error',
'no-console': 'off',
'no-constant-condition': 'warn',
'no-control-regex': 'error',
'no-debugger': 'off',
'no-dupe-args': 'error',
'no-dupe-keys': 'error',
'no-duplicate-case': 'error',
'no-empty': 'warn',
'no-empty-character-class': 'error',
'no-ex-assign': 'error',
'no-extra-boolean-cast': 'error',
'no-extra-parens': ['error', 'functions'],
'no-extra-semi': 'error',
'no-func-assign': 'error',
'no-inner-declarations': 'error',
'no-invalid-regexp': 'error',
'no-irregular-whitespace': 'error',
'no-negated-in-lhs': 'error',
'no-obj-calls': 'error',
'no-regex-spaces': 'error',
'no-sparse-arrays': 'error',
'no-unexpected-multiline': 'error',
'no-unreachable': 'warn',
'no-unsafe-finally': 'error',
'use-isnan': 'error',
'valid-jsdoc': 'off',
'valid-typeof': 'error',
// Best Practices
'accessor-pairs': 'off',
'array-callback-return': 'warn',
'block-scoped-var': 'warn',
'consistent-return': 'off',
curly: 'error',
'default-case': 'error',
'dot-location': ['error', 'property'],
'dot-notation': 'error',
eqeqeq: ['error', 'smart'],
'guard-for-in': 'error',
'no-alert': 'warn',
'no-caller': 'error',
'no-case-declarations': 'error',
'no-div-regex': 'error',
'no-else-return': 'error',
'no-empty-function': ['error', { allow: ['arrowFunctions'] }],
'no-empty-pattern': 'error',
'no-eval': 'error',
'no-extend-native': 'error',
'no-extra-bind': 'error',
'no-fallthrough': 'error',
'no-floating-decimal': 'error',
'no-implicit-coercion': ['error', {
boolean: false,
number: true,
string: true,
allow: [/* "!!", "~", "*", "+" */]
}],
'no-implicit-globals': 'error',
'no-implied-eval': 'error',
'no-invalid-this': 'off',
'no-iterator': 'error',
'no-labels': 'error',
'no-lone-blocks': 'error',
'no-loop-func': 'error',
'no-magic-numbers': ['off', { ignoreArrayIndexes: true, ignore: [0, 1] }],
'no-multi-spaces': 'error',
'no-multi-str': 'error',
'no-native-reassign': ['error', { exceptions: ['console'] }],
'no-new': 'off',
'no-new-func': 'error',
'no-new-wrappers': 'error',
'no-octal': 'error',
'no-octal-escape': 'error',
'no-param-reassign': 'off',
'no-process-env': 'off',
'no-proto': 'error',
'no-redeclare': 'error',
'no-return-assign': 'warn',
'no-script-url': 'error',
'no-self-assign': 'error',
'no-self-compare': 'error',
'no-sequences': 'error',
'no-throw-literal': 'error',
'no-unmodified-loop-condition': 'error',
'no-unused-expressions': 'error',
'no-unused-labels': 'error',
'no-useless-call': 'error',
'no-useless-concat': 'error',
'no-void': 'error',
'no-warning-comments': 'off',
'no-with': 'error',
radix: ['error', 'as-needed'],
'vars-on-top': 'off',
'wrap-iife': ['error', 'inside'],
yoda: 'error',
// Strict Mode
strict: ['error', 'never'],
// Variables
'init-declarations': ['error', 'always'],
'no-catch-shadow': 'error',
'no-delete-var': 'error',
'no-label-var': 'error',
'no-restricted-globals': 'off',
'no-shadow': 'error',
'no-shadow-restricted-names': 'error',
'no-undef': 'error',
'no-undef-init': 'off',
'no-undefined': 'off',
'no-unused-vars': ['error', { args: 'none', ignoreRestSiblings: true }],
'no-use-before-define': 'error',
// Node.js and CommonJS
'callback-return': 'warn',
'global-require': 'error',
'handle-callback-err': 'warn',
'no-mixed-requires': 'error',
'no-new-require': 'error',
'no-path-concat': 'error',
'no-process-exit': 'error',
// Stylistic Issues
'array-bracket-spacing': ['error', 'never'],
'block-spacing': ['error', 'always'],
'brace-style': ['error', '1tbs', { allowSingleLine: false }],
camelcase: 'off',
'comma-spacing': ['error', { before: false, after: true }],
'comma-style': ['error', 'last'],
'computed-property-spacing': ['error', 'never'],
'consistent-this': ['error', 'self'],
'eol-last': 'error',
'func-names': 'off',
'func-style': ['error', 'declaration', { allowArrowFunctions: true }],
indent: ['error', 2, { SwitchCase: 1 }],
'key-spacing': ['error', { beforeColon: false, afterColon: true }],
'keyword-spacing': ['error', { before: true, after: true }],
'lines-around-comment': ['error', { beforeBlockComment: true, afterBlockComment: false }],
'max-depth': ['error', { maximum: 5 }],
'max-nested-callbacks': ['error', 4],
'max-statements': 'off',
'max-statements-per-line': ['error', { max: 1 }],
'new-cap': ['error', { capIsNewExceptions: ['$.Deferred', 'DragDropContext', 'DragLayer', 'DragSource', 'DropTarget'] }],
'new-parens': 'error',
'newline-after-var': 'off',
'newline-before-return': 'off',
'newline-per-chained-call': 'off',
'no-array-constructor': 'error',
'no-bitwise': 'error',
'no-continue': 'error',
'no-inline-comments': 'off',
'no-lonely-if': 'warn',
'no-mixed-spaces-and-tabs': 'error',
'no-multiple-empty-lines': ['error', { max: 1 }],
'no-negated-condition': 'warn',
'no-nested-ternary': 'error',
'no-new-object': 'error',
'no-plusplus': 'off',
'no-restricted-syntax': 'off',
'no-spaced-func': 'error',
'no-ternary': 'off',
'no-trailing-spaces': 'error',
'no-underscore-dangle': ['error', { allowAfterThis: true }],
'no-unneeded-ternary': 'error',
'no-whitespace-before-property': 'error',
'object-curly-spacing': ['error', 'always'],
'one-var': ['error', 'never'],
'one-var-declaration-per-line': ['error', 'always'],
'operator-assignment': ['off', 'never'],
'operator-linebreak': ['error', 'after'],
'quote-props': ['error', 'as-needed'],
quotes: ['error', 'single'],
'require-jsdoc': 'off',
semi: 'error',
'semi-spacing': ['error', { before: false, after: true }],
'sort-vars': 'off',
'space-before-blocks': ['error', 'always'],
'space-before-function-paren': ['error', 'never'],
'space-in-parens': 'off',
'space-infix-ops': 'off',
'space-unary-ops': 'off',
'spaced-comment': 'error',
'wrap-regex': 'error',
// ImportSort
'simple-import-sort/imports': 'error',
'import/newline-after-import': 'error',
// React
'react/jsx-boolean-value': [2, 'always'],
'react/jsx-uses-vars': 2,
'react/jsx-closing-bracket-location': 2,
'react/jsx-tag-spacing': ['error'],
'react/jsx-curly-spacing': [2, 'never'],
'react/jsx-equals-spacing': [2, 'never'],
'react/jsx-indent-props': [2, 2],
'react/jsx-indent': [2, 2, { indentLogicalExpressions: true }],
'react/jsx-key': 2,
'react/jsx-no-bind': [2, { allowArrowFunctions: true }],
'react/jsx-no-duplicate-props': [2, { ignoreCase: true }],
'react/jsx-max-props-per-line': [2, { maximum: 2 }],
'react/jsx-handler-names': [2, { eventHandlerPrefix: '(on|dispatch)', eventHandlerPropPrefix: 'on' }],
'react/jsx-no-undef': 2,
'react/jsx-pascal-case': 2,
'react/jsx-uses-react': 2,
// Explicitly disabled in case we want to enable them again
'react/no-did-mount-set-state': 0,
'react/no-did-update-set-state': 0,
'react/no-direct-mutation-state': 2,
'react/no-multi-comp': [2, { ignoreStateless: true }],
'react/no-unknown-property': 2,
'react/prefer-es6-class': 2,
'react/prop-types': 2,
'react/react-in-jsx-scope': 2,
'react/self-closing-comp': 2,
'react/sort-comp': 2,
'react/jsx-wrap-multilines': 2,
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'error'
},
overrides: [
{
files: [
'*.js'
],
rules: {
'simple-import-sort/imports': [
'error',
{
groups: [
// Packages
// Absolute Paths
// Relative Paths
// Css
['^@?\\w', `^(${dirs})(/.*|$)`, '^\\.', '^\\..*css$']
]
}
]
}
},
{
files: [
'*.ts',
'*.tsx'
],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json'
},
extends: [
'prettier'
],
rules: Object.assign(typescriptEslintRecommended.rules, {
'@typescript-eslint/no-unused-vars': [
'error',
{
args: 'after-used',
argsIgnorePattern: '^_',
ignoreRestSiblings: true
}
],
'@typescript-eslint/explicit-function-return-type': 'off',
'no-shadow': 'off',
'prettier/prettier': 'error',
'simple-import-sort/imports': [
'error',
{
groups: [
// Packages
// Absolute Paths
// Relative Paths
// Css
['^@?\\w', `^(${dirs})(/.*|$)`, '^\\.', '^\\..*css$']
]
}
],
// React Hooks
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'error',
// React
'react/function-component-definition': 'error',
'react/hook-use-state': 'error',
'react/jsx-boolean-value': ['error', 'always'],
'react/jsx-curly-brace-presence': [
'error',
{ props: 'never', children: 'never' }
],
'react/jsx-fragments': 'error',
'react/jsx-handler-names': [
'error',
{
eventHandlerPrefix: 'on',
eventHandlerPropPrefix: 'on'
}
],
'react/jsx-no-bind': ['error', { ignoreRefs: true }],
'react/jsx-no-useless-fragment': ['error', { allowExpressions: true }],
'react/jsx-pascal-case': ['error', { allowAllCaps: true }],
'react/jsx-sort-props': [
'error',
{
callbacksLast: true,
noSortAlphabetically: true,
reservedFirst: true
}
],
'react/prop-types': 'off',
'react/self-closing-comp': 'error'
})
},
{
files: [
'*.css.d.ts'
],
rules: {
'filenames/match-exported': 'off',
'init-declarations': 'off',
'prettier/prettier': 'off'
}
}
]
};

View File

@ -1,12 +0,0 @@
{
"js": {
"indent_size": 2,
"indent_char": " ",
"indent_level": 2,
"indent_with_tabs": false,
"preserve_newlines": true,
"brace_style": "collapse",
"max_preserve_newlines": 2,
"jslint_happy": true
}
}

10
frontend/.prettierignore Normal file
View File

@ -0,0 +1,10 @@
# Ignore everything recursively
*
# But not the .ts files
!*.ts*
*css.d.ts
# Check subdirectories too
!*/

View File

@ -0,0 +1,6 @@
{
"arrowParens": "always",
"endOfLine": "auto",
"singleQuote": true,
"trailingComma": "es5"
}

View File

@ -1,12 +1,12 @@
{
"plugins": [
"stylelint-order"
],
"ignoreFiles": [
"frontend/src/Styles/scaffolding.css",
"**/*.js"
],
"rules": {
"plugins": [
"stylelint-order"
],
"ignoreFiles": [
"frontend/src/Styles/scaffolding.css",
"**/*.js"
],
"rules": {
"at-rule-empty-line-before": [
"always",
{
@ -15,96 +15,46 @@
]
}
],
"at-rule-name-case": "lower",
"at-rule-name-newline-after": "always-multi-line",
"at-rule-name-space-after": "always",
"at-rule-no-unknown": [
true,
{
"ignoreAtRules": [
"/^add\\-mixin$/",
"/^define\\-mixin$/"
]
]
}
],
"at-rule-no-vendor-prefix": true,
"at-rule-semicolon-newline-after": "always",
"at-rule-semicolon-space-before": "never",
"block-closing-brace-empty-line-before": "never",
"block-closing-brace-newline-after": "always",
"block-closing-brace-newline-before": "always",
"block-closing-brace-space-after": "always-single-line",
"block-closing-brace-space-before": "always-single-line",
"block-no-empty": true,
"block-opening-brace-newline-after": "always",
"block-opening-brace-newline-before": "never-single-line",
"block-opening-brace-space-after": "always-single-line",
"block-opening-brace-space-before": "always",
"color-hex-case": "lower",
"color-hex-length": "short",
"color-named": "never",
"color-no-invalid-hex": true,
"comment-whitespace-inside": "always",
"declaration-bang-space-after": "never",
"declaration-bang-space-before": "always",
"declaration-block-no-duplicate-properties": [
true,
{
"ignoreProperties": [
"composes"
"composes"
]
}
],
"declaration-block-no-redundant-longhand-properties": true,
"declaration-block-no-shorthand-property-overrides": true,
"declaration-block-semicolon-newline-after": "always",
"declaration-block-semicolon-newline-before": "never-multi-line",
"declaration-block-semicolon-space-before": "never",
"declaration-block-single-line-max-declarations": 1,
"declaration-block-trailing-semicolon": "always",
"declaration-colon-space-after": "always",
"declaration-colon-space-before": "never",
"font-family-name-quotes": "always-unless-keyword",
"function-calc-no-unspaced-operator": true,
"function-comma-newline-after": "never-multi-line",
"function-comma-newline-before": "never-multi-line",
"function-comma-space-after": "always",
"function-comma-space-before": "never",
"function-linear-gradient-no-nonstandard-direction": true,
"function-name-case": "lower",
"function-parentheses-newline-inside": "never-multi-line",
"function-parentheses-space-inside": "never",
"function-url-quotes": "always",
"function-url-scheme-blacklist": [
"function-url-scheme-disallowed-list": [
"data"
],
"function-whitespace-after": "always",
"indentation": 2,
"keyframe-declaration-no-important": true,
"length-zero-no-unit": true,
"max-empty-lines": 1,
"max-line-length": [
100,
{
"ignore": [
"non-comments"
]
}
],
"max-nesting-depth": 2,
"media-feature-colon-space-after": "always",
"media-feature-colon-space-before": "never",
"media-feature-name-case": "lower",
"media-feature-name-no-vendor-prefix": true,
"media-feature-range-operator-space-after": "always",
"media-feature-range-operator-space-before": "always",
"no-empty-source": true,
"no-eol-whitespace": true,
"no-extra-semicolons": true,
"no-invalid-double-slash-comments": true,
"no-missing-end-of-source-newline": true,
"number-leading-zero": "always",
"number-no-trailing-zeros": true,
"order/order": [
"custom-properties",
"dollar-variables",
@ -132,6 +82,7 @@
"right",
"bottom",
"left",
"inset",
"z-index",
"display",
"visibility",
@ -343,54 +294,33 @@
]
}
],
"property-case": "lower",
"property-no-vendor-prefix": true,
"rule-empty-line-before": [
"always",
{
"except": [
"first-nested"
"first-nested"
],
"ignore": [
"after-comment"
"after-comment"
]
}
],
"selector-attribute-brackets-space-inside": "never",
"selector-attribute-operator-space-after": "never",
"selector-attribute-operator-space-before": "never",
"selector-attribute-quotes": "never",
"selector-class-pattern": "^[A-Za-z0-9]+$",
"selector-combinator-space-after": "always",
"selector-combinator-space-before": "always",
"selector-descendant-combinator-no-non-space": true,
"selector-list-comma-newline-after": "always",
"selector-list-comma-newline-before": "never-multi-line",
"selector-list-comma-space-before": "never",
"selector-max-attribute": 0,
"selector-max-class": 3,
"selector-max-compound-selectors": 3,
"selector-max-empty-lines": 0,
"selector-max-id": 0,
"selector-max-universal": 0,
"selector-pseudo-class-case": "lower",
"selector-pseudo-class-parentheses-space-inside": "never",
"selector-pseudo-element-case": "lower",
"selector-pseudo-element-colon-notation": "double",
"selector-pseudo-element-no-unknown": true,
"selector-type-case": "lower",
"selector-type-no-unknown": true,
"shorthand-property-no-redundant-values": true,
"string-no-newline": true,
"string-quotes": "single",
"time-min-milliseconds": 100,
"unit-case": "lower",
"unit-no-unknown": true,
"value-list-comma-newline-after": "never-multi-line",
"value-list-comma-newline-before": "never-multi-line",
"value-list-comma-space-after": "always",
"value-list-comma-space-before": "never",
"value-list-max-empty-lines": 0,
"value-no-vendor-prefix": true
}
}
}

7
frontend/.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
"recommendations": [
"stylelint.vscode-stylelint",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}

23
frontend/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,23 @@
// Place your settings in this file to overwrite default and user settings.
{
"files.insertFinalNewline": true,
"files.exclude": {
"**/node_modules": true,
"**/*.d.css": true
},
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll": true
},
"typescript.preferences.quoteStyle": "single",
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
}

View File

@ -2,22 +2,25 @@ const loose = true;
module.exports = {
plugins: [
'@babel/plugin-transform-logical-assignment-operators',
// Stage 1
'@babel/plugin-proposal-export-default-from',
['@babel/plugin-proposal-optional-chaining', { loose }],
['@babel/plugin-proposal-nullish-coalescing-operator', { loose }],
['@babel/plugin-transform-optional-chaining', { loose }],
['@babel/plugin-transform-nullish-coalescing-operator', { loose }],
// Stage 2
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-transform-export-namespace-from',
// Stage 3
['@babel/plugin-proposal-class-properties', { loose }],
['@babel/plugin-transform-class-properties', { loose }],
'@babel/plugin-syntax-dynamic-import'
],
env: {
development: {
presets: [
['@babel/preset-react', { development: true }]
['@babel/preset-react', { development: true }],
'@babel/preset-typescript'
],
plugins: [
'babel-plugin-inline-classnames'
@ -25,7 +28,8 @@ module.exports = {
},
production: {
presets: [
'@babel/preset-react'
'@babel/preset-react',
'@babel/preset-typescript'
],
plugins: [
'babel-plugin-transform-react-remove-prop-types'

View File

@ -0,0 +1,284 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require('path');
const webpack = require('webpack');
const FileManagerPlugin = require('filemanager-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const LiveReloadPlugin = require('webpack-livereload-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
module.exports = (env) => {
const uiFolder = 'UI';
const frontendFolder = path.join(__dirname, '..');
const srcFolder = path.join(frontendFolder, 'src');
const isProduction = !!env.production;
const isProfiling = isProduction && !!env.profile;
const inlineWebWorkers = 'no-fallback';
const distFolder = path.resolve(frontendFolder, '..', '_output', uiFolder);
console.log('Source Folder:', srcFolder);
console.log('Output Folder:', distFolder);
console.log('isProduction:', isProduction);
console.log('isProfiling:', isProfiling);
const config = {
mode: isProduction ? 'production' : 'development',
devtool: isProduction ? 'source-map' : 'eval-source-map',
stats: {
children: false
},
watchOptions: {
ignored: /node_modules/
},
entry: {
index: 'index.ts'
},
resolve: {
extensions: [
'.ts',
'.tsx',
'.js'
],
modules: [
srcFolder,
path.join(srcFolder, 'Shims'),
'node_modules'
],
alias: {
jquery: 'jquery/dist/jquery.min',
'react-middle-truncate': 'react-middle-truncate/lib/react-middle-truncate'
},
fallback: {
buffer: false,
http: false,
https: false,
url: false,
util: false,
net: false
}
},
output: {
path: distFolder,
publicPath: '/',
filename: isProduction ? '[name]-[contenthash].js' : '[name].js',
sourceMapFilename: '[file].map'
},
optimization: {
moduleIds: 'deterministic',
chunkIds: isProduction ? 'deterministic' : 'named'
},
performance: {
hints: false
},
experiments: {
topLevelAwait: true
},
plugins: [
new webpack.DefinePlugin({
__DEV__: !isProduction,
'process.env.NODE_ENV': isProduction ? JSON.stringify('production') : JSON.stringify('development')
}),
new MiniCssExtractPlugin({
filename: 'Content/styles.css',
chunkFilename: isProduction ? 'Content/[id]-[chunkhash].css' : 'Content/[id].css'
}),
new HtmlWebpackPlugin({
template: 'frontend/src/index.ejs',
filename: 'index.html',
publicPath: '/',
inject: false
}),
new FileManagerPlugin({
events: {
onEnd: {
copy: [
// HTML
{
source: 'frontend/src/*.html',
destination: distFolder
},
// Fonts
{
source: 'frontend/src/Content/Fonts/*.*',
destination: path.join(distFolder, 'Content/Fonts')
},
// Icon Images
{
source: 'frontend/src/Content/Images/Icons/*.*',
destination: path.join(distFolder, 'Content/Images/Icons')
},
// Images
{
source: 'frontend/src/Content/Images/*.*',
destination: path.join(distFolder, 'Content/Images')
},
// Robots
{
source: 'frontend/src/Content/robots.txt',
destination: path.join(distFolder, 'Content/robots.txt')
}
]
}
}
}),
new ForkTsCheckerWebpackPlugin(),
new LiveReloadPlugin()
],
resolveLoader: {
modules: [
'node_modules',
'frontend/build/webpack/'
]
},
module: {
rules: [
{
test: /\.worker\.js$/,
use: {
loader: 'worker-loader',
options: {
filename: '[name].js',
inline: inlineWebWorkers
}
}
},
{
test: [/\.jsx?$/, /\.tsx?$/],
exclude: /(node_modules|JsLibraries)/,
use: [
{
loader: 'babel-loader',
options: {
configFile: `${frontendFolder}/babel.config.js`,
envName: isProduction ? 'production' : 'development',
presets: [
[
'@babel/preset-env',
{
modules: false,
loose: true,
debug: false,
useBuiltIns: 'entry',
corejs: 3
}
]
]
}
}
]
},
// CSS Modules
{
test: /\.css$/,
exclude: /(node_modules|globals.css)/,
use: [
{ loader: MiniCssExtractPlugin.loader },
{ loader: 'css-modules-typescript-loader' },
{
loader: 'css-loader',
options: {
importLoaders: 1,
modules: {
localIdentName: isProduction ? '[name]/[local]/[hash:base64:5]' : '[name]/[local]'
}
}
},
{
loader: 'postcss-loader',
options: {
postcssOptions: {
config: 'frontend/postcss.config.js'
}
}
}
]
},
// Global styles
{
test: /\.css$/,
include: /(node_modules|globals.css)/,
use: [
'style-loader',
{
loader: 'css-loader'
}
]
},
// Fonts
{
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
use: [
{
loader: 'url-loader',
options: {
limit: 10240,
mimetype: 'application/font-woff',
emitFile: false,
name: 'Content/Fonts/[name].[ext]'
}
}
]
},
{
test: /\.(ttf|eot|eot?#iefix|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
use: [
{
loader: 'file-loader',
options: {
emitFile: false,
name: 'Content/Fonts/[name].[ext]'
}
}
]
}
]
}
};
if (isProfiling) {
config.resolve.alias['react-dom$'] = 'react-dom/profiling';
config.resolve.alias['scheduler/tracing'] = 'scheduler/tracing-profiling';
config.optimization = {
minimize: true,
minimizer: [
new TerserPlugin({
terserOptions: {
sourceMap: true, // Must be set to true if using source-maps in production
mangle: false,
keep_classnames: true,
keep_fnames: true
}
})
]
};
}
return config;
};

View File

@ -1,3 +1,4 @@
// eslint-disable-next-line filenames/match-exported
const loaderUtils = require('loader-utils');
module.exports = function cssVariablesLoader(source) {

View File

@ -1,18 +0,0 @@
const gulp = require('gulp');
require('./clean');
require('./copy');
require('./webpack');
gulp.task('build',
gulp.series('clean',
gulp.parallel(
'webpack',
'copyHtml',
'copyFonts',
'copyImages',
'copyJs'
)
)
);

View File

@ -1,8 +0,0 @@
const gulp = require('gulp');
const del = require('del');
const paths = require('./helpers/paths');
gulp.task('clean', () => {
return del([paths.dest.root]);
});

View File

@ -1,45 +0,0 @@
const path = require('path');
const gulp = require('gulp');
const print = require('gulp-print').default;
const cache = require('gulp-cached');
const livereload = require('gulp-livereload');
const paths = require('./helpers/paths.js');
gulp.task('copyJs', () => {
return gulp.src(
[
path.join(paths.src.root, 'polyfills.js')
], { base: paths.src.root })
.pipe(cache('copyJs'))
.pipe(print())
.pipe(gulp.dest(paths.dest.root))
.pipe(livereload());
});
gulp.task('copyHtml', () => {
return gulp.src(paths.src.html, { base: paths.src.root })
.pipe(cache('copyHtml'))
.pipe(print())
.pipe(gulp.dest(paths.dest.root))
.pipe(livereload());
});
gulp.task('copyFonts', () => {
return gulp.src(
path.join(paths.src.fonts, '**', '*.*'), { base: paths.src.root }
)
.pipe(cache('copyFonts'))
.pipe(print())
.pipe(gulp.dest(paths.dest.root))
.pipe(livereload());
});
gulp.task('copyImages', () => {
return gulp.src(
path.join(paths.src.images, '**', '*.*'), { base: paths.src.root }
)
.pipe(cache('copyImages'))
.pipe(print())
.pipe(gulp.dest(paths.dest.root))
.pipe(livereload());
});

View File

@ -1,5 +0,0 @@
require('./build.js');
require('./clean.js');
require('./copy.js');
require('./watch.js');
require('./webpack.js');

View File

@ -1,6 +0,0 @@
const colors = require('ansi-colors');
module.exports = function errorHandler(error) {
console.log(colors.red(`Error (${error.plugin}): ${error.message}`));
this.emit('end');
};

View File

@ -1,23 +0,0 @@
const root = './frontend/src';
const paths = {
src: {
root,
html: `${root}/*.html`,
scripts: `${root}/**/*.js`,
content: `${root}/Content/`,
fonts: `${root}/Content/Fonts/`,
images: `${root}/Content/Images/`,
exclude: {
libs: `!${root}/JsLibraries/**`
}
},
dest: {
root: './_output/UI/',
content: './_output/UI/Content/',
fonts: './_output/UI/Content/Fonts/',
images: './_output/UI/Content/Images/'
}
};
module.exports = paths;

View File

@ -1,18 +0,0 @@
const gulp = require('gulp');
const livereload = require('gulp-livereload');
const gulpWatch = require('gulp-watch');
const paths = require('./helpers/paths.js');
require('./copy.js');
require('./webpack.js');
function watch() {
livereload.listen({ start: true });
gulp.task('webpackWatch')();
gulpWatch(paths.src.html, gulp.series('copyHtml'));
gulpWatch(`${paths.src.fonts}**/*.*`, gulp.series('copyFonts'));
gulpWatch(`${paths.src.images}**/*.*`, gulp.series('copyImages'));
}
gulp.task('watch', gulp.series('build', watch));

View File

@ -1,230 +0,0 @@
const gulp = require('gulp');
const webpackStream = require('webpack-stream');
const livereload = require('gulp-livereload');
const path = require('path');
const webpack = require('webpack');
const errorHandler = require('./helpers/errorHandler');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const uiFolder = 'UI';
const frontendFolder = path.join(__dirname, '..');
const srcFolder = path.join(frontendFolder, 'src');
const isProduction = process.argv.indexOf('--production') > -1;
const distFolder = path.resolve(frontendFolder, '..', '_output', uiFolder);
console.log('Source Folder:', srcFolder);
console.log('Output Folder:', distFolder);
console.log('isProduction:', isProduction);
const cssVarsFiles = [
'../src/Styles/Variables/colors',
'../src/Styles/Variables/dimensions',
'../src/Styles/Variables/fonts',
'../src/Styles/Variables/animations',
'../src/Styles/Variables/zIndexes'
].map(require.resolve);
// Override the way HtmlWebpackPlugin injects the scripts
HtmlWebpackPlugin.prototype.injectAssetsIntoHtml = function(html, assets, assetTags) {
const head = assetTags.head.map((v) => {
v.attributes = { rel: 'stylesheet', type: 'text/css', href: `/${v.attributes.href.replace('\\', '/')}` };
return this.createHtmlTag(v);
});
const body = assetTags.body.map((v) => {
v.attributes = { src: `/${v.attributes.src}` };
return this.createHtmlTag(v);
});
return html
.replace('<!-- webpack bundles head -->', head.join('\r\n '))
.replace('<!-- webpack bundles body -->', body.join('\r\n '));
};
const plugins = [
new webpack.DefinePlugin({
__DEV__: !isProduction,
'process.env.NODE_ENV': isProduction ? JSON.stringify('production') : JSON.stringify('development')
}),
new MiniCssExtractPlugin({
filename: path.join('Content', 'styles.css')
}),
new HtmlWebpackPlugin({
template: 'frontend/src/index.html',
filename: 'index.html'
})
];
const config = {
mode: isProduction ? 'production' : 'development',
devtool: '#source-map',
stats: {
children: false
},
watchOptions: {
ignored: /node_modules/
},
entry: {
index: 'index.js'
},
resolve: {
modules: [
srcFolder,
path.join(srcFolder, 'Shims'),
'node_modules'
],
alias: {
jquery: 'jquery/src/jquery'
}
},
output: {
path: distFolder,
filename: '[name].js',
sourceMapFilename: '[file].map'
},
optimization: {
chunkIds: 'named',
splitChunks: {
chunks: 'initial'
}
},
performance: {
hints: false
},
plugins,
resolveLoader: {
modules: [
'node_modules',
'frontend/gulp/webpack/'
]
},
module: {
rules: [
{
test: /\.js?$/,
exclude: /(node_modules|JsLibraries)/,
use: [
{
loader: 'babel-loader',
options: {
configFile: `${frontendFolder}/babel.config.js`,
envName: isProduction ? 'production' : 'development',
presets: [
[
'@babel/preset-env',
{
modules: false,
loose: true,
debug: false,
useBuiltIns: 'entry',
corejs: 3
}
]
]
}
}
]
},
// CSS Modules
{
test: /\.css$/,
exclude: /(node_modules|globals.css)/,
use: [
{ loader: MiniCssExtractPlugin.loader },
{
loader: 'css-loader',
options: {
importLoaders: 1,
modules: {
localIdentName: '[name]/[local]/[hash:base64:5]'
}
}
},
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
config: {
ctx: {
cssVarsFiles
},
path: 'frontend/postcss.config.js'
}
}
}
]
},
// Global styles
{
test: /\.css$/,
include: /(node_modules|globals.css)/,
use: [
'style-loader',
{
loader: 'css-loader'
}
]
},
// Fonts
{
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
use: [
{
loader: 'url-loader',
options: {
limit: 10240,
mimetype: 'application/font-woff',
emitFile: false,
name: 'Content/Fonts/[name].[ext]'
}
}
]
},
{
test: /\.(ttf|eot|eot?#iefix|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
use: [
{
loader: 'file-loader',
options: {
emitFile: false,
name: 'Content/Fonts/[name].[ext]'
}
}
]
}
]
}
};
gulp.task('webpack', () => {
return webpackStream(config)
.pipe(gulp.dest('_output/UI'));
});
gulp.task('webpackWatch', () => {
config.watch = true;
return webpackStream(config)
.on('error', errorHandler)
.pipe(gulp.dest('_output/UI'))
.on('error', errorHandler)
.pipe(livereload())
.on('error', errorHandler);
});

View File

@ -1,23 +1,31 @@
const reload = require('require-nocache')(module);
module.exports = (ctx, configPath, options) => {
const config = {
plugins: {
'postcss-mixins': {
mixinsDir: [
'frontend/src/Styles/Mixins'
]
},
'postcss-simple-vars': {
variables: () =>
ctx.options.cssVarsFiles.reduce((acc, vars) => {
return Object.assign(acc, reload(vars));
}, {})
},
'postcss-color-function': {},
'postcss-nested': {}
}
};
const cssVarsFiles = [
'./src/Styles/Variables/dimensions',
'./src/Styles/Variables/fonts',
'./src/Styles/Variables/animations',
'./src/Styles/Variables/zIndexes'
].map(require.resolve);
return config;
const mixinsFiles = [
'frontend/src/Styles/Mixins/cover.css',
'frontend/src/Styles/Mixins/linkOverlay.css',
'frontend/src/Styles/Mixins/scroller.css',
'frontend/src/Styles/Mixins/truncate.css'
];
module.exports = {
plugins: [
['postcss-mixins', {
mixinsFiles
}],
['postcss-simple-vars', {
variables: () =>
cssVarsFiles.reduce((acc, vars) => {
return Object.assign(acc, reload(vars));
}, {})
}],
'postcss-color-function',
'postcss-nested'
]
};

Some files were not shown because too many files have changed in this diff Show More