Commit Graph

115 Commits

Author SHA1 Message Date
Brandon Cohen
ae3818304b feat: availability sync rework (#3219)
* feat: add availability synchronization job

fix #377

* fix: feedback on PR

* perf: use pagination for Media Availability Synchronization job

The original approach loaded all media items from the database at once. With large libraries, this
could lead to performance issues. We're now using a paginated approach with a page size of 50.

* feat: updated the availability sync to work with 4k

* fix: corrected detection of media in plex

* refactor: code cleanup and minimized unnecessary calls

* fix: if media is not found, media check will continue

* fix: if non-4k or 4k show media is updated, seasons and request is now properly updated

* refactor: consolidated media updater into one function

* fix: season requests are now removed if season has been deleted

* refactor: removed joincolumn

* fix: makes sure we will always check radarr/sonarr to see if media exists

* fix: media will now only be updated to unavailable and deletion will be prevented

* fix: changed types in Media entity

* fix: prevent season deletion in preference of setting season to unknown

---------

Co-authored-by: Jari Zwarts <jari@oberon.nl>
Co-authored-by: Sebastian Kappen <sebastian@kappen.dev>
2023-02-24 05:28:22 +00:00
Brandon Cohen
8942eb8b7c fix: pass in library type when scanning recently added items (#3287) 2023-01-27 21:53:46 +09:00
Brandon Cohen
507693881b fix: multiple genre filtering now works (#3282) 2023-01-26 14:10:02 -08:00
Ryan Cohen
1154156459 feat: add streaming services filter (#3247)
* feat: add streaming services filter

* fix: count watch region/provider as one filter
2023-01-16 17:05:21 +09:00
Ryan Cohen
dd00e48f59 feat: discover overhaul (filters!) (#3232) 2023-01-13 16:54:35 +09:00
Ryan Cohen
e084649878 feat: add keywords to movie/series detail pages (#3204) 2023-01-04 14:19:51 +09:00
Ryan Cohen
cd3574851a feat: add discover customization (#3182) 2023-01-03 16:04:28 +09:00
Brandon Cohen
03853a1b91 feat(ui): request card progress bar (#3123) 2022-12-27 02:13:57 +00:00
Ryan Cohen
357cab87ac fix(experimental): use new RT API (sorta) (#3179) 2022-12-26 16:42:08 +09:00
Danshil Kokil Mungur
f5c2fc1c20 fix(ui): minor fixes (#3036)
* fix(ui): hide available media on person page

* fix(ui): set correct label for image cache settings

* fix(ui): disable status badge tooltip for collections

* fix(ui): replace empty space when no episodes in season

* fix: suggested changes

* fix(jobs): set watchlist sync to short interval

* chore: run i18n:extract

* fix: suggested changes
2022-10-04 12:03:24 +09:00
Danshil Kokil Mungur
7404d68143 fix(ui): hide null dates in episodes list (#3035) 2022-09-19 16:11:16 +00:00
Ryan Cohen
d8da5cbe9d fix(plex): add container-size header to recently added api call (#3023) 2022-09-16 02:01:29 +00:00
Ryan Cohen
c6a133d4e5 refactor: absolute imports with path alias (#2960) [skip ci] 2022-08-22 11:02:46 +09:00
Ryan Cohen
4b855b8114 style: fix organize-imports to work with tailwindcss prettier plugin (#2957) [skip ci] 2022-08-21 10:40:12 +00:00
Ryan Cohen
301f2bf7ab feat: plex watchlist sync integration (#2885) 2022-08-21 16:33:49 +09:00
TheCatLady
9021696cf0 fix(lang): correct capitalization of 'TMDB' (#2953) 2022-08-20 12:23:16 +09:00
Ryan Cohen
f5864b49de refactor: update a few dev deps and convert to using type imports where possible (#2886)
* build: bump deps and add some new eslint rules

* refactor: run eslint --fix on code to convert to type imports where possible
2022-08-03 12:57:51 +09:00
Ryan Cohen
aed1409f29 fix(api): add rate limiter to TMDb requests to hopefully deal with 429s (#2881)
fixes #2853
2022-08-02 16:00:34 +09:00
Danshil Kokil Mungur
1054b4e2d7 fix(search): use correct param to filter movies by year (#2727) 2022-04-30 23:31:02 +09:00
TheCatLady
7d19de6a4a fix(tautulli): fetch additional user history as necessary to return 20 unique media (#2446)
* fix(tautulli): fetch additional user history as necessary to return 20 unique media

* refactor: rename var for clarity

* refactor: make single DB query for recently watched media

* fix: resolve query builder weirdness

* refactor: use find instead of qb

* refactor: minor refactor

* fix: also find 4K rating keys
2022-03-14 21:31:11 +04:00
Danshil Kokil Mungur
72c825d2a5 feat(search): filter search results by year (#2460)
* feat(search): filter search results by year

* fix: typo in endpoint, blame it on new brand of coffee

* feat(search): suggested changes
2022-03-14 13:37:58 +00:00
TheCatLady
30644f65ea fix(plex): find TV series in addition to movies from IMDb IDs (#1830) 2022-03-14 13:29:58 +00:00
TheCatLady
aa062d921c fix(sonarr): monitor existing series upon request approval (#2553) 2022-03-05 18:50:19 +09:00
TheCatLady
1dc900d5ce feat(tautulli): validate upon saving settings (#2511) 2022-02-10 02:56:00 +00:00
Danshil Kokil Mungur
5d4b06bbcc fix(radarr): correctly check for existing movies (#2490) 2022-02-03 10:14:04 +09:00
TheCatLady
8cba486249 fix: address unhandled promise rejections & bump node to v16.13 (#2398)
* fix: unhandled promise rejections

* build(deps): bump node from 14.18 to 16.13

* fix: unhandled promise rejection in new Plex users endpoint

* fix: build error

Co-authored-by: Ryan Cohen <ryan@sct.dev>
2022-01-27 20:00:30 +09:00
TheCatLady
0842c233d0 feat: Tautulli integration (#2230)
* feat: media/user watch history data via Tautulli

* fix(frontend): only display slideover cog button if there is media to manage

* fix(lang): tweak permission denied messages

* refactor: reorder Media section in slideover

* refactor: use new Tautulli stats API

* fix(frontend): do not attempt to fetch data when user lacks req perms

* fix: remove unneccessary get_user requests

* feat(frontend): display user avatars

* feat: add external URL setting

* feat: add play counts for past week/month

* fix(lang): tweak strings

Co-authored-by: Ryan Cohen <ryan@sct.dev>
2022-01-20 10:36:59 +00:00
TheCatLady
9cb97db13c feat(plex): selective user import (#2188)
* feat(api): allow importing of only selected Plex users

* feat(frontend): modal for importing Plex users

* feat: add alert if 'Enable New Plex Sign-In' setting is enabled

* refactor: fetch all existing Plex users in a single DB query

Co-authored-by: Ryan Cohen <ryan@sct.dev>
2022-01-14 19:32:53 +09:00
Danshil Kokil Mungur
b31cdbf074 feat(search): search by id (#2082)
* feat(search): search by id

This adds the ability to search by ID (starting with TMDb ID).

Since there doesn't seem to be way of searching across movies, tv and persons,
I have to search through all 3 and use the first one in the order: movie -> tv -> person

Searching by ID is triggered using a 'prefix' just like in the *arrs.

* fix: missed some refactoring

* feat(search): use locale language

* feat(search): search using imdb id

* feat(search): search using tvdb id

* fix: alias type import

* fix: missed some refactoring

* fix(search): account for id being a string

* feat(search): account for movies/tvs/persons with the same id

* feat(search): remove non-null assertion

Co-authored-by: Ryan Cohen <ryan@sct.dev>
2022-01-14 07:52:10 +00:00
TheCatLady
30b20df37a feat: add production countries to movie/TV detail pages (#2170)
* feat: add production countries to movie/TV detail pages

* feat: add country flags to production countries
2021-12-25 01:18:06 +00:00
TheCatLady
ed53810fb3 fix: handle Plex library settings migration failure gracefully (#2254)
* fix: handle Plex library settings migration failure gracefully

* fix: handle failure in syncLibraries() instead
2021-12-05 02:42:15 +09:00
Danshil Kokil Mungur
739f667b54 feat(servarr): auto fill base url when testing service if missing (#1995)
* feat(servarr): auto fill base url when testing service if missing

This will fill the base URL of the *arr service only if it's missing and the base URL hasn't been
provided beforehand

* fix(servarr): replace redundant check

* fix(servarr): suggested changes
2021-10-16 15:27:03 +00:00
Ryan Cohen
afda9c7dc2 feat(plex-scan): plex scanner improvements (#2105) 2021-09-20 09:39:56 +09:00
sct
4c6009bc2c fix(rt-api): correctly format movie urls 2021-09-20 08:05:13 +09:00
sct
a11bb49663 fix(rt-api): use rotten-tomatoes 2.0 search api for movies 2021-09-19 19:42:51 +09:00
TheCatLady
98ece67655 feat: list streaming providers on movie/TV detail pages (#1778)
* feat: list streaming providers on movie/TV detail pages

* fix(ui): add margin to media fact value
2021-09-19 09:11:46 +00:00
TheCatLady
6789b8701c fix(plex): do not fail to scan empty libraries (#1771)
* fix(plex): do not fail to scan empty libraries

* fix(plex): ensure getLibraryContents returns array
2021-06-15 03:09:23 +00:00
TheCatLady
22415642e8 feat(lang): add Greek display language (#1605)
* feat(lang): add Greek & Polish display languages

Also:
* rename zh-TW display language to 繁體中文‬
* fix plurality of AvailableLocale type name
* consistently use 'en' as fallback/default language

* revert(lang): remove Polish display language due to lack of translation activity
2021-05-16 14:56:49 +09:00
TheCatLady
3ae7d0098b fix(radarr): search in addition to monitoring existing movies (#1449) 2021-04-18 10:05:02 +00:00
TheCatLady
fc14037ec1 fix(backend): do not log error when user has no server access (#1419) 2021-04-13 23:29:21 +00:00
sct
ecf13123d2 feat: add overseerr version and update availability status to sidebar
sort of experimental so may be kinda broken. :)
2021-04-13 19:30:55 +09:00
TheCatLady
e43106a434 fix: fall back to English genre names (#1352)
* fix: fall back to English genre names

* fix: use startsWith() instead of equality check
2021-04-07 00:22:16 +09:00
sct
a306ebc2d1 feat: radarr/sonarr tag support (#1366) 2021-04-05 21:16:55 +09:00
TheCatLady
fe8d34607b fix(backend): fix getShowByTvdbId() error message (#1314) [skip ci]
* fix(backend): fix getShowByTvdbId() error message

* fix(backend): use suggested error message
2021-03-31 20:11:47 +09:00
TheCatLady
1d7a938ef8 fix: fetch localized person details from TMDb (#1243)
* fix: fetch localized person details from TMDb

* feat: include DOB, hometown, and alternate names on person detail pages

* fix: remove unnecessary ternary operator

* fix(ui): don't display AKA when empty
2021-03-22 17:17:24 +09:00
sct
f7146e4189 fix(plex): always send Overseerr for the device name to the plex.tv api
fixes #1244
2021-03-22 09:20:24 +09:00
TheCatLady
2f2e00237d feat: add tagline, episode runtime, genres list to media details & clean/refactor CSS into globals (#1160) 2021-03-15 09:16:39 +09:00
TheCatLady
75011610e5 feat: add language-filtered Discover pages (#1111) 2021-03-10 10:23:37 +09:00
sct
63c122e5e0 refactor: move genre/studio/network calls into their own endpoints
this commit also adds a `useDiscover` hook to help with creating discover pages with less repeating
code
2021-03-04 10:18:46 +00:00
sct
ed0a7fbdf5 fix(sonarr): correctly search when updating existing sonarr series
fixes #588
2021-03-04 05:04:15 +00:00