Commit Graph

400 Commits

Author SHA1 Message Date
TheCatLady
f3e56da3b7 feat: show alert/prompt when settings changes require restart (#2401)
* fix: correct 'StatusChecker' typo

* feat: add restart required check to StatusChecker

* fix(perms): remove MANAGE_SETTINGS permission

* fix: allow alert to be dismissed

* fix(lang): add missing string in SettingsServices

* fix(frontend): fix modal icon border

* fix(frontend): un-dismiss alert if setting reverted not require server restart

* fix(backend): restart flag only needs to track main settings

* fix: rebase issue

* refactor: appease Prettier

* refactor: swap settings badge order

* fix: type import for MainSettings

* test: add cypress test for restart prompt
2022-08-16 16:58:11 +00:00
TheCatLady
6428b8d419 fix: log level value should not be case sensitive (#2913) 2022-08-17 01:33:13 +09:00
Gylesie
004e1bb17e fix(api): lookup shows using english title only (#2911)
Fixes most of the time irrelevant lookup list when using localized TMDB metadata. #2801
2022-08-16 11:56:46 -04:00
Ryan Cohen
22ec058431 test: add cypress foundation (#2903) [skip ci] 2022-08-15 08:34:38 +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
Brandon Cohen
575da306b0 feat: plex deep links for iOS devices (#2680) 2022-08-02 06:41:09 +00:00
Danshil Kokil Mungur
a6c1f3f7ce fix(api): ignore filter if unset in media route (#2647)
Co-authored-by: Ryan Cohen <ryan@sct.dev>
2022-05-28 12:48:23 +00:00
Danshil Kokil Mungur
1054b4e2d7 fix(search): use correct param to filter movies by year (#2727) 2022-04-30 23:31:02 +09:00
Danshil Kokil Mungur
e4039d09c0 feat(api): add issue counts endpoint (#2713) 2022-04-25 23:06:36 +00:00
TheCatLady
b75fc7b238 fix(auth): resolve local/password authentication issues (#2677)
* fix(auth): only add Plex ID to user after verifying server access

* fix(auth): do not fail local auth if fetching Plex users is unsuccessful
2022-04-06 08:31:14 +09:00
Danshil Kokil Mungur
0c7373c7e8 feat(about): show config directory (#2600)
* feat(about): show config directory

* feat(about): run yarn i18n:extract

* refactor(about): use existing appdata path method

* feat(about): suggested changes

* refactor(logs): rename variable to be more consistent

* feat: suggested changes
2022-03-15 09:01:11 -04: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
85bb30e252 feat: verify Plex server access during auth for existing users with Plex IDs (#2458)
* feat: if local sign-in disabled, verify Plex server access during auth for existing users

* fix: disable local/password login by default

* fix: set localLogin to disabled in getInitialProps

* fix: verify Plex server access on local logins as well
2022-03-13 17:53:50 +04:00
TheCatLady
aa062d921c fix(sonarr): monitor existing series upon request approval (#2553) 2022-03-05 18:50:19 +09:00
TheCatLady
eff665ef4b fix: add Discord ID setting to general user settings page (#2406) 2022-02-10 07:31:01 +00:00
TheCatLady
1dc900d5ce feat(tautulli): validate upon saving settings (#2511) 2022-02-10 02:56:00 +00:00
TheCatLady
a76b608ab7 fix(email): enclose PGP encryption logic in try/catch (#2519) 2022-02-10 02:48:53 +00:00
TheCatLady
61681857b1 fix(sonarr): only scan seasons that exist in TMDb (#2523) 2022-02-10 02:42:20 +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
Danshil Kokil Mungur
d7779408d1 fix(logs): handle log message nested extra properties (#2459) 2022-01-25 11:00:53 +09:00
Danshil Kokil Mungur
f9200b7977 feat(notif): add Pushbullet channel tag (#2198)
* feat(notif): add pushbullet channel tag to server notif settings

* feat(notif): suggested changes

* docs(notif): add pushbullet channel tag
2022-01-20 11:38:24 +00:00
Danshil Kokil Mungur
eb9ca2e86f fix(requests): check for existing media of same type when requesting (#2445)
Co-authored-by: Ryan Cohen <ryan@sct.dev>
2022-01-20 10:42:43 +00: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
86dff12cde fix(plex): user import (#2442) 2022-01-20 06:48:35 +00:00
Danshil Kokil Mungur
ce31bef8a1 feat(logs): use separate json file to parse logs for log viewer (#2399)
Co-authored-by: Ryan Cohen <ryan@sct.dev>
2022-01-20 05:17:03 +00:00
TheCatLady
114366fa4b build(deps): bump dependencies (#2427)
* build(deps): bump dependencies

* build(deps): bump next to 12.0.8

* build(deps): bump swr to 1.1.2

* build(deps): bump more dependencies

* build(deps): bump husky to 7.0.4

* fix: remove user list button outlines

* build(deps): bump dependencies again

* build(deps): bump dependencies once more
2022-01-20 10:04:34 +09:00
TheCatLady
2535edcc7f feat(api): add additional request counts (#2426) 2022-01-16 17:13:35 +09:00
Danshil Kokil Mungur
d4438c82e3 fix(notif): show event in pop up notification for slack (#2413)
* fix(notif): show event in pop up notification for slack

fix #2408

* fix(notifs): suggested changes

* fix(notif): add fallback text to slack embed builder

Co-authored-by: Ryan Cohen <ryan@sct.dev>
2022-01-15 00:33:27 +00:00
TheCatLady
10651baa67 fix(notif): duplicate notification check logic (#2424) 2022-01-15 00:20:29 +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
Sean Chambers
e0b6abe479 feat(notif): add Gotify agent (#2196)
* feat(notifications): adds gotify notifications

adds new settings screen for gotify notifications including url, token and types settings

fix #2183

* feat(notif): add Gotify agent
addresses PR comments, runs i18n:extract

fix #2183

* reword validationTokenRequired

change wording to indicate presence, not validity

Co-authored-by: TheCatLady <52870424+TheCatLady@users.noreply.github.com>

* feat(notifications): gotify notifications fix

applies changes from #2077 in which Yup validation was failing for types

fix #2183

* feat(notifications): adds gotify notifications

adds new settings screen for gotify notifications including url, token and types settings

fix #2183

* feat(notif): add Gotify agent
addresses PR comments, runs i18n:extract

fix #2183

* reword validationTokenRequired

change wording to indicate presence, not validity

Co-authored-by: TheCatLady <52870424+TheCatLady@users.noreply.github.com>

* feat(notifications): gotify notifications fix

applies changes from #2077 in which Yup validation was failing for types

fix #2183

* feat(notifications): incorporate issue feature into gotify notifications

* feat(notifications): adds gotify notifications

adds new settings screen for gotify notifications including url, token and types settings

fix #2183

* feat(notif): add Gotify agent
addresses PR comments, runs i18n:extract

fix #2183

* reword validationTokenRequired

change wording to indicate presence, not validity

Co-authored-by: TheCatLady <52870424+TheCatLady@users.noreply.github.com>

* feat: add missing ts field

include notifyAdmin in test notification endpoint

* feat: apply formatting/line break items

add addition line break before conditional, change ordering of notifyAdmin/notifyUser in test
endpoint

* feat: remove duplicated endpoints

during rebase, notification endpoints were duplicated upon rebasing. remove duplicate routes

* feat: correct linting quirks

* feat: formatting improvements

* feat(gotify): refactor axios post to leverage 'getNotificationPayload'

Co-authored-by: TheCatLady <52870424+TheCatLady@users.noreply.github.com>
2022-01-14 01:04:25 +00:00
TheCatLady
5f7538ae2b feat(discord): add 'Enable Mentions' setting (#1779) 2022-01-11 01:39:12 +00:00
TheCatLady
1b3797cf6e fix: sort collection parts by release date (#2368)
* fix: order collection parts by release date

* feat(frontend): add posters & release years to collection request modal

* fix(frontend): wrap movie titles in collection request modal
2021-12-31 06:06:12 +00:00
Danshil Kokil Mungur
5af06bd872 fix(logs): lazily parse log message label (#2359) 2021-12-26 07:52:57 +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
Danshil Kokil Mungur
488874fc17 fix(servarr): handle servaarr server being unavailable when scanning downloads (#2358) 2021-12-25 01:02:03 +00:00
TheCatLady
fcb0dcf5be fix(notif): only send MEDIA_AVAILABLE notifications for non-declined requests (#2343) 2021-12-12 11:25:26 +09:00
TheCatLady
91bfff71b7 fix(requests): do not fail request edits if acting user lacks Manage Users permission (#2338)
* fix(api): fix requestedBy logic in request edits

* fix(frontend): do not display empty advanced request options box

* fix(frontend): set max height on modal backdrop
2021-12-10 19:14:14 +09:00
TheCatLady
dc7f959cb4 fix(notif): correct issue notif action URLs (#2333) 2021-12-09 13:49:50 +00:00
Danshil Kokil Mungur
93b5ea20ca fix(servarr): handle baseurl error when testing connection (#2294)
* fix(servarr): handle base url error when testing servarr connection

* fix(servarr): suggested changes
2021-12-08 04:38:17 +04:00
Danshil Kokil Mungur
f284e4ab97 fix(logs): handle unexpected log messages (#2303)
* fix(logs): handle unexpected log messages

* fix(logs): update regexp for json to appease the lgtm gods
2021-12-08 00:20:47 +00:00
TheCatLady
7f330aff2e fix: secure session cookie (#2308) 2021-12-08 00:05:39 +00:00
TheCatLady
88a8c1aa59 feat(notif): 4K media notifications (#2324) 2021-12-08 08:56:41 +09: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
TheCatLady
c9ffac33f7 feat(notif): issue notifications (#2242)
* feat(notif): issue notifications

* refactor: dedupe test notification strings

* fix: webhook key parsing

* fix(notif): skip send for admin who requested on behalf of another user

* fix(notif): send comment notifs to admins when other admins reply

* fix(notif): also send resolved notifs to admins, and reopened notifs to issue creator

* fix: don't send duplicate notifications

* fix(lang): tweak notification description strings

* fix(notif): tweak Slack notification styling

* fix(notif): tweak Pushbullet & Telegram notification styling

* docs: reformat webhooks page

* fix(notif): add missing issue_type & issue_status variables to LunaSea notif payloads

* fix: explicitly attach media & issue objects where applicable

* fix(notif): correctly notify both notifyUser and managers where applicable

* fix: update default webhook payload for new installs

* fix(notif): add missing comment_message to LunaSea notif payload

* refactor(sw): simplify notificationclick event listener logic

* fix(notif): add missing event description for MEDIA_AVAILABLE notifications
2021-12-04 21:24:26 +09:00