Commit Graph

131 Commits

Author SHA1 Message Date
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
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
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
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
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
Danshil Kokil Mungur
488874fc17 fix(servarr): handle servaarr server being unavailable when scanning downloads (#2358) 2021-12-25 01:02:03 +00:00
TheCatLady
dc7f959cb4 fix(notif): correct issue notif action URLs (#2333) 2021-12-09 13:49:50 +00:00
TheCatLady
88a8c1aa59 feat(notif): 4K media notifications (#2324) 2021-12-08 08:56:41 +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
TheCatLady
8d2968572a fix(email): use decrypted private key (#2232) 2021-10-26 18:49:27 +09:00
TheCatLady
aeb7a48d72 feat(notif): add Pushbullet and Pushover agents to user notification settings (#1740)
* feat(notif): add Pushbullet and Pushover agents to user notification settings

* docs(notif): add "hint" about user notifications to Pushbullet and Pushover pages

* fix: regenerate DB migration
2021-10-25 19:46:05 +09:00
TheCatLady
ab20c21184 fix(lang): string edits (#2229)
* fix(lang): string edits

* fix: correct notif type ordering

* fix(lang): a few more edits

* fix(frontend): align & wrap media attributes properly

* fix(lang): use consistent cache names
2021-10-25 01:08:03 +09:00
Ryan Cohen
e402c42aaa feat: issues (#2180) 2021-10-24 12:44:20 +00:00
TheCatLady
b3b421a674 fix(email): do not attempt to display logo if app URL not configured (#2125)
* fix(email): do not attempt to display logo if app URL not configured

* fix(email): prevent Gmail from turning usernames with periods into hyperlinks

* fix(email): fix(email): use displayName instead of username/plexUserName and improve Gmail link fix
2021-10-18 14:08:50 +00:00
Danshil Kokil Mungur
82614ca441 feat(jobs): allow modifying job schedules (#1440)
* feat(jobs): backend implementation

* feat(jobs): initial frontend implementation

* feat(jobs): store job settings as Record

* feat(jobs): use heroicons/react instead of inline svgs

* feat(jobs): use presets instead of cron expressions

* feat(jobs): ran `yarn i18n:extract`

* feat(jobs): suggested changes

- use job ids in settings
- add intervalDuration to jobs to allow choosing only minutes or hours for the job schedule
- move job schedule defaults to settings.json
- better TS types for jobs in settings cache component
- make suggested changes to wording
- plural form for label when job schedule can be defined in minutes
- add fixed job interval duration
- add predefined interval choices for minutes and hours
- add new schema for job to overseerr api

* feat(jobs): required change for CI to not fail

* feat(jobs): suggested changes

* fix(jobs): revert offending type refactor
2021-10-15 21:23:39 +09:00
Ryan Cohen
afda9c7dc2 feat(plex-scan): plex scanner improvements (#2105) 2021-09-20 09:39:56 +09:00
TheCatLady
6f2db6a6cc fix(webpush): load user in push sub query (#1894)
Co-authored-by: sct <ryan@sct.dev>
2021-08-09 05:27:12 +00:00
TheCatLady
0db0d4c280 build(deps): bump node to 14.17 and drop uuid in favor of native randomUUID (#1792) 2021-06-17 13:12:09 +09:00
TheCatLady
71641d35c4 build(deps): bump openpgp from 5.0.0-2 to 5.0.0-3 (#1734) 2021-06-15 03:16:33 +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
091d66a192 fix: check that application URL and email agent are configured for password reset/generation (#1724)
* fix: check that application URL and email agent are configured for password reset/generation

* refactor: reverse flex direction instead of conditionally changing justify
2021-06-10 12:56:33 +09:00
TheCatLady
e60598905b feat: allow users to select notification types (#1512)
* feat: allow users to select notification types

* fix(ui): display personal notification types before management types

* fix: update allRequestsAutoApproved check to account for new REQUEST_MOVIE & REQUEST_TV perms

* fix(ui): do not display Discord notif type selector if user not eligible for any types

* refactor(ui): remove unnecessary 'enabled' checkboxes from user notif settings

* fix(ui): correct checkbox behavior

* fix: add missing return type on hasNotificationType

* refactor: remove unused isValid prop in NotificationsWebPush

* fix(ui): use SensitiveInput for users' public PGP keys

* fix(ui): add missing tip/hint for email encryption setting

* refactor(svg): use the new Discord logo

* revert(api): undo breaking change removing discordEnabled from UserSettingsNotificationsResponse

* fix(lang): update notification type descriptions for clarity

* fix(telegram): do not send users notifications of their own auto-approved requests
2021-06-04 19:31:05 +09:00
sct
6603dffe95 build(deps): bump dependencies
Includes some type fixes for Typescript 4.3.x
2021-05-30 09:25:11 +09:00
Dustin Hildebrandt
9ead8bb1f1 feat(notif): prevent manage-request users receiving auto-approve notif from their requests (#1707) (#1709)
Email and webpush agents will filter out these users. Discord agent won't @ them.
2021-05-29 17:29:53 +09:00
TheCatLady
0cd7fa0f1a fix(sonarr): do not mark media as failed if there is no season data on TVDB (#1691) 2021-05-26 09:14:36 +09:00
sct
aa86809dc9 style: bump prettier and format app 2021-05-13 23:48:08 +09:00
TheCatLady
a640a91390 feat(plex): add support for custom Plex Web App URLs (#1581)
* feat(plex): add support for custom Plex Web App URLs

* refactor: clean up Yup validation in *arr modals & email settings

* fix(lang): change Web App URL tip

* fix: remove web app URL validation and add 'Advanced' badge
2021-05-06 17:40:22 +09:00
TheCatLady
69ab7cc660 feat(email): replace 'Enable SSL' setting with more descriptive/clear 'Encryption Method' setting (#1549)
* feat(email): replace 'Enable SSL' setting with more descriptive/clear 'Encryption Method' setting

* fix: clarify settings & add true 'none' option
2021-05-04 10:31:33 +00:00
TheCatLady
f8b2c3c1b1 build(deps): bump openpgp from 5.0.0-1 to 5.0.0-2 (#1565) 2021-05-04 09:23:20 +00:00
TheCatLady
26580eaa21 fix(ui): improve form usability (#1563)
* fix(ui): improve form usability

* refactor: remove unnecessary <> and </> tags

* fix(ui): set url inputmode for *arr URL base fields
2021-05-04 17:42:27 +09:00
TheCatLady
f256a444c5 feat: add server default locale setting (#1536)
* feat: add server default locale setting

* fix: do not modify defaultLocale property of IntlProvider
2021-05-03 13:11:28 +00:00
TheCatLady
189313e94a fix: correctly fall back to English name in LanguageSelector (#1537)
* fix: correctly fall back to English name in LanguageSelector

* refactor: clean up language sort & name logic

* refactor: also clean up region sort & name logic

* refactor: use arrow functions
2021-04-30 18:02:59 +00:00
TheCatLady
85899ab49a fix(radarr): only process Radarr movies which are either monitored or downloaded (#1511)
* fix(radarr): only process Radarr movies which are either monitored or downloaded

* refactor: move monitored check to processRadarrMovie
2021-04-28 09:53:52 +09:00
TheCatLady
3baa55c690 fix(email): parse sender hostname from application URL (#1518) 2021-04-27 23:23:51 +00:00
TheCatLady
91b9e0f679 feat(perms): add separate REQUEST_MOVIE and REQUEST_TV permissions (#1474)
* feat(perms): add separate REQUEST_MOVIE and REQUEST_TV permissions

* fix(perms): do not require regular request perms for 4K requests
2021-04-27 18:28:07 +09:00
TheCatLady
db49b2024d feat: add option to only allow Plex sign-in from existing users (#1496)
* feat: add option to only allow Plex login from existing users

* fix: remove newPlexLogin from public settings
2021-04-26 21:06:54 +09:00
TheCatLady
079645c2c7 feat(notif): show success/failure toast for test notifications (#1442)
* feat(notif): show success/failure toast for test notifications

* fix(lang): remove 'successfully' from test notif success strings
2021-04-26 10:01:31 +00:00
TheCatLady
4e6fb00a4a feat(notif): add LunaSea agent (#1495)
* feat(notif): add LunaSea agent

* feat(notif): change LunaSea 'Authorization Header' input field to 'Profile Name'
2021-04-26 01:22:54 +09:00
sct
28830d4ef8 feat: PWA Support (#1488) 2021-04-25 20:44:12 +09:00
TheCatLady
4e98f56753 fix(notif): include year in notifications (#1439)
* fix(notif): include year in notifications

* fix(lang): fix shared overwritten strings

* fix: check if email agent is actually enabled when generating passwords
2021-04-18 10:11:56 +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
46c4ee1625 feat(notif): allow users to enable/disable specific agents (#1172)
* refactor(ui): add tabs to user notification settings

* feat(notif): allow users to enable/disable specific agents

* fix(ui): only enforce required fields when agent is enabled

* fix(ui): hide unavailable notification agents

* feat(notif): mention admin users for admin Discord notifications

* fix(ui): modify styling of PGP key textareas to suit expected input

* fix(notif): mention all admins when there are multiple and fix rebase error

* fix: add missing form values, and fix Yup validation

* refactor: reduce repeated logic/code in email notif agent

* refactor: move 'Notification Types' label into NotificationTypeSelector component

* fix(email): correct inconsistencies in email template formatting

* refactor: use bitfields for storing user-enabled notif agent types

* feat: improve notification agent logging

* fix(ui): mark string fields as nullable so empty values are not type errors

* fix: add validation for PGP-related inputs

* fix: correctly fetch user in user settings & log mentioned IDs for Discord notifs

* fix(ui): fix mobile nav dropdown text & add hover effect to button-style tabs

* fix(notif): process admin email notifications asynchronously

* fix(logging): log name of notification type instead of its enum value

* fix: mark required fields and pass all user settings values to API

* fix(frontend): call mutate after changing email/Discord/Telegram global notif settings

* refactor: get global notif settings from relevant API endpoints instead of adding to public settings

* fix(notif): fall back to email notifications being enabled (default) if user settings do not exist

* fix(notif): do not set notifyUser for MEDIA_PENDING or MEDIA_AUTO_APPROVED

* fix: expose notif enabled settings in user notif endpoints & remove global enable notif setting

* fix(notif): remove unnecessary allowed_mentions object from Discord payload

* fix(notif): use form values for email test notification

* fix: make suggested changes and regenerate DB migration

* fix: loosen validation of PGP keys

* fix: fix user profile settings routes

* fix: remove route guard from profile pages
2021-04-13 03:31:31 +00:00