* docs(installation): add PORT env variable to Docker CLI & Docker Compose examples
* docs(installation): fix typo
* docs(installation): clarify hint about named volumes for windows installation example
* fix: series would show an empty season on season list or tv request modal
* fix: request more would show even if all requestable seasons are already requested
* fix: will check if request or season length is longer
* fix(deps): update dependency @heroicons/react to v2
* fix: update imports and fix icon name changes for heroicons
* fix: also update MiniStatusBadge to use new check icon
* fix: update last place with old import
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: sct <ryan@sct.dev>
* fix(ui): hide available media on person page
* fix(ui): set correct label for image cache settings
* fix(ui): disable status badge tooltip for collections
* fix(ui): replace empty space when no episodes in season
* fix: suggested changes
* fix(jobs): set watchlist sync to short interval
* chore: run i18n:extract
* fix: suggested changes
The updated `next.js` dependency has a new regex match in the code for `/^\/_next\/data\//`.
This `sub_filter` creates invalid regex `/^\/overseerr/_next\/data\//`
```nginx
sub_filter '/_next' '/$app/_next';
```
It needs to be updated to substitute the correct the regex `/^\/overseerr\/_next\/data\//`
```nginx
sub_filter '\/_next' '\/$app\/_next';
sub_filter '/_next' '/$app/_next';
```
if all seasons are requested for a TV show, show each indivdual season badge. This prevents the
admin from needing to open a second tab / navigate to see how many seasons / what seasons have been
requested.
* feat(logs): add search filter
* refactor(logs): move loading spinner inside log viewer
Inputting text in the search bar on the logs page would refresh the page
losing focus on the search bar.
This moves the loading spinner inside the log viewer, so that it is not
as disruptive as it would
* fix(logs): escape string for search filter
* chore: rebase
* fix(logs): suggested changes
* feat: pull down to refresh functionality
Custom pull down to refresh added to replace the default browser pull down to refresh. This will
allow you to manually reload the page if you are using it as a PWA.
* test: update test to check api call correctly
changed api call for test and made sure it pulls down all the way to trigger refresh
* fix: changed positioning of pull to refresh
Refresh indicator now has absolute positioning and will prevent the top edge from pulling down.
* fix(jobs): reset job schedule edit modal values when closed
* feat(jobs): show job's current frequency
* fix(jobs): reset job schedule edit modal values when cancelled
* chore: rebase
* refactor(jobs): use reducer instead of several react states
* fix(jobs): reset modal state when opening instead of closing the modal
This prevents the modal state from glitching when saving/closing the modal
* feat(jobs): parse job schedule cron string
unavailable locale will fallback to english
* feat(lang): translated using Weblate (French)
Currently translated at 99.4% (1067 of 1073 strings)
feat(lang): translated using Weblate (French)
Currently translated at 97.1% (1040 of 1071 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/fr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (1063 of 1071 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pt_BR/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (1083 of 1085 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.6% (1081 of 1085 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1073 of 1073 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.4% (1067 of 1073 strings)
feat(lang): translated using Weblate (Chinese (Traditional))
Currently translated at 99.5% (1066 of 1071 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/zh_Hant/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1073 of 1073 strings)
feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1073 of 1073 strings)
feat(lang): translated using Weblate (German)
Currently translated at 99.6% (1067 of 1071 strings)
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/de/
Translation: Overseerr/Overseerr Frontend
Co-authored-by: Mathieu <math_du_88@yahoo.fr>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: Ben <ben.david.wallner@gmail.com>
* feat(perms): add new permission for viewing recently added media
* test: update login test to check for Trending instead of Recently Added
* fix: avoid conflict with new watchlist perms
The delete user modal will now show the user that is being deleted and the delete button will now
ask you to confirm deletion similar to the delete request button.
* build(snap): try re-enabling snap workflow
* build: try adding a safe directory exception?
* build(snap): disable cypress binary install
* build(snap): add yarnrc to force frozen lockfile and timeout arguments
* build(snap): add back in release snap workflow
* build(snap): revert back to only running on dev branch
* fix: fixed recommendations page causing infinite network requests to tmdb api
TMDB API would only return 40 results and the recommendations page expected more. This would cause
an infinite amount of network requests. I set a limit specifically for this solving the problem.
fix#2710
* fix(tautulli): fetch additional user history as necessary to return 20 unique media
* refactor: rename var for clarity
* refactor: make single DB query for recently watched media
* fix: resolve query builder weirdness
* refactor: use find instead of qb
* refactor: minor refactor
* fix: also find 4K rating keys
* feat: if local sign-in disabled, verify Plex server access during auth for existing users
* fix: disable local/password login by default
* fix: set localLogin to disabled in getInitialProps
* fix: verify Plex server access on local logins as well
* feat(lang): translated using Weblate (Japanese)
Currently translated at 46.5% (485 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ja/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 62.6% (652 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 50.7% (528 of 1041 strings)
feat(lang): translated using Weblate (Albanian)
Currently translated at 16.3% (170 of 1041 strings)
feat(lang): added translation using Weblate (Albanian)
Co-authored-by: Denis Çerri <deniscerri3@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: sct <sctsnipe@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/sq/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (French)
Currently translated at 100.0% (1041 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nackophilz <zrv4flra@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/fr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Polish)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Polish)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Polish)
Currently translated at 100.0% (1041 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: tomgacz <tomgacz@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pl/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Portuguese (Brazil))
Currently translated at 98.5% (1026 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/pt_BR/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Italian)
Currently translated at 100.0% (1041 of 1041 strings)
feat(lang): translated using Weblate (Italian)
Currently translated at 99.8% (1039 of 1041 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Simone Chiavaccini <mazzetta86@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/it/
Translation: Overseerr/Overseerr Frontend
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: Denis Çerri <deniscerri3@gmail.com>
Co-authored-by: sct <sctsnipe@gmail.com>
Co-authored-by: Nackophilz <zrv4flra@anonaddy.me>
Co-authored-by: tomgacz <tomgacz@gmail.com>
Co-authored-by: Tijuco <sendtomy@protonmail.com>
Co-authored-by: Simone Chiavaccini <mazzetta86@gmail.com>
* feat(lang): translated using Weblate (Serbian)
Currently translated at 49.9% (518 of 1038 strings)
feat(lang): translated using Weblate (Serbian)
Currently translated at 47.3% (492 of 1038 strings)
Co-authored-by: Dalibor Radovanović <darkobg@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/sr/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1038 of 1038 strings)
feat(lang): translated using Weblate (German)
Currently translated at 100.0% (1038 of 1038 strings)
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: Ben Wallner <ben.david.wallner@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/de/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1038 of 1038 strings)
feat(lang): translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1038 of 1038 strings)
feat(lang): translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1038 of 1038 strings)
feat(lang): translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1038 of 1038 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: exentler <gurandsrud@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/nb_NO/
Translation: Overseerr/Overseerr Frontend
Co-authored-by: Dalibor Radovanović <darkobg@gmail.com>
Co-authored-by: Ben <ben.david.wallner@gmail.com>
Co-authored-by: exentler <gurandsrud@gmail.com>
* feat: media/user watch history data via Tautulli
* fix(frontend): only display slideover cog button if there is media to manage
* fix(lang): tweak permission denied messages
* refactor: reorder Media section in slideover
* refactor: use new Tautulli stats API
* fix(frontend): do not attempt to fetch data when user lacks req perms
* fix: remove unneccessary get_user requests
* feat(frontend): display user avatars
* feat: add external URL setting
* feat: add play counts for past week/month
* fix(lang): tweak strings
Co-authored-by: Ryan Cohen <ryan@sct.dev>
* feat(frontend): open media management slideover on status badge click
* fix(frontend): use Link component for in-app badge links
* fix: check for query param value of '1'
* fix: correct query param check
* fix: available badges should still link to Plex
* build(deps): bump dependencies
* build(deps): bump next to 12.0.8
* build(deps): bump swr to 1.1.2
* build(deps): bump more dependencies
* build(deps): bump husky to 7.0.4
* fix: remove user list button outlines
* build(deps): bump dependencies again
* build(deps): bump dependencies once more
* docs(contrib): clarify when to squash commits
* docs(support): ask for more details when requesting support
* docs(install): specify more container details
* docs(contrib): suggested changes
* fix(notif): show event in pop up notification for slack
fix#2408
* fix(notifs): suggested changes
* fix(notif): add fallback text to slack embed builder
Co-authored-by: Ryan Cohen <ryan@sct.dev>
* fix(frontend): theme-color meta tag
* fix(frontend): add theme-color to offline.html
* fix(frontend): reorder application-name meta tag instead
* fix(lang): regenerate strings
* refactor: optimize Trakt logo SVG
* feat(api): allow importing of only selected Plex users
* feat(frontend): modal for importing Plex users
* feat: add alert if 'Enable New Plex Sign-In' setting is enabled
* refactor: fetch all existing Plex users in a single DB query
Co-authored-by: Ryan Cohen <ryan@sct.dev>
* feat(search): search by id
This adds the ability to search by ID (starting with TMDb ID).
Since there doesn't seem to be way of searching across movies, tv and persons,
I have to search through all 3 and use the first one in the order: movie -> tv -> person
Searching by ID is triggered using a 'prefix' just like in the *arrs.
* fix: missed some refactoring
* feat(search): use locale language
* feat(search): search using imdb id
* feat(search): search using tvdb id
* fix: alias type import
* fix: missed some refactoring
* fix(search): account for id being a string
* feat(search): account for movies/tvs/persons with the same id
* feat(search): remove non-null assertion
Co-authored-by: Ryan Cohen <ryan@sct.dev>
* fix: order collection parts by release date
* feat(frontend): add posters & release years to collection request modal
* fix(frontend): wrap movie titles in collection request modal
* feat(ui): allow admins to edit & accept request from request modal
This changes the "Edit Request" button in the advanced request modal to "Edit & Accept Request"
since the only thing an admin would do next is to accept the request.
The button would stay the same for users without the manage request permissions;
users who are editing their own requests or requesting content.
* feat(ui): suggested changes
* feat: add quotas, advanced options, and toggles to collection request modal
* fix: use correct requiredquota strings
* refactor: clean up collection part request status logic
* revert: undo changes to effect dependencies
* fix(lang): tweak TV request modal request button strings
* fix: don't try to fetch other users' quotas without MANAGE_USERS perm
* feat(lang): translated using Weblate (Catalan)
Currently translated at 100.0% (992 of 992 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: dtalens <databio@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ca/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Danish)
Currently translated at 99.1% (984 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 99.1% (984 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 99.1% (984 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 90.7% (900 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 88.9% (882 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 72.1% (716 of 992 strings)
feat(lang): translated using Weblate (Danish)
Currently translated at 56.9% (565 of 992 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Simon Thyregod <p2v2w8ar@simon.thyregod.eu>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/da/
Translation: Overseerr/Overseerr Frontend
* feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 90.7% (900 of 992 strings)
feat(lang): translated using Weblate (Chinese (Simplified))
Currently translated at 90.6% (899 of 992 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/zh_Hans/
Translation: Overseerr/Overseerr Frontend
Co-authored-by: dtalens <databio@gmail.com>
Co-authored-by: Simon Thyregod <p2v2w8ar@simon.thyregod.eu>
Co-authored-by: TheCatLady <o40yoym9@anonaddy.me>
Co-authored-by: Jassy lin <linjiaxinme@gmail.com>
* fix(api): fix requestedBy logic in request edits
* fix(frontend): do not display empty advanced request options box
* fix(frontend): set max height on modal backdrop
* fix: users should always be able to view their own issues
* fix: apply route guards to issues pages instead
* fix(api): only allow users w/ issue perms to edit comments / delete issues
* fix(frontend): more issues-related fixes
* fix: permission VIEW_ISSUES is also sufficient for viewing issues in slideover
* fix(frontend): only display issue notif types user is eligible to receive
* fix: don't display issues block in slideover if no open issues
* fix: move year out of link in issue details header
* fix: use 'view' global string for issue block button
* fix: issue/request/user list sort options
* feat(notif): add Pushbullet and Pushover agents to user notification settings
* docs(notif): add "hint" about user notifications to Pushbullet and Pushover pages
* fix: regenerate DB migration
* fix(lang): string edits
* fix: correct notif type ordering
* fix(lang): a few more edits
* fix(frontend): align & wrap media attributes properly
* fix(lang): use consistent cache names
* fix(email): do not attempt to display logo if app URL not configured
* fix(email): prevent Gmail from turning usernames with periods into hyperlinks
* fix(email): fix(email): use displayName instead of username/plexUserName and improve Gmail link fix
* feat(ui): link processing/requested status badges to service URL where available
* refactor: add URL prop to Badge component
* fix(css): tweak font weight of media rating values and request card link hover effect
* fix: only set StatusBadge serviceUrl for admins
* feat(servarr): auto fill base url when testing service if missing
This will fill the base URL of the *arr service only if it's missing and the base URL hasn't been
provided beforehand
* fix(servarr): replace redundant check
* fix(servarr): suggested changes
* feat: dynamically fetch login screen backdrop images
* fix: remove media check from backdrops endpoint
* fix: remove mapping and work with TMDb data directly
* feat(jobs): backend implementation
* feat(jobs): initial frontend implementation
* feat(jobs): store job settings as Record
* feat(jobs): use heroicons/react instead of inline svgs
* feat(jobs): use presets instead of cron expressions
* feat(jobs): ran `yarn i18n:extract`
* feat(jobs): suggested changes
- use job ids in settings
- add intervalDuration to jobs to allow choosing only minutes or hours for the job schedule
- move job schedule defaults to settings.json
- better TS types for jobs in settings cache component
- make suggested changes to wording
- plural form for label when job schedule can be defined in minutes
- add fixed job interval duration
- add predefined interval choices for minutes and hours
- add new schema for job to overseerr api
* feat(jobs): required change for CI to not fail
* feat(jobs): suggested changes
* fix(jobs): revert offending type refactor
* docs: improve Docker documentation
* docs: suggested changes
* docs: minor formatting changes
* docs: add Doplarr to list of third-party integrations
* docs: rename docker run tab
* docs: add link to official Docker CLI docs
* docs: minor edits
* feat: display release dates for theatrical, digital, and physical release types
* fix(ui): use disc icon for physical release
* style: reformat to make new version of Prettier happy
Thanks for taking the time to fill out this bug report!
Please note that we use GitHub issues exclusively for bug reports and feature requests. For support requests, please use our other support channels to get help.
- type:textarea
id:description
attributes:
label:Description
description:Please provide a clear and concise description of the bug or issue.
validations:
required:true
- type:input
id:version
attributes:
label:Version
description:What version of Overseerr are you running? (You can find this in Settings → About → Version.)
validations:
required:true
- type:textarea
id:repro-steps
attributes:
label:Steps to Reproduce
description:Please tell us how we can reproduce the undesired behavior.
placeholder:|
1. Go to [...]
2. Click on [...]
3. Scroll down to [...]
4. See error in [...]
validations:
required:true
- type:textarea
id:screenshots
attributes:
label:Screenshots
description:If applicable, please provide screenshots depicting the problem.
- type:textarea
id:logs
attributes:
label:Logs
description:Please copy and paste any relevant log output. (This will be automatically formatted into code, so no need for backticks.)
Thanks for taking the time to fill out this feature request!
Please note that we use GitHub issues exclusively for bug reports and feature requests. For support requests, please use our other support channels to get help.
- type:textarea
id:description
attributes:
label:Description
description:Is your feature request related to a problem? If so, please provide a clear and concise description of the problem; e.g., "I'm always frustrated when [...]."
validations:
required:true
- type:textarea
id:desired-behavior
attributes:
label:Desired Behavior
description:Provide a clear and concise description of what you want to happen.
validations:
required:true
- type:textarea
id:additional-context
attributes:
label:Additional Context
description:Provide any additional information or screenshots that may be relevant or helpful.
- type:checkboxes
id:terms
attributes:
label:Code of Conduct
description:By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_CONDUCT.md)
options:
- label:I agree to follow Overseerr's Code of Conduct
Is your feature request related to a problem? If so, please provide a clear and concise description of the problem. E.g., "I'm always frustrated when [...]."
#### Desired Behavior
Provide a clear and concise description of what you want to happen.
#### Additional Context
Provide any additional information or screenshots that may be relevant or helpful.
* add bg-opacity to in-progress status badges ([#3190](https://github.com/sct/overseerr/issues/3190)) ([68223f4](https://github.com/sct/overseerr/commit/68223f4b1e98b01825516dcba39cbb2d3df31a70))
* added download status and title to request card/item error components ([#3186](https://github.com/sct/overseerr/issues/3186)) ([3309f77](https://github.com/sct/overseerr/commit/3309f77aa4be1d70b27693531c119a8e26822518))
* arrow icons were misplaced on mobile in slider edit ([#3260](https://github.com/sct/overseerr/issues/3260)) ([d328485](https://github.com/sct/overseerr/commit/d328485161b9cae6a70ef0713b4878207bc6015e))
* changed overflow scroll to only if necessary ([#3184](https://github.com/sct/overseerr/issues/3184)) ([27feeea](https://github.com/sct/overseerr/commit/27feeea69121336557deda1f32b65a5daa146f82))
* convert genre/studio to string in create slider ([#3201](https://github.com/sct/overseerr/issues/3201)) ([93afead](https://github.com/sct/overseerr/commit/93afead92e497f2e5bce67a34fffdaa08d20c7f2))
* correct checkbox position (again) for slider edits ([#3227](https://github.com/sct/overseerr/issues/3227)) ([3ba6df1](https://github.com/sct/overseerr/commit/3ba6df1a41c084c4a6a90354338047623abef521))
* correct grid sizing for webkit on streaming services ([#3248](https://github.com/sct/overseerr/issues/3248)) ([6fd11cf](https://github.com/sct/overseerr/commit/6fd11cf4254e1a19310592bec78a6de52bc073a8))
* correct issue detail bottom padding on mobile displays ([#3268](https://github.com/sct/overseerr/issues/3268)) ([3db010b](https://github.com/sct/overseerr/commit/3db010b9eaec62aa08d973a61caf1801471bbf3e))
* correct link to correct keyword results for series ([#3208](https://github.com/sct/overseerr/issues/3208)) ([4e9be7a](https://github.com/sct/overseerr/commit/4e9be7a3f7304ee7be5ee6fd34b1ea8f6c0cf399))
* correct spacing between sliders ([#3225](https://github.com/sct/overseerr/issues/3225)) ([62e2de7](https://github.com/sct/overseerr/commit/62e2de70bf37b72d5f63370b662d4103a642775b))
* correctly restore selected streaming service filters ([#3249](https://github.com/sct/overseerr/issues/3249)) ([154f3e7](https://github.com/sct/overseerr/commit/154f3e72efbf0b663358b3029156f54516f01a2f))
* create shared class to add bottom spacing ([#3269](https://github.com/sct/overseerr/issues/3269)) ([5d1c6f7](https://github.com/sct/overseerr/commit/5d1c6f706555613d97ed9e61d8b665543c2f239b))
* **deps:** update dependency @heroicons/react to v2 ([#2970](https://github.com/sct/overseerr/issues/2970)) ([dd48d59](https://github.com/sct/overseerr/commit/dd48d59b20e2d1800ea30912116f4a4f1bb7928f))
* **deps:** update dependency axios to v1 ([#3202](https://github.com/sct/overseerr/issues/3202)) ([421029e](https://github.com/sct/overseerr/commit/421029ebab66c9a6622ba47e56d7f6473524cce4))
* **deps:** update dependency swr to v2 ([#3212](https://github.com/sct/overseerr/issues/3212)) ([7b6db50](https://github.com/sct/overseerr/commit/7b6db50ae55b1fc60d19a5cff62dd46bb989fa51))
* **experimental:** use new RT API (sorta) ([#3179](https://github.com/sct/overseerr/issues/3179)) ([357cab8](https://github.com/sct/overseerr/commit/357cab87ac7752b8e119b51c938b343c661d83c2))
* improve small screen layout for discover editing ([#3221](https://github.com/sct/overseerr/issues/3221)) ([d23b213](https://github.com/sct/overseerr/commit/d23b2132de05f072f7f9daad83d81421d747cf99))
* include new package calendar css in build ([#3235](https://github.com/sct/overseerr/issues/3235)) ([c2a1a20](https://github.com/sct/overseerr/commit/c2a1a20a3bb20039a1936c7fe0ecb9e8311a0aea))
* issues with issues ([#3267](https://github.com/sct/overseerr/issues/3267)) ([fd21971](https://github.com/sct/overseerr/commit/fd219717c01c558814d7a80de6304272b5a7944e))
* prevent double encode if we are on /search endpoint ([#3238](https://github.com/sct/overseerr/issues/3238)) ([a343f8a](https://github.com/sct/overseerr/commit/a343f8ad915491a9c81512c7e541a1dac8906025))
* **request:** approve request when retrying request ([#3234](https://github.com/sct/overseerr/issues/3234)) ([b515701](https://github.com/sct/overseerr/commit/b5157010c46cd9083993d5ee0172007b83d631da))
* **request:** mark request as approved if media is already available when retrying failed request ([#3244](https://github.com/sct/overseerr/issues/3244)) ([cb65074](https://github.com/sct/overseerr/commit/cb650745f6a33e69391a633e6d272831f314e098))
* restore border to ghost button and fix discover slider visibility toggle position ([#3226](https://github.com/sct/overseerr/issues/3226)) ([2eebb7f](https://github.com/sct/overseerr/commit/2eebb7fd3941b34fe9472aaf9d28265df8cce311))
* restore status badges on titles on actors page when hide available media enabled ([#3206](https://github.com/sct/overseerr/issues/3206)) ([9d3446d](https://github.com/sct/overseerr/commit/9d3446d370499c3251159393e5c791b01225e05c))
* screen would zoom on mobile if date picker input was selected ([#3241](https://github.com/sct/overseerr/issues/3241)) ([3aefddd](https://github.com/sct/overseerr/commit/3aefddd48834d86150d5f5cceb2d08af3a78847b))
* series displayed an empty season with series list/request modal ([#3147](https://github.com/sct/overseerr/issues/3147)) ([2179637](https://github.com/sct/overseerr/commit/2179637d437999290eaa4152f6f37c71fc3d8ba3))
* tooltip shows properly if not in progress ([#3185](https://github.com/sct/overseerr/issues/3185)) ([6face8c](https://github.com/sct/overseerr/commit/6face8cc4564b978fb98af32659b326d8c5cede8))
* update StatusBadgeMini to shrink on title cards (and remove ring) ([#3210](https://github.com/sct/overseerr/issues/3210)) ([042a1a9](https://github.com/sct/overseerr/commit/042a1a950fdd4d4a61edf4bc19657f9b7a526da8))
* discover slider edit arrow buttons for reordering ([#3259](https://github.com/sct/overseerr/issues/3259)) ([da00d45](https://github.com/sct/overseerr/commit/da00d454e17e8b00d04f6e26f6dd5153ed6ced81))
* **lang:** translations update from Hosted Weblate ([#3030](https://github.com/sct/overseerr/issues/3030)) ([0d8b390](https://github.com/sct/overseerr/commit/0d8b390b678731e76bd1f0f8a0a4952c11e77f4d))
* new mobile menu ([#3251](https://github.com/sct/overseerr/issues/3251)) ([fcbca17](https://github.com/sct/overseerr/commit/fcbca1722f31f32633a57bc5048f46c9da057d87))
* translations update from Hosted Weblate ([#3218](https://github.com/sct/overseerr/issues/3218)) ([5940ff7](https://github.com/sct/overseerr/commit/5940ff7f5f62eed9ac5aa6f02803418aaa09813a))
* **ui:** add episode number to front of episode name in season details ([#3086](https://github.com/sct/overseerr/issues/3086)) ([a672b32](https://github.com/sct/overseerr/commit/a672b324ec391a20f6f3a1daed82a8d276a52c2c))
* **ui:** request card progress bar ([#3123](https://github.com/sct/overseerr/issues/3123)) ([03853a1](https://github.com/sct/overseerr/commit/03853a1b9155c8a2153c8885022a74619af1bc15))
* **api:** handle auth for accounts where the plex id may have been set to null ([#3125](https://github.com/sct/overseerr/issues/3125)) ([15e2469](https://github.com/sct/overseerr/commit/15e246929bdbc2b7b5bdab7a84bd7882b79d5cb1))
* added deep links to issues and status badges ([#3065](https://github.com/sct/overseerr/issues/3065)) ([bfe56c3](https://github.com/sct/overseerr/commit/bfe56c347073001795b1c3e917eb7a5afcc4462c))
* remove backdrop-blur class from warning buttons ([#3037](https://github.com/sct/overseerr/issues/3037)) ([430b1ab](https://github.com/sct/overseerr/commit/430b1ab871f8e3eefbebb37c74aa1ce3f0862efe))
* sidebar close button placement when using PWA ([#3045](https://github.com/sct/overseerr/issues/3045)) ([21d20fd](https://github.com/sct/overseerr/commit/21d20fdfd61b7a5a2ec265d420aec103b1430a06))
* **ui:** hide null dates in episodes list ([#3035](https://github.com/sct/overseerr/issues/3035)) ([7404d68](https://github.com/sct/overseerr/commit/7404d68143e830df73b9d2779a6d7ea65bc9fd4f))
* **ui:** minor fixes ([#3036](https://github.com/sct/overseerr/issues/3036)) ([f5c2fc1](https://github.com/sct/overseerr/commit/f5c2fc1c209b2d04f0e39a97d8b65bcac00667dc))
* update API docs to allow 'all' seasons value ([#3073](https://github.com/sct/overseerr/issues/3073)) ([1dfa943](https://github.com/sct/overseerr/commit/1dfa9431a95e7e2a1843746c2473d8a06f03e184))
* **api:** add rate limiter to TMDb requests to hopefully deal with 429s ([#2881](https://github.com/sct/overseerr/issues/2881)) ([aed1409](https://github.com/sct/overseerr/commit/aed1409f29d5b6360e87381d78dfeb4cc86d6fc6)), closes [#2853](https://github.com/sct/overseerr/issues/2853)
* **api:** ignore filter if unset in media route ([#2647](https://github.com/sct/overseerr/issues/2647)) ([a6c1f3f](https://github.com/sct/overseerr/commit/a6c1f3f7ce498e32817cc8c74d439e8d99d6fbf4))
* **api:** lookup shows using english title only ([#2911](https://github.com/sct/overseerr/issues/2911)) ([004e1bb](https://github.com/sct/overseerr/commit/004e1bb17e14bef1697b6b993f6ff92b77cdaeb4)), closes [#2801](https://github.com/sct/overseerr/issues/2801)
* **api:** use correct path param type in openapi spec ([#2834](https://github.com/sct/overseerr/issues/2834)) ([6cd0c9b](https://github.com/sct/overseerr/commit/6cd0c9b2c81db2728ce09a9bc273a9aee366acbc))
* check perms to view watchlist slider on user profile ([#2980](https://github.com/sct/overseerr/issues/2980)) ([5d73bc2](https://github.com/sct/overseerr/commit/5d73bc22389a2606ecc630f88b6ec2328f690975))
* clicking outside modal closes modal again ([#2984](https://github.com/sct/overseerr/issues/2984)) ([1a00532](https://github.com/sct/overseerr/commit/1a0053221b58d198bdcca0249fcd76226122c6a2))
* compatibility issue with safari ([#3019](https://github.com/sct/overseerr/issues/3019)) ([e486623](https://github.com/sct/overseerr/commit/e486623310b1c0de12a5b38bf934543fde250c37))
* correct safe margin for slideover ([#2977](https://github.com/sct/overseerr/issues/2977)) ([23409e6](https://github.com/sct/overseerr/commit/23409e6f2ffb060e7914db28375e141a6087ddfa))
* correct spacing on season header badges ([#2983](https://github.com/sct/overseerr/issues/2983)) ([c4aa08f](https://github.com/sct/overseerr/commit/c4aa08f5f0bcc856e993416936cc74e4db6aed5d))
* do not display 'Request More' button if no requestable seasons ([#2998](https://github.com/sct/overseerr/issues/2998)) ([23f93e3](https://github.com/sct/overseerr/commit/23f93e311d3c4ed413b2fabca520b5c97869c9b8))
* failure to load SearchByNameModal ([#3000](https://github.com/sct/overseerr/issues/3000)) ([410ad0d](https://github.com/sct/overseerr/commit/410ad0d4b40e2ae3ca315a9c808a886ab2c7bf2d))
* **frontend:** better request/media cards for items without valid TMDb IDs ([#2181](https://github.com/sct/overseerr/issues/2181)) ([9bc1f89](https://github.com/sct/overseerr/commit/9bc1f8977707f2d3383a7af8efa0521ced096777))
* issues and login page still had incorrect animations ([#2979](https://github.com/sct/overseerr/issues/2979)) ([095048d](https://github.com/sct/overseerr/commit/095048d94af28f25f88f956aba8e01d1199082f3))
* **lang:** correct capitalization of 'TMDB' ([#2953](https://github.com/sct/overseerr/issues/2953)) ([9021696](https://github.com/sct/overseerr/commit/9021696cf085bd6387701811e64466e14893d1db))
* **lang:** manage movie -> manage series ([#2963](https://github.com/sct/overseerr/issues/2963)) ([f5e6b62](https://github.com/sct/overseerr/commit/f5e6b620c133e38cf18978a619d3d4757bbab755))
* log level value should not be case sensitive ([#2913](https://github.com/sct/overseerr/issues/2913)) ([6428b8d](https://github.com/sct/overseerr/commit/6428b8d4195c736a384441a761a746a35a3ad009))
* manual browser refresh would redirect to home on search page ([#2692](https://github.com/sct/overseerr/issues/2692)) ([b287839](https://github.com/sct/overseerr/commit/b2878390b486e338151f26a2354711147012f88e)), closes [#2683](https://github.com/sct/overseerr/issues/2683)
* new status indicators added to series list on mobile ([#3024](https://github.com/sct/overseerr/issues/3024)) ([407af32](https://github.com/sct/overseerr/commit/407af32d32a30d23ee14a9ff763cb4aa582d3ede))
* **plex:** add container-size header to recently added api call ([#3023](https://github.com/sct/overseerr/issues/3023)) ([d8da5cb](https://github.com/sct/overseerr/commit/d8da5cbe9d0700e02cbece70caf9103bc5376505))
* **recommendations:** only load more titles if there can be more than 40 ([#2749](https://github.com/sct/overseerr/issues/2749)) ([14519ef](https://github.com/sct/overseerr/commit/14519ef5559038b0d9d037a2bdc5d98e63c9db6f)), closes [#2710](https://github.com/sct/overseerr/issues/2710)
* **search:** use correct param to filter movies by year ([#2727](https://github.com/sct/overseerr/issues/2727)) ([1054b4e](https://github.com/sct/overseerr/commit/1054b4e2d7262d841fa83cde624f1138ad7bd23a))
* settings log modal when closing ([#2985](https://github.com/sct/overseerr/issues/2985)) ([4d56320](https://github.com/sct/overseerr/commit/4d563208709fe581ef6bf475e969197d586d907b))
* **ui:** don't show 0 playcount in slideover ([#2714](https://github.com/sct/overseerr/issues/2714)) ([29be659](https://github.com/sct/overseerr/commit/29be6595125017700eccb34d33a0e852f23c97ba))
* **ui:** remove 'all' badge from request cards ([#2992](https://github.com/sct/overseerr/issues/2992)) ([5c01313](https://github.com/sct/overseerr/commit/5c01313cc4c8277de398124848b4481a2b0080b3))
* update Discord ID regex to include 19 digit IDs ([#2860](https://github.com/sct/overseerr/issues/2860)) ([9da8461](https://github.com/sct/overseerr/commit/9da84612254fe0c36b38bc49184cc1fc52ff6212))
* use fallbackData to prepare user data during SSR ([#2968](https://github.com/sct/overseerr/issues/2968)) ([6e60a27](https://github.com/sct/overseerr/commit/6e60a275c7c2451beb1922d66eaa6c5411d36c3d))
* use image.tmdb.org for setup/login backdrop images ([#2966](https://github.com/sct/overseerr/issues/2966)) ([3b26338](https://github.com/sct/overseerr/commit/3b2633812b5ca8cde010b3f8c2ea9a8646b33e1d))
* username will not show undefined on cancel or delete ([#2982](https://github.com/sct/overseerr/issues/2982)) ([b925857](https://github.com/sct/overseerr/commit/b925857dfa27483558eab24bc5f20f654e294a08))
* watch data not required to show Tautulli button ([#2976](https://github.com/sct/overseerr/issues/2976)) ([dd28200](https://github.com/sct/overseerr/commit/dd282000407ae9656640f38561a104916d12571a))
### Features
* add 20th Century Studios to Studio Slider ([#2288](https://github.com/sct/overseerr/issues/2288)) ([b33956e](https://github.com/sct/overseerr/commit/b33956e6b85b2c2fc12e23951c06f36e009fb627))
* **discover:** add Paramount+ to network slider ([#2608](https://github.com/sct/overseerr/issues/2608)) ([1d00229](https://github.com/sct/overseerr/commit/1d00229a485bb2b376e9f63b52c70c7719f5f023))
* **frontend:** a few more tooltips ([#2972](https://github.com/sct/overseerr/issues/2972)) ([815d709](https://github.com/sct/overseerr/commit/815d709bcfa4cca1528cc697defe9cd773ea0089))
* **frontend:** add more tooltips ([#2961](https://github.com/sct/overseerr/issues/2961)) ([950b171](https://github.com/sct/overseerr/commit/950b1712b7449dc48a9c1589950907dd581f069a))
* improved user dropdown ([#2969](https://github.com/sct/overseerr/issues/2969)) ([67f3a38](https://github.com/sct/overseerr/commit/67f3a3829e2f629e72ec3c32b042be2ef08c38e9))
* **jobs:** show current job frequency in edit modal ([#3008](https://github.com/sct/overseerr/issues/3008)) ([99fc9a2](https://github.com/sct/overseerr/commit/99fc9a2da01b1628d5f849ce56f016c0ab26c3db))
* **lang:** add Arabic and Lithuanian display languages ([#2916](https://github.com/sct/overseerr/issues/2916)) ([3db3044](https://github.com/sct/overseerr/commit/3db3044210316817144ecacd81be97f159d0df2b))
* **lang:** translations update from Hosted Weblate ([#2659](https://github.com/sct/overseerr/issues/2659)) ([e939dc6](https://github.com/sct/overseerr/commit/e939dc678e124bd1f630c98d1d4927dba6372af5))
* **lang:** translations update from Hosted Weblate ([#2915](https://github.com/sct/overseerr/issues/2915)) ([a0301e2](https://github.com/sct/overseerr/commit/a0301e2d83b2fca07f69a2c274d4745edef6d0cd))
* **lang:** translations update from Hosted Weblate ([#2958](https://github.com/sct/overseerr/issues/2958)) ([29ab178](https://github.com/sct/overseerr/commit/29ab178fb0048c055a86bc40f7b47117903a3b2c))
* **lang:** translations update from Hosted Weblate ([#2971](https://github.com/sct/overseerr/issues/2971)) ([2950cf4](https://github.com/sct/overseerr/commit/2950cf4438e2d10a9c0543a848519a113527fe91))
* **lang:** translations update from Hosted Weblate ([#2999](https://github.com/sct/overseerr/issues/2999)) ([8672869](https://github.com/sct/overseerr/commit/867286996b805fefd3c16f2a1a05d5f2c10daced))
* **lang:** translations update from Hosted Weblate ([#3006](https://github.com/sct/overseerr/issues/3006)) ([611ceeb](https://github.com/sct/overseerr/commit/611ceeb5f49ec4760f157eafb03b2dae465d476e))
* **lang:** translations update from Hosted Weblate ([#3014](https://github.com/sct/overseerr/issues/3014)) ([3d458dd](https://github.com/sct/overseerr/commit/3d458dd2fdc8807f09af8b4c29bed794b3886f0f))
* **lang:** translations update from Hosted Weblate ([#3026](https://github.com/sct/overseerr/issues/3026)) ([16cb53f](https://github.com/sct/overseerr/commit/16cb53f703a6c42b99aa776515f90b3ed153b382))
* **manage slideover:** show more request override details ([#2772](https://github.com/sct/overseerr/issues/2772)) ([90095bb](https://github.com/sct/overseerr/commit/90095bb18548dfd663a78df1908c40dbf2f99faf))
* **notif:** auto-request notif type ([#2956](https://github.com/sct/overseerr/issues/2956)) ([6c0fd40](https://github.com/sct/overseerr/commit/6c0fd408779bc084698499bca861d042cd735d77))
* **perms:** add new permission for viewing recently added media ([#2129](https://github.com/sct/overseerr/issues/2129)) ([a12697b](https://github.com/sct/overseerr/commit/a12697b06143e9a9c5c240c104faabdf2096ffd3))
* plex deep links for iOS devices ([#2680](https://github.com/sct/overseerr/issues/2680)) ([575da30](https://github.com/sct/overseerr/commit/575da306b03eea3561de8d7dbe1b4b69674c7b2b))
* pull down to refresh ([#2908](https://github.com/sct/overseerr/issues/2908)) ([87825a0](https://github.com/sct/overseerr/commit/87825a0e058162e82634503c81deeff1a59634e5))
* restore option to cache and optimize images locally ([#2964](https://github.com/sct/overseerr/issues/2964)) ([507227a](https://github.com/sct/overseerr/commit/507227aa496a60d1f46ce1a34c13bb162edc4bb6))
* season/episode list on series details ([#2967](https://github.com/sct/overseerr/issues/2967)) ([8a2acb7](https://github.com/sct/overseerr/commit/8a2acb7f2bbe91feb3c6ee45c2066e3a036b83f9))
* show alert/prompt when settings changes require restart ([#2401](https://github.com/sct/overseerr/issues/2401)) ([f3e56da](https://github.com/sct/overseerr/commit/f3e56da3b719285095a59d5a0e822087e095b709))
* tooltip foundation ([#2950](https://github.com/sct/overseerr/issues/2950)) ([16545ee](https://github.com/sct/overseerr/commit/16545eec225ce942b55935019185a94e471fb93b))
* **ui:** revalidate requests slider on discover page ([#2818](https://github.com/sct/overseerr/issues/2818)) ([91e0928](https://github.com/sct/overseerr/commit/91e0928aa0e1353431754750095cb64b93348c21))
* user delete modal shows username and requires confirmation ([#2779](https://github.com/sct/overseerr/issues/2779)) ([36d17fe](https://github.com/sct/overseerr/commit/36d17fed6e4e1ca651a4e29f087b2abb53f794cf))
* view other users' watchlists ([#2959](https://github.com/sct/overseerr/issues/2959)) ([0839718](https://github.com/sct/overseerr/commit/0839718806a04ee094445dd7276bba7f49424ab7))
* add Discord ID setting to general user settings page ([#2406](https://github.com/sct/overseerr/issues/2406)) ([eff665e](https://github.com/sct/overseerr/commit/eff665ef4b688aac881408790304b77bd9a31ddb))
* **css:** rename form-input to form-input-area ([#2613](https://github.com/sct/overseerr/issues/2613)) ([086f0b6](https://github.com/sct/overseerr/commit/086f0b6ce23f607d20c2cec3c73b2e4d1ce9b426))
* **email:** enclose PGP encryption logic in try/catch ([#2519](https://github.com/sct/overseerr/issues/2519)) ([a76b608](https://github.com/sct/overseerr/commit/a76b608ab796944c0c660e3296a7aca6615d69f3))
* **frontend:** disable autocomplete on search field ([#2592](https://github.com/sct/overseerr/issues/2592)) ([82d1617](https://github.com/sct/overseerr/commit/82d16177bf763fe8097b4aae326793e3e21e847d))
* **frontend:** theme-color meta tag ([#2420](https://github.com/sct/overseerr/issues/2420)) ([ff28c9b](https://github.com/sct/overseerr/commit/ff28c9bfebf4a930e2542ee3b3c35f8af4e1b97e))
* **frontend:** various fixes ([#2524](https://github.com/sct/overseerr/issues/2524)) ([c3dbd0d](https://github.com/sct/overseerr/commit/c3dbd0d6913946e0e1b5308edfbb5ca744740223))
* **lang:** rename 'Media' notification types for clarity ([#2400](https://github.com/sct/overseerr/issues/2400)) ([399b037](https://github.com/sct/overseerr/commit/399b0379186ed34dcc436bd95330fd1a05fef4b3))
* **lang:** translations update from Hosted Weblate ([#2625](https://github.com/sct/overseerr/issues/2625)) ([19cdedd](https://github.com/sct/overseerr/commit/19cdedd2a6656b1a852e1cc653bbdb140e978b51))
* **lang:** translations update from Hosted Weblate ([#2639](https://github.com/sct/overseerr/issues/2639)) ([418a533](https://github.com/sct/overseerr/commit/418a533588bbbdbbbb4caee1ef91d57c1ca35717))
* **logs:** handle log message nested extra properties ([#2459](https://github.com/sct/overseerr/issues/2459)) ([d777940](https://github.com/sct/overseerr/commit/d7779408d162949b2eafcacefc8eabe53fae229f))
* **notif:** show event in pop up notification for slack ([#2413](https://github.com/sct/overseerr/issues/2413)) ([d4438c8](https://github.com/sct/overseerr/commit/d4438c82e3753c9b29b6269ad406d263b3fcef4c)), closes [#2408](https://github.com/sct/overseerr/issues/2408)
* **plex:** correctly generate uuid for safari ([#2614](https://github.com/sct/overseerr/issues/2614)) ([d06f2cd](https://github.com/sct/overseerr/commit/d06f2cdb08bfa6f05cf7cec2c408a258fa926b09))
* **plex:** find TV series in addition to movies from IMDb IDs ([#1830](https://github.com/sct/overseerr/issues/1830)) ([30644f6](https://github.com/sct/overseerr/commit/30644f65ea2e8437676422ae0b083c642a836887))
* **plex:** include 'Overseerr' in X-Plex-Device-Name header ([#2635](https://github.com/sct/overseerr/issues/2635)) ([d4f9650](https://github.com/sct/overseerr/commit/d4f9650cd07704a97f8b591b7de7351c1e85b825))
* **plex:** use unique client identifier ([#2602](https://github.com/sct/overseerr/issues/2602)) ([648b346](https://github.com/sct/overseerr/commit/648b346cbe5a941c7e1ec4ddfb276fb0e27ed502))
* **plex:** user import ([#2442](https://github.com/sct/overseerr/issues/2442)) ([86dff12](https://github.com/sct/overseerr/commit/86dff12cdeef6dca92527dd31757a3a4c7f921bf))
* **radarr:** correctly check for existing movies ([#2490](https://github.com/sct/overseerr/issues/2490)) ([5d4b06b](https://github.com/sct/overseerr/commit/5d4b06bbcc6cf6d328f6b4a86c4c0f9b0f3aff3e))
* **requests:** check for existing media of same type when requesting ([#2445](https://github.com/sct/overseerr/issues/2445)) ([eb9ca2e](https://github.com/sct/overseerr/commit/eb9ca2e86f3be3f4ff8ee2e7c4aecdf337d8976d))
* **sonarr:** monitor existing series upon request approval ([#2553](https://github.com/sct/overseerr/issues/2553)) ([aa062d9](https://github.com/sct/overseerr/commit/aa062d921c425d4b64bfdb28a5f102b0c92f7d87))
* **sonarr:** only scan seasons that exist in TMDb ([#2523](https://github.com/sct/overseerr/issues/2523)) ([6168185](https://github.com/sct/overseerr/commit/61681857b123802aaeff02a8f61b1ba046c5d333))
* **tautulli:** fetch additional user history as necessary to return 20 unique media ([#2446](https://github.com/sct/overseerr/issues/2446)) ([7d19de6](https://github.com/sct/overseerr/commit/7d19de6a4af6297be18140ca59402b40f7bbb30b))
### Features
* **about:** show config directory ([#2600](https://github.com/sct/overseerr/issues/2600)) ([0c7373c](https://github.com/sct/overseerr/commit/0c7373c7e89a4ff717efaa7d6a5854f7ccd6a8d3))
* **frontend:** open media management slideover on status badge click ([#2407](https://github.com/sct/overseerr/issues/2407)) ([1f5785d](https://github.com/sct/overseerr/commit/1f5785d6c53b2ca2da67a8ccee72165c052c61a1))
* **lang:** add Albanian display language ([#2605](https://github.com/sct/overseerr/issues/2605)) ([3d32462](https://github.com/sct/overseerr/commit/3d32462f50b4ced0d9205b79003c35d6d1c948a3))
* **lang:** translations update from Hosted Weblate ([#2379](https://github.com/sct/overseerr/issues/2379)) ([bd93168](https://github.com/sct/overseerr/commit/bd93168ba1ed650baf4024569bb6a76811a99820))
* **lang:** translations update from Hosted Weblate ([#2389](https://github.com/sct/overseerr/issues/2389)) ([d2241a4](https://github.com/sct/overseerr/commit/d2241a41877d126a802fc53c925d258af31f34fd))
* **lang:** translations update from Hosted Weblate ([#2404](https://github.com/sct/overseerr/issues/2404)) ([1b29b15](https://github.com/sct/overseerr/commit/1b29b15d7c9a7ec918cb59116d60e1ae2e797dc4))
* **lang:** translations update from Hosted Weblate ([#2405](https://github.com/sct/overseerr/issues/2405)) ([879df20](https://github.com/sct/overseerr/commit/879df20022c8c5d9b32858ac5499d3e4369fc064))
* **lang:** translations update from Hosted Weblate ([#2414](https://github.com/sct/overseerr/issues/2414)) ([88536b1](https://github.com/sct/overseerr/commit/88536b1f9d6e8c1a11e1adf91b85bab4f34b751c))
* **lang:** translations update from Hosted Weblate ([#2425](https://github.com/sct/overseerr/issues/2425)) ([e9d4b63](https://github.com/sct/overseerr/commit/e9d4b6327b50a005ee6c2c3292b6f107e90fc50c))
* **lang:** translations update from Hosted Weblate ([#2428](https://github.com/sct/overseerr/issues/2428)) ([f8b1bcc](https://github.com/sct/overseerr/commit/f8b1bccda44371bb6f3f8f4ceeab900b1df3de31))
* **lang:** translations update from Hosted Weblate ([#2436](https://github.com/sct/overseerr/issues/2436)) ([99c0407](https://github.com/sct/overseerr/commit/99c04072e9f7be8191f25cbcfd5103017b8796eb))
* **lang:** translations update from Hosted Weblate ([#2452](https://github.com/sct/overseerr/issues/2452)) ([b5bd6ee](https://github.com/sct/overseerr/commit/b5bd6ee78f3d4aa14f0c440d1f2a8323dccfa399))
* **lang:** translations update from Hosted Weblate ([#2457](https://github.com/sct/overseerr/issues/2457)) ([92b2d32](https://github.com/sct/overseerr/commit/92b2d32d2e1e1d319410a9e357e1304065a77598))
* **lang:** translations update from Hosted Weblate ([#2489](https://github.com/sct/overseerr/issues/2489)) ([ec08fa6](https://github.com/sct/overseerr/commit/ec08fa67934715ff4a4d618d5b9ff97853913b78))
* **lang:** translations update from Hosted Weblate ([#2508](https://github.com/sct/overseerr/issues/2508)) ([9f4ae34](https://github.com/sct/overseerr/commit/9f4ae34da76707a40e2c89a50c722ffa1c0327c0))
* **lang:** translations update from Hosted Weblate ([#2531](https://github.com/sct/overseerr/issues/2531)) ([54b32eb](https://github.com/sct/overseerr/commit/54b32ebfd6b2eb6aeeea98c25939166eda8cc17f))
* **lang:** translations update from Hosted Weblate ([#2541](https://github.com/sct/overseerr/issues/2541)) ([4549ed3](https://github.com/sct/overseerr/commit/4549ed389e4f25c0946dc01526387e5ac000c3cf))
* **lang:** translations update from Hosted Weblate ([#2611](https://github.com/sct/overseerr/issues/2611)) ([81c75c8](https://github.com/sct/overseerr/commit/81c75c800edf6d36a1082a291ef7e308f338d005))
* **lang:** translations update from Hosted Weblate ([#2629](https://github.com/sct/overseerr/issues/2629)) ([1d0cbd2](https://github.com/sct/overseerr/commit/1d0cbd2e761072be0b4b3de461397ad9f9f681f3))
* **lang:** translations update from Hosted Weblate ([#2645](https://github.com/sct/overseerr/issues/2645)) ([341e3b8](https://github.com/sct/overseerr/commit/341e3b8f0657e09f53ad0b813b051290947343c0))
* **logs:** use separate json file to parse logs for log viewer ([#2399](https://github.com/sct/overseerr/issues/2399)) ([ce31bef](https://github.com/sct/overseerr/commit/ce31bef8a125c5492f2a1cfef0dcf3d8a4e9ee11))
* **notif:** add Pushbullet channel tag ([#2198](https://github.com/sct/overseerr/issues/2198)) ([f9200b7](https://github.com/sct/overseerr/commit/f9200b7977208f9b8267ce3a74bd8a86d6f28f7b))
* **plex:** selective user import ([#2188](https://github.com/sct/overseerr/issues/2188)) ([9cb97db](https://github.com/sct/overseerr/commit/9cb97db13ced5df2dc595cd9033470b1a0750093))
* **search:** filter search results by year ([#2460](https://github.com/sct/overseerr/issues/2460)) ([72c825d](https://github.com/sct/overseerr/commit/72c825d2a5109688bcc1991a30249284bf281500))
* **search:** search by id ([#2082](https://github.com/sct/overseerr/issues/2082)) ([b31cdbf](https://github.com/sct/overseerr/commit/b31cdbf074d5dbecbbf6da135a9b686aea9e3c0e))
* **tautulli:** validate upon saving settings ([#2511](https://github.com/sct/overseerr/issues/2511)) ([1dc900d](https://github.com/sct/overseerr/commit/1dc900d5ce9689d179c9d2f554abc74ca50bd9cb))
* **ui:** add trakt external link ([#2367](https://github.com/sct/overseerr/issues/2367)) ([4e56bae](https://github.com/sct/overseerr/commit/4e56bae98508c1a60aeb3a08560ba1c00acce7e7))
* verify Plex server access during auth for existing users with Plex IDs ([#2458](https://github.com/sct/overseerr/issues/2458)) ([85bb30e](https://github.com/sct/overseerr/commit/85bb30e252c27047ae367491f0e5bb92a7d52605))
* **issues:** only allow edit of own comments & do not allow non-admin delete of issues with comments ([#2248](https://github.com/sct/overseerr/issues/2248)) ([bba09d6](https://github.com/sct/overseerr/commit/bba09d69c1bc55c2f35db5a7986e7c935cc9619c))
* **notif:** only send MEDIA_AVAILABLE notifications for non-declined requests ([#2343](https://github.com/sct/overseerr/issues/2343)) ([fcb0dcf](https://github.com/sct/overseerr/commit/fcb0dcf5be64bf9ca814bfe119586908922099c5))
* **requests:** do not fail request edits if acting user lacks Manage Users permission ([#2338](https://github.com/sct/overseerr/issues/2338)) ([91bfff7](https://github.com/sct/overseerr/commit/91bfff71b7c05c9b9aad2c95282533eefbb6b2e7))
* **servarr:** handle baseurl error when testing connection ([#2294](https://github.com/sct/overseerr/issues/2294)) ([93b5ea2](https://github.com/sct/overseerr/commit/93b5ea20ca590996f6dc90713a76800180d0621c))
* **servarr:** handle servaarr server being unavailable when scanning downloads ([#2358](https://github.com/sct/overseerr/issues/2358)) ([488874f](https://github.com/sct/overseerr/commit/488874fc17e4e4719e90d383b83b1e1a5217213b))
* sort collection parts by release date ([#2368](https://github.com/sct/overseerr/issues/2368)) ([1b3797c](https://github.com/sct/overseerr/commit/1b3797cf6e6ef6b3d8c81e644382f6e3f68cfaaa))
* **ui:** request badge styling in request list ([#2302](https://github.com/sct/overseerr/issues/2302)) ([f2375c9](https://github.com/sct/overseerr/commit/f2375c902b79dcb1f349500862775ae57ea7d406))
### Features
* add production countries to movie/TV detail pages ([#2170](https://github.com/sct/overseerr/issues/2170)) ([30b20df](https://github.com/sct/overseerr/commit/30b20df37a9604ba1c066f89e54a5482a09575ea))
* add quotas, advanced options, and toggles to collection request modal ([#1742](https://github.com/sct/overseerr/issues/1742)) ([af40212](https://github.com/sct/overseerr/commit/af40212a738f8d6d9a5bf26dc20c0c87780d6020))
* **frontend:** add Discovery+ to network slider ([#2345](https://github.com/sct/overseerr/issues/2345)) ([2ded8f5](https://github.com/sct/overseerr/commit/2ded8f5484168bd7b8f45124d9ebdd296a5708d5))
* **lang:** add Polish display language ([#2261](https://github.com/sct/overseerr/issues/2261)) ([c760cea](https://github.com/sct/overseerr/commit/c760ceaa5f36c77fa3ce320fae1b4597d2d8b976))
* **lang:** translated using Weblate (Chinese (Traditional)) ([#2272](https://github.com/sct/overseerr/issues/2272)) ([d401e33](https://github.com/sct/overseerr/commit/d401e33249cbbca6e707479e5f0207e298ef3248))
* **lang:** translations update from Hosted Weblate ([#2277](https://github.com/sct/overseerr/issues/2277)) ([92732fc](https://github.com/sct/overseerr/commit/92732fcb42c56242d16daab00e2d38740b92dea0))
* **lang:** translations update from Hosted Weblate ([#2315](https://github.com/sct/overseerr/issues/2315)) ([6245be1](https://github.com/sct/overseerr/commit/6245be1e10dda67c869b59522c1290e7c100145f))
* **lang:** translations update from Hosted Weblate ([#2320](https://github.com/sct/overseerr/issues/2320)) ([68112fa](https://github.com/sct/overseerr/commit/68112faefbd64d5c71d3eff21620767f88ccfc34))
* **lang:** translations update from Hosted Weblate ([#2325](https://github.com/sct/overseerr/issues/2325)) ([febf067](https://github.com/sct/overseerr/commit/febf0677b880d2fed2822ce510db7cbb0826a920))
* **lang:** translations update from Hosted Weblate ([#2336](https://github.com/sct/overseerr/issues/2336)) ([3f7ef7a](https://github.com/sct/overseerr/commit/3f7ef7af97a807ef38041f4f2642b565aa33d066))
* **lang:** translations update from Hosted Weblate ([#2341](https://github.com/sct/overseerr/issues/2341)) ([33fe0bd](https://github.com/sct/overseerr/commit/33fe0bdd1e00da40e85b4e4b4780134b31a105d2))
* **lang:** translations update from Hosted Weblate ([#2346](https://github.com/sct/overseerr/issues/2346)) ([50dc934](https://github.com/sct/overseerr/commit/50dc9341dd98cb2d8ef3ef6471882a5a9b060afa))
* **lang:** translations update from Hosted Weblate ([#2364](https://github.com/sct/overseerr/issues/2364)) ([d437cc2](https://github.com/sct/overseerr/commit/d437cc25392e9c0881888371ffabc82892a1b15c))
* **lang:** translations update from Hosted Weblate ([#2366](https://github.com/sct/overseerr/issues/2366)) ([cc2b2bc](https://github.com/sct/overseerr/commit/cc2b2bc7a8ecd89e1feb38a907596b16df9bf0fc))
* **lang:** translations update from Hosted Weblate ([#2374](https://github.com/sct/overseerr/issues/2374)) ([b9bedac](https://github.com/sct/overseerr/commit/b9bedac7d7ba85223ecf1d9b93b96e2a490d571a))
* **lang:** translations update from Weblate ([#2226](https://github.com/sct/overseerr/issues/2226)) ([62b3dc5](https://github.com/sct/overseerr/commit/62b3dc5471c28f4d0e4399cb3bc8bfab94cff5ea))
* **lang:** translations update from Weblate ([#2241](https://github.com/sct/overseerr/issues/2241)) ([2b0b8e0](https://github.com/sct/overseerr/commit/2b0b8e05d9c95ff9218cea858a920a2815871186))
* **lang:** translations update from Weblate ([#2244](https://github.com/sct/overseerr/issues/2244)) ([0828b00](https://github.com/sct/overseerr/commit/0828b008badc8b512316799a6787bb7c403658d5))
* **lang:** translations update from Weblate ([#2247](https://github.com/sct/overseerr/issues/2247)) ([8c49309](https://github.com/sct/overseerr/commit/8c49309c35c31f7bcd0b84b0a307febc16842f68))
* **lang:** translations update from Weblate ([#2252](https://github.com/sct/overseerr/issues/2252)) ([99d5000](https://github.com/sct/overseerr/commit/99d50004e58f6b4594df0a171f6bc668635ec50c))
* **lang:** translations update from Weblate ([#2265](https://github.com/sct/overseerr/issues/2265)) ([b1b367a](https://github.com/sct/overseerr/commit/b1b367aac625ed3eb865832c94c2352e5a5c40f5))
* **notif:** 4K media notifications ([#2324](https://github.com/sct/overseerr/issues/2324)) ([88a8c1a](https://github.com/sct/overseerr/commit/88a8c1aa596e1113d6da52e5e8cbe443abc6384f))
* **notif:** add Pushbullet and Pushover agents to user notification settings ([#1740](https://github.com/sct/overseerr/issues/1740)) ([aeb7a48](https://github.com/sct/overseerr/commit/aeb7a48d72cec3fa2b857030aad3eaa0a457a896))
* **search:** close search bar when hitting return ([#2260](https://github.com/sct/overseerr/issues/2260)) ([b423dc1](https://github.com/sct/overseerr/commit/b423dc167d12f0ba49f902876bceb2e876e35f58))
* **ui:** allow admins to edit & approve request from advanced request modal ([#2067](https://github.com/sct/overseerr/issues/2067)) ([340f1a2](https://github.com/sct/overseerr/commit/340f1a211952bd2e8f40f0ea4622b52dbe934e85))
* **api:** return queried user's requests instead of own requests ([#2174](https://github.com/sct/overseerr/issues/2174)) ([0edb1f4](https://github.com/sct/overseerr/commit/0edb1f452b6ff4a49ae2bde15f7273769788cf4f))
* **api:** use query builder for user requests endpoint ([#2119](https://github.com/sct/overseerr/issues/2119)) ([a20f395](https://github.com/sct/overseerr/commit/a20f395c94c97dd7ddbc25590f15def2c9bf13c9))
* **email:** do not attempt to display logo if app URL not configured ([#2125](https://github.com/sct/overseerr/issues/2125)) ([b3b421a](https://github.com/sct/overseerr/commit/b3b421a67408a4a48d23c15341fcdf7aaf19b25a))
* **frontend:** notification type validation ([#2207](https://github.com/sct/overseerr/issues/2207)) ([2f204b9](https://github.com/sct/overseerr/commit/2f204b995269a53ae36f2a8733f27ae6ab70da5a))
* **frontend:** add Hulu to network slider ([#2204](https://github.com/sct/overseerr/issues/2204)) ([1e402f7](https://github.com/sct/overseerr/commit/1e402f710b53c11855aab0abdb4b12c51c30b022))
* **lang:** add Czech and Danish display languages ([#2176](https://github.com/sct/overseerr/issues/2176)) ([8d8db6c](https://github.com/sct/overseerr/commit/8d8db6cf5d98d4e498a31db339d02f8a98057c8d))
* **lang:** translations update from Weblate ([#2101](https://github.com/sct/overseerr/issues/2101)) ([c73cf7b](https://github.com/sct/overseerr/commit/c73cf7b19cbc19e97a777c0facb9264fb0113093))
* **lang:** translations update from Weblate ([#2179](https://github.com/sct/overseerr/issues/2179)) ([e3312ce](https://github.com/sct/overseerr/commit/e3312cef33821c8cb76a4a63bd565c78d67b3e0b))
* **lang:** translations update from Weblate ([#2185](https://github.com/sct/overseerr/issues/2185)) ([dce10f7](https://github.com/sct/overseerr/commit/dce10f743f52cb04036e2cdaee280e26a81b253b))
* **lang:** translations update from Weblate ([#2202](https://github.com/sct/overseerr/issues/2202)) ([492d8e3](https://github.com/sct/overseerr/commit/492d8e3daa5fb99aa9df2a18978085d5ddd581e7))
* **lang:** translations update from Weblate ([#2210](https://github.com/sct/overseerr/issues/2210)) ([0a6ef6c](https://github.com/sct/overseerr/commit/0a6ef6cc81376f7a02f1483109be7ae4ab851c48))
* **servarr:** auto fill base url when testing service if missing ([#1995](https://github.com/sct/overseerr/issues/1995)) ([739f667](https://github.com/sct/overseerr/commit/739f667b54d8dec258b74d0cd8fd8b3b88dcf8d5))
* **ui:** link processing/requested status badges to service URL ([#1761](https://github.com/sct/overseerr/issues/1761)) ([032c14a](https://github.com/sct/overseerr/commit/032c14a22680f62f8106943297b081b68645ce61))
@@ -68,9 +68,9 @@ All help is welcome and greatly appreciated! If you would like to contribute to
- If you are taking on an existing bug or feature ticket, please comment on the [issue](https://github.com/sct/overseerr/issues) to avoid multiple people working on the same thing.
- All commits **must** follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
- It is okay to squash your pull request down into a single commit that fits this standard.
- Pull requests with commits not following this standard will **not** be merged.
- Please make meaningful commits, or squash them.
- Please make meaningful commits, or squash them prior to opening a pull request.
- Do not squash commits once people have begun reviewing your changes.
- Always rebase your commit to the latest `develop` branch. Do **not** merge `develop` into your branch.
- It is your responsibility to keep your branch up-to-date. Your work will **not** be merged unless it is rebased off the latest `develop` branch.
- You can create a "draft" pull request early to get feedback on your work.
@@ -86,7 +86,7 @@ When adding new UI text, please try to adhere to the following guidelines:
1. Be concise and clear, and use as few words as possible to make your point.
2. Use the Oxford comma where appropriate.
3. Use the appropriate Unicode characters for ellipses, arrows, and other special characters/symbols.
4. Capitalize proper nouns, such as Plex, Radarr, Sonarr, Telegram, Slack, Pushover, etc. Be sure to also use the official capitalization for any abbreviations; e.g., TMDb and IMDb have a lowercase 'b', whereas TheTVDB has a capital 'B'.
4. Capitalize proper nouns, such as Plex, Radarr, Sonarr, Telegram, Slack, Pushover, etc. Be sure to also use the official capitalization for any abbreviations; e.g., IMDb has a lowercase 'b', whereas TMDB and TheTVDB have a capital 'B'.
5. Title case headings, button text, and form labels. Note that verbs such as "is" should be capitalized, whereas prepositions like "from" should be lowercase (unless as the first or last word of the string, in which case they are also capitalized).
6. Capitalize the first word in validation error messages, dropdowns, and form "tips." These strings should not end in punctuation.
7. Ensure that toast notification strings are complete sentences ending in punctuation.
You can then add a jail using this filter in `jail.local`. Please see the [Fail2ban documetation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Jails) for details on how to configure the jail.
You can then add a jail using this filter in `jail.local`. Please see the [Fail2ban documentation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Jails) for details on how to configure the jail.
We do not officially support these third-party integrations. If you run into any issues, please seek help on the appropriate support channels for the integration itself!
**We do not officially support these third-party integrations.** If you run into any issues, please seek help on the appropriate support channels for the integration itself!
{% endhint %}
- [Organizr](https://organizr.app/), a HTPC/homelab services organizer
- [Heimdall](https://github.com/linuxserver/Heimdall), an application dashboard and launcher
- [LunaSea](https://docs.lunasea.app/modules/overseerr), a self-hosted controller for mobile and macOS
- [Requestrr](https://github.com/darkalfx/requestrr/wiki/Configuring-Overseerr), a Discord chatbot
- [Doplarr](https://github.com/kiranshila/Doplarr), a Discord request bot
- [Overseerr Assistant](https://github.com/RemiRigal/Overseerr-Assistant), a browser extension for requesting directly from TMDB and IMDb
- [ha-overseerr](https://github.com/vaparr/ha-overseerr), a custom Home Assistant component
- [OverCLIrr](https://github.com/WillFantom/OverCLIrr), a command-line tool
- [Overseerr Exporter](https://github.com/WillFantom/overseerr-exporter), a Prometheus exporter
@@ -10,25 +10,66 @@ After running Overseerr for the first time, configure it by visiting the web UI
## Docker
{% hint style="warning" %}
Be sure to replace `/path/to/appdata/config` in the below examples with a valid host directory path. If this volume mount is not configured correctly, your Overseerr settings/data will not be persisted when the container is recreated (e.g., when updating the image or rebooting your machine).
The `TZ` environment variable value should also be set to the [TZ database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) of your time zone!
{% endhint %}
{% tabs %}
{% tab title="Basic" %}
{% tab title="Docker CLI" %}
For details on the Docker CLI, please [review the official `docker run` documentation](https://docs.docker.com/engine/reference/run/).
**Installation:**
```bash
docker run -d \
--name overseerr \
-e LOG_LEVEL=debug \
-e TZ=Asia/Tokyo \
-e PORT=5055`#optional` \
-p 5055:5055 \
-v /path/to/appdata/config:/app/config \
--restart unless-stopped \
sctx/overseerr
```
To run the container as a specific user/group, you may optionally add `--user=[ user | user:group | uid | uid:gid | user:gid | uid:group ]` to the above command.
**Updating:**
Stop and remove the existing container:
```bash
docker stop overseerr && docker rm overseerr
```
Pull the latest image:
```bash
docker pull sctx/overseerr
```
Finally, run the container with the same parameters originally used to create the container:
```bash
docker run -d ...
```
{% hint style="info" %}
You may alternatively use a third-party updating mechanism, such as [Watchtower](https://github.com/containrrr/watchtower) or [Ouroboros](https://github.com/pyouroboros/ouroboros), to keep Overseerr up-to-date automatically.
{% endhint %}
{% endtab %}
{% tab title="Compose" %}
{% tab title="Docker Compose" %}
**docker-compose.yml:**
For details on how to use Docker Compose, please [review the official Compose documentation](https://docs.docker.com/compose/reference/).
**Installation:**
Define the `overseerr` service in your `docker-compose.yml` as follows:
Then, start all services defined in the Compose file:
```bash
# Stop the Overseerr container
docker stop overseerr
docker-compose up -d
```
# Remove the Overseerr container
docker rm overseerr
**Updating:**
# Pull the latest update
docker pull sctx/overseerr
Pull the latest image:
# Run the Overseerr container with the same parameters as before
docker run -d ...
```bash
docker-compose pull overseerr
```
Then, restart all services defined in the Compose file:
```bash
docker-compose up -d
```
{% endtab %}
{% endtabs %}
{% hint style="info" %}
Use a 3rd party updating mechanism such as [Watchtower](https://github.com/containrrr/watchtower) or [Ouroboros](https://github.com/pyouroboros/ouroboros) to keep Overseerr up-to-date automatically.
{% endhint %}
## Unraid
1. Ensure you have the **Community Applications** plugin installed.
If using a named volume like above, you can safely ignore the warning about the `/app/config` folder being incorrectly mounted on the setup page.
To access the files inside the volume created above, navigate to `\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\overseerr-data\_data` using File Explorer.
{% hint style="info" %}
@@ -133,7 +155,7 @@ Docker on Windows works differently than it does on Linux; it runs Docker inside
**If you must run Docker on Windows, you should put the `/app/config` directory mount inside the VM and not on the Windows host.** (This also applies to other containers with SQLite databases.)
Named volumes, like in the example commands above, are automatically mounted inside the VM.
Named volumes, like in the example commands above, are automatically mounted inside the VM. Therefore the warning on the setup about the `/app/config` folder being incorrectly mounted page should be ignored.
{% endhint %}
## Linux
@@ -144,29 +166,24 @@ The [Overseerr snap](https://snapcraft.io/overseerr) is the only officially supp
Currently, the listening port cannot be changed, so port `5055` will need to be available on your host. To install `snapd`, please refer to the [Snapcraft documentation](https://snapcraft.io/docs/installing-snapd).
{% endhint %}
**To install:**
**Installation:**
```
sudo snap install overseerr
```
{% hint style="danger" %}
To install the development build, add the `--edge` argument to the above command (i.e., `sudo snap install overseerr --edge`). However, note that this version can break any moment. Be prepared to troubleshoot any issues that arise!
{% endhint %}
**Updating:**
Snap will keep Overseerr up-to-date automatically. You can force a refresh by using the following command.
```
```bash
sudo snap refresh
```
**To install the development build:**
```
sudo snap install overseerr --edge
```
{% hint style="danger" %}
This version can break any moment. Be prepared to troubleshoot any issues that arise!
@@ -20,6 +20,12 @@ A more advanced, user-friendly, and secure (if using SSL) method is to set up a
The most secure method (but also the most inconvenient method) is to set up a VPN tunnel to your home server. You would then be able to access Overseerr as if you were on your local network, via `http://LOCAL-IP-ADDRESS:5055`.
### Are there mobile apps for Overseerr?
Since Overseerr has an almost native app experience when installed as a Progressive Web App (PWA), there are no plans to develop mobile apps for Overseerr.
Out of the box, Overseerr already fulfills most of the [PWA install criteria](https://web.dev/install-criteria/). You simply need to make sure that your Overseerr instance is being served over HTTPS (e.g., via a [reverse proxy](../extending-overseerr/reverse-proxy.md)).
### Overseerr is amazing! But it is not translated in my language yet! Can I help with translations?
You sure can! We are using [Weblate](https://hosted.weblate.org/engage/overseerr/) for translations. If your language is not listed, please [open a feature request on GitHub](https://github.com/sct/overseerr/issues/new/choose).
@@ -39,7 +45,7 @@ Overseerr currently supports the following agents:
- New Plex TV
- Legacy Plex TV
- TheTVDB
- TMDb
- TMDB
- [HAMA](https://github.com/ZeroQI/Hama.bundle)
Please verify that your library is using one of the agents previously listed.
@@ -61,7 +67,7 @@ You can also perform the following to verify the media item has a GUID Overseerr
1. Go to the media item in Plex and **"Get info"** and click on **"View XML"**.
2. Verify that the media item's GUID follows one of the below formats:
4. Legacy Plex Movie agent `guid="com.plexapp.agents.imdb://tt0765446"`
@@ -119,3 +125,9 @@ Language profile support for Sonarr was added in [v1.20.0](https://github.com/sc
### I am getting "Username and Password not accepted" when attempting to send email notifications via Gmail!
If you have 2-Step Verification enabled on your account, you will need to create an [app password](https://support.google.com/mail/answer/185833).
### The logo image in email notifications is broken!
This may be an issue with how you are proxying your Overseerr instance. A good first troubleshooting step is to verify that the [`Content-Security-Policy` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) being set by your proxy (if any) is configured appropriately to allow external embedding of the image.
For Gmail users, another possible issue is that Google's image URL proxy is being blocked from fetching the image. If using Cloudflare, overzealous firewall rules could be the culprit.
Users can optionally configure personal notifications in their user settings.
User notifications are separate from system notifications, and the available notification types are dependent on user permissions.
{% endhint %}
## Configuration
### Access Token
[Create an access token](https://www.pushbullet.com/#settings) and set it here to grant Overseerr access to the Pushbullet API.
### Channel Tag (optional)
Optionally, [create a channel](https://www.pushbullet.com/my-channel) to allow other users to follow the notification feed using the specified channel tag.
|`{{notification_type}}` | The type of notification (e.g. `MEDIA_PENDING` or `ISSUE_COMMENT`) |
|`{{event}}` | A friendly description of the notification event |
| `{{subject}}` | The notification subject (typically the media title) |
| `{{message}}` | The notification message body (the media overview/synopsis for request notifications; the issue description for issue notificatons) |
| `{{image}}` | The notification image (typically the media poster) |
### User
### Notify User
These variables are for the target recipient of the notification.
|`{{notifyuser_username}}` | The target notification recipient's username |
|`{{notifyuser_email}}` | The target notification recipient's email address |
|`{{notifyuser_avatar}}` | The target notification recipient's avatar URL |
| `{{notifyuser_settings_discordId}}` | The target notification recipient's Discord ID (if set) |
| `{{notifyuser_settings_telegramChatId}}` | The target notification recipient's Telegram Chat ID (if set) |
{% hint style="info" %}
The `notifyuser` variables are not set for the following notification types, as they are intended for application administrators rather than end users:
The `notifyuser` variables are not defined for the following request notification types, as they are intended for application administrators rather than end users:
- Media Requested
-Media Automatically Approved
-Media Failed
- Request Pending Approval
-Request Automatically Approved
-Request Processing Failed
On the other hand, the `notifyuser` variables _will_ be replaced with the requesting user's information for the below notification types:
-Media Approved
-Media Declined
-Media Available
-Request Approved
-Request Declined
-Request Available
If you would like to use the requesting user's information in your webhook, please instead include the relevant variables from the [Request](#request) section below.
{% endhint %}
@@ -59,28 +64,69 @@ If you would like to use the requesting user's information in your webhook, plea
The following variables must be used as a key in the JSON payload (e.g., `"{{extra}}": []`).
-`{{request}}` This object will be `null` if there is no relevant request object for the notification.
-`{{media}}` This object will be `null` if there is no relevant media object for the notification.
-`{{extra}}`This object will contain the "extra" array of additional data for certain notifications.
@@ -8,9 +8,9 @@ The user account created during Overseerr setup is the "Owner" account, which ca
There are currently two methods to add users to Overseerr: importing Plex users and creating "local users." All new users are created with the [default permissions](../settings/README.md#default-permissions) defined in **Settings → Users**.
### Importing Users from Plex
### Importing Plex Users
Clicking the **Import Users from Plex** button on the **User List** page will fetch the list of users with access to the Plex server from [plex.tv](https://www.plex.tv/), and add them to Overseerr automatically.
Clicking the **Import Plex Users** button on the **User List** page will fetch the list of users with access to the Plex server from [plex.tv](https://www.plex.tv/), and add them to Overseerr automatically.
Importing Plex users is not required, however. Any user with access to the Plex server can log in to Overseerr even if they have not been imported, and will be assigned the configured [default permissions](../settings/README.md#default-permissions) upon their first login.
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.