diff --git a/.all-contributorsrc b/.all-contributorsrc
index bc7fea69..0367e4ac 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -503,6 +503,42 @@
"contributions": [
"translation"
]
+ },
+ {
+ "login": "iceHtwoO",
+ "name": "Alexander Neuhäuser",
+ "avatar_url": "https://avatars.githubusercontent.com/u/27020492?v=4",
+ "profile": "https://github.com/iceHtwoO",
+ "contributions": [
+ "translation"
+ ]
+ },
+ {
+ "login": "liviokanone",
+ "name": "Livio",
+ "avatar_url": "https://avatars.githubusercontent.com/u/37431541?v=4",
+ "profile": "http://www.unext.co.jp",
+ "contributions": [
+ "design"
+ ]
+ },
+ {
+ "login": "tangentThought",
+ "name": "tangentThought",
+ "avatar_url": "https://avatars.githubusercontent.com/u/25516090?v=4",
+ "profile": "https://github.com/tangentThought",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "nicospz",
+ "name": "Nicolás Espinoza",
+ "avatar_url": "https://avatars.githubusercontent.com/u/31373060?v=4",
+ "profile": "https://github.com/nicospz",
+ "contributions": [
+ "code"
+ ]
}
],
"badgeTemplate": "
-orange.svg\"/>",
diff --git a/.dockerignore b/.dockerignore
index ddb02133..3ddaa574 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -21,7 +21,7 @@ docker-compose.yml
docs
LICENSE
node_modules
-public/os_logo_square.png
+public/os_logo_filled.png
public/preview.jpg
snap
stylelint.config.js
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 06cccb78..9945e234 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -12,7 +12,7 @@ jobs:
test:
name: Lint & Test Build
runs-on: ubuntu-20.04
- container: node:14.16-alpine
+ container: node:14.17-alpine
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 13464f61..0f1f661d 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -9,7 +9,7 @@ jobs:
test:
name: Lint & Test Build
runs-on: ubuntu-20.04
- container: node:14.16-alpine
+ container: node:14.17-alpine
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml
index c74e6b13..3e82fe9a 100644
--- a/.github/workflows/snap.yaml
+++ b/.github/workflows/snap.yaml
@@ -20,7 +20,7 @@ jobs:
name: Lint & Test Build
needs: jobs
runs-on: ubuntu-20.04
- container: node:14.16-alpine
+ container: node:14.17-alpine
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
diff --git a/Dockerfile b/Dockerfile
index eda37b31..cb80274e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:14.16-alpine AS BUILD_IMAGE
+FROM node:14.17-alpine AS BUILD_IMAGE
WORKDIR /app
@@ -31,7 +31,7 @@ RUN touch config/DOCKER
RUN echo "{\"commitTag\": \"${COMMIT_TAG}\"}" > committag.json
-FROM node:14.16-alpine
+FROM node:14.17-alpine
WORKDIR /app
diff --git a/Dockerfile.local b/Dockerfile.local
index 64fd61a6..b0b922e1 100644
--- a/Dockerfile.local
+++ b/Dockerfile.local
@@ -1,4 +1,4 @@
-FROM node:14.16-alpine
+FROM node:14.17-alpine
COPY . /app
WORKDIR /app
diff --git a/README.md b/README.md
index 3dbf40fb..02c4a81a 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
@@ -12,7 +12,7 @@
-
+
@@ -143,6 +143,12 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
 littlerooster 🌍 |
 Dustin Hildebrandt 💻 |
 Bruno Guerreiro 🌍 |
+  Alexander Neuhäuser 🌍 |
+  Livio 🎨 |
+
+
+  tangentThought 💻 |
+  Nicolás Espinoza 💻 |
diff --git a/docs/extending-overseerr/reverse-proxy.md b/docs/extending-overseerr/reverse-proxy.md
index 970adb16..1ebb4b46 100644
--- a/docs/extending-overseerr/reverse-proxy.md
+++ b/docs/extending-overseerr/reverse-proxy.md
@@ -145,7 +145,8 @@ location ^~ /overseerr {
sub_filter '/android-' '/$app/android-';
sub_filter '/apple-' '/$app/apple-';
sub_filter '/favicon' '/$app/favicon';
- sub_filter '/logo.png' '/$app/logo.png';
+ sub_filter '/logo_full.svg' '/$app/logo_full.svg';
+ sub_filter '/logo_stacked.svg' '/$app/logo_stacked.svg';
sub_filter '/site.webmanifest' '/$app/site.webmanifest';
}
```
diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md
index 2f4a6354..205aa99f 100644
--- a/docs/getting-started/installation.md
+++ b/docs/getting-started/installation.md
@@ -16,7 +16,7 @@ After running Overseerr for the first time, configure it by visiting the web UI
```bash
docker run -d \
--name overseerr \
- -e LOG_LEVEL=info \
+ -e LOG_LEVEL=debug \
-e TZ=Asia/Tokyo \
-p 5055:5055 \
-v /path/to/appdata/config:/app/config \
@@ -39,7 +39,7 @@ services:
image: sctx/overseerr:latest
container_name: overseerr
environment:
- - LOG_LEVEL=info
+ - LOG_LEVEL=debug
- TZ=Asia/Tokyo
ports:
- 5055:5055
@@ -56,7 +56,7 @@ services:
docker run -d \
--name overseerr \
--user=[ user | user:group | uid | uid:gid | user:gid | uid:group ] \
- -e LOG_LEVEL=info \
+ -e LOG_LEVEL=debug \
-e TZ=Asia/Tokyo \
-p 5055:5055 \
-v /path/to/appdata/config:/app/config \
@@ -99,20 +99,41 @@ Use a 3rd party updating mechanism such as [Watchtower](https://github.com/conta
## Windows
-Please refer to the [Docker Desktop for Windows user manual](https://docs.docker.com/docker-for-windows/) for details on how to install Docker on Windows.
+Please refer to the [Docker Desktop for Windows user manual](https://docs.docker.com/docker-for-windows/) for details on how to install Docker on Windows. There is no need to install a Linux distro if using named volumes like in the example below.
{% hint style="danger" %}
-**WSL2 will need to be installed to prevent DB corruption!** Please see the [Docker Desktop WSL 2 backend documentation](https://docs.docker.com/docker-for-windows/wsl/) for instructions on how to enable WSL2. The command below will only work with WSL2 installed!
+**WSL2 will need to be installed to prevent DB corruption!** Please see the [Docker Desktop WSL 2 backend documentation](https://docs.docker.com/docker-for-windows/wsl/) for instructions on how to enable WSL2. The commands below will only work with WSL2 installed!
{% endhint %}
+First, create a volume to store the configuration data for Overseerr using using either the Docker CLI:
+
```bash
-docker run -d -e LOG_LEVEL=info -e TZ=Asia/Tokyo -p 5055:5055 -v "/your/path/here:/app/config" --restart unless-stopped sctx/overseerr
+docker volume create overseerr-data
```
+or the Docker Desktop app:
+
+1. Open the Docker Desktop app
+2. Head to the Volumes tab
+3. Click on the "New Volume" button near the top right
+4. Enter a name for the volume (example: `overseerr-data`) and hit "Create"
+
+Then, create and start the Overseerr container:
+
+```bash
+docker run -d -e LOG_LEVEL=debug -e TZ=Asia/Tokyo -p 5055:5055 -v "overseerr-data:/app/config" --restart unless-stopped sctx/overseerr
+```
+
+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" %}
Docker on Windows works differently than it does on Linux; it runs Docker inside of a stripped-down Linux VM. Volume mounts are exposed to Docker inside this VM via SMB mounts. While this is fine for media, it is unacceptable for the `/app/config` directory because SMB does not support file locking. This will eventually corrupt your database, which can lead to slow behavior and crashes.
**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.
{% endhint %}
## Linux
diff --git a/docs/support/need-help.md b/docs/support/need-help.md
index ff2a9eb4..8e2cc856 100644
--- a/docs/support/need-help.md
+++ b/docs/support/need-help.md
@@ -35,6 +35,6 @@ Try to answer the following questions:
## How can I share my logs?
-1. Locate the current log file at `/logs/overseerr.log`.
+1. Locate the current log file at `/logs/overseerr.log`.
2. Open the log file and **copy its contents** into a [**secret gist** on GitHub](https://gist.github.com/). If you upload your logs elsewhere, we may ask you to share them again via GitHub Gist.
3. **Share the link/URL to your secret gist** in the [`#support` channel in our Discord server](https://discord.gg/overseerr).
diff --git a/docs/using-overseerr/notifications/email.md b/docs/using-overseerr/notifications/email.md
index 75a51d94..89dfbab4 100644
--- a/docs/using-overseerr/notifications/email.md
+++ b/docs/using-overseerr/notifications/email.md
@@ -24,11 +24,11 @@ Set this to the hostname or IP address of your SMTP host/server.
Set this to a supported port number for your SMTP host. `465` and `587` are commonly used.
-### Enable SSL (optional)
+### Encryption Method
-This setting should only be enabled for ports that use [implicit SSL/TLS](https://tools.ietf.org/html/rfc8314) (e.g., port `465` in most cases).
+In most cases, [Use Implicit TLS](https://tools.ietf.org/html/rfc8314) should be selected for port 465, and [Use STARTTLS if available](https://en.wikipedia.org/wiki/Opportunistic_TLS) for port 587. Please refer to your email provider's documentations for details on how to configure this setting.
-For servers that support [opportunistic TLS/STARTTLS](https://en.wikipedia.org/wiki/Opportunistic_TLS) (typically via port `587`), this setting should **not** be enabled.
+The default value for this setting is **Use STARTTLS if available**.
### SMTP Username & Password
diff --git a/next-env.d.ts b/next-env.d.ts
index 7b7aa2c7..c6643fda 100644
--- a/next-env.d.ts
+++ b/next-env.d.ts
@@ -1,2 +1,3 @@
///
///
+///
diff --git a/next.config.js b/next.config.js
index a48ae97e..f0a623d4 100644
--- a/next.config.js
+++ b/next.config.js
@@ -5,9 +5,6 @@ module.exports = {
images: {
domains: ['image.tmdb.org'],
},
- future: {
- webpack5: true,
- },
webpack(config) {
config.module.rules.push({
test: /\.svg$/,
diff --git a/overseerr-api.yml b/overseerr-api.yml
index 463d8ad1..0a1ef5be 100644
--- a/overseerr-api.yml
+++ b/overseerr-api.yml
@@ -52,9 +52,15 @@ components:
email:
type: string
example: 'hey@itsme.com'
+ readOnly: true
+ username:
+ type: string
plexToken:
type: string
readOnly: true
+ plexUsername:
+ type: string
+ readOnly: true
userType:
type: integer
example: 1
@@ -77,13 +83,6 @@ components:
type: number
example: 5
readOnly: true
- requests:
- type: array
- readOnly: true
- items:
- $ref: '#/components/schemas/MediaRequest'
- settings:
- $ref: '#/components/schemas/UserSettings'
required:
- id
- email
@@ -92,11 +91,11 @@ components:
UserSettings:
type: object
properties:
- discordId:
+ locale:
type: string
region:
type: string
- language:
+ originalLanguage:
type: string
MainSettings:
type: object
@@ -398,7 +397,6 @@ components:
activeLanguageProfileId:
type: number
example: 1
- nullable: true
activeAnimeProfileId:
type: number
nullable: true
@@ -408,6 +406,7 @@ components:
activeAnimeProfileName:
type: string
example: 720p/1080p
+ nullable: true
activeAnimeDirectory:
type: string
nullable: true
@@ -769,6 +768,10 @@ components:
$ref: '#/components/schemas/ExternalIds'
mediaInfo:
$ref: '#/components/schemas/MediaInfo'
+ watchProviders:
+ type: array
+ items:
+ $ref: '#/components/schemas/WatchProviders'
Episode:
type: object
properties:
@@ -943,6 +946,10 @@ components:
$ref: '#/components/schemas/Keyword'
mediaInfo:
$ref: '#/components/schemas/MediaInfo'
+ watchProviders:
+ type: array
+ items:
+ $ref: '#/components/schemas/WatchProviders'
MediaRequest:
type: object
properties:
@@ -953,7 +960,7 @@ components:
status:
type: number
example: 0
- description: Status of the request. 1 = PENDING APPROVAL, 2 = APPROVED, 3 = DECLINED, 4 = AVAILABLE
+ description: Status of the request. 1 = PENDING APPROVAL, 2 = APPROVED, 3 = DECLINED
readOnly: true
media:
$ref: '#/components/schemas/MediaInfo'
@@ -1587,9 +1594,8 @@ components:
UserSettingsNotifications:
type: object
properties:
- notificationAgents:
- type: number
- example: 0
+ notificationTypes:
+ $ref: '#/components/schemas/NotificationAgentTypes'
emailEnabled:
type: boolean
pgpKey:
@@ -1614,6 +1620,52 @@ components:
telegramSendSilently:
type: boolean
nullable: true
+ NotificationAgentTypes:
+ type: object
+ properties:
+ discord:
+ type: number
+ email:
+ type: number
+ pushbullet:
+ type: number
+ pushover:
+ type: number
+ slack:
+ type: number
+ telegram:
+ type: number
+ webhook:
+ type: number
+ webpush:
+ type: number
+ WatchProviders:
+ type: array
+ items:
+ type: object
+ properties:
+ iso_3166_1:
+ type: string
+ link:
+ type: string
+ buy:
+ type: array
+ items:
+ $ref: '#/components/schemas/WatchProviderDetails'
+ flatrate:
+ items:
+ $ref: '#/components/schemas/WatchProviderDetails'
+ WatchProviderDetails:
+ type: object
+ properties:
+ displayPriority:
+ type: number
+ logoPath:
+ type: string
+ id:
+ type: number
+ name:
+ type: string
securitySchemes:
cookieAuth:
type: apiKey
@@ -1842,8 +1894,8 @@ paths:
$ref: '#/components/schemas/PlexLibrary'
/settings/plex/devices/servers:
get:
- summary: Gets the user's available plex servers
- description: Returns a list of available plex servers and their connectivity state
+ summary: Gets the user's available Plex servers
+ description: Returns a list of available Plex servers and their connectivity state
tags:
- settings
responses:
@@ -2980,7 +3032,15 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/User'
+ type: object
+ properties:
+ email:
+ type: string
+ example: 'hey@itsme.com'
+ username:
+ type: string
+ permissions:
+ type: number
responses:
'201':
description: The created user
@@ -2991,7 +3051,7 @@ paths:
put:
summary: Update batch of users
description: |
- Update users with given IDs with provided values in request `body.settings`. You cannot update users' plex tokens through this request.
+ Update users with given IDs with provided values in request `body.settings`. You cannot update users' Plex tokens through this request.
Requires the `MANAGE_USERS` permission.
tags:
@@ -3018,7 +3078,6 @@ paths:
type: array
items:
$ref: '#/components/schemas/User'
-
/user/import-from-plex:
post:
summary: Import all users from Plex
@@ -3067,7 +3126,7 @@ paths:
get:
summary: Get user by ID
description: |
- Retrieves user details in a JSON object.. Requires the `MANAGE_USERS` permission.
+ Retrieves user details in a JSON object. Requires the `MANAGE_USERS` permission.
tags:
- users
parameters:
@@ -4180,6 +4239,9 @@ paths:
type: string
languageProfileId:
type: number
+ userId:
+ type: number
+ nullable: true
required:
- mediaType
- mediaId
diff --git a/package.json b/package.json
index fd9709f6..508623ef 100644
--- a/package.json
+++ b/package.json
@@ -17,11 +17,11 @@
},
"license": "MIT",
"dependencies": {
- "@headlessui/react": "^1.2.0",
+ "@headlessui/react": "^1.3.0",
"@heroicons/react": "^1.0.1",
"@supercharge/request-ip": "^1.1.2",
"@svgr/webpack": "^5.5.0",
- "@tanem/react-nprogress": "^3.0.67",
+ "@tanem/react-nprogress": "^3.0.70",
"ace-builds": "^1.4.12",
"axios": "^0.21.1",
"bcrypt": "^5.0.1",
@@ -33,18 +33,18 @@
"csurf": "^1.11.0",
"email-templates": "^8.0.7",
"express": "^4.17.1",
- "express-openapi-validator": "^4.12.11",
+ "express-openapi-validator": "^4.12.14",
"express-rate-limit": "^5.2.6",
"express-session": "^1.17.2",
"formik": "^2.2.9",
"gravatar-url": "3.1.0",
"intl": "^1.2.5",
"lodash": "^4.17.21",
- "next": "10.1.3",
+ "next": "11.0.1",
"node-cache": "^5.1.2",
"node-schedule": "^2.0.0",
- "nodemailer": "^6.6.1",
- "openpgp": "^5.0.0-2",
+ "nodemailer": "^6.6.2",
+ "openpgp": "^5.0.0-3",
"plex-api": "^5.3.1",
"pug": "^3.0.2",
"react": "17.0.2",
@@ -52,7 +52,7 @@
"react-animate-height": "^2.0.23",
"react-dom": "17.0.2",
"react-intersection-observer": "^8.32.0",
- "react-intl": "5.19.0",
+ "react-intl": "5.20.3",
"react-markdown": "^6.0.2",
"react-select": "^4.3.1",
"react-spring": "^9.2.3",
@@ -61,12 +61,11 @@
"react-truncate-markup": "^5.1.0",
"react-use-clipboard": "1.0.7",
"reflect-metadata": "^0.1.13",
- "secure-random-password": "^0.2.2",
+ "secure-random-password": "^0.2.3",
"sqlite3": "^5.0.2",
"swagger-ui-express": "^4.1.6",
"swr": "^0.5.6",
"typeorm": "0.2.32",
- "uuid": "^8.3.2",
"web-push": "^3.4.4",
"winston": "^3.3.3",
"winston-daily-rotate-file": "^4.5.5",
@@ -75,7 +74,7 @@
"yup": "^0.32.9"
},
"devDependencies": {
- "@babel/cli": "^7.14.3",
+ "@babel/cli": "^7.14.5",
"@commitlint/cli": "^12.1.4",
"@commitlint/config-conventional": "^12.1.4",
"@semantic-release/changelog": "^5.0.1",
@@ -91,35 +90,35 @@
"@types/csurf": "^1.11.1",
"@types/email-templates": "^8.0.3",
"@types/express": "^4.17.12",
- "@types/express-rate-limit": "^5.1.1",
+ "@types/express-rate-limit": "^5.1.2",
"@types/express-session": "^1.17.3",
"@types/lodash": "^4.14.170",
"@types/node": "^15.6.1",
"@types/node-schedule": "^1.3.1",
"@types/nodemailer": "^6.4.2",
- "@types/react": "^17.0.9",
- "@types/react-dom": "^17.0.6",
+ "@types/react": "^17.0.11",
+ "@types/react-dom": "^17.0.8",
"@types/react-select": "^4.0.15",
"@types/react-toast-notifications": "^2.4.1",
"@types/react-transition-group": "^4.4.1",
"@types/secure-random-password": "^0.2.0",
"@types/swagger-ui-express": "^4.1.2",
- "@types/uuid": "^8.3.0",
- "@types/web-push": "^3.3.0",
+ "@types/web-push": "^3.3.1",
"@types/xml2js": "^0.4.8",
"@types/yamljs": "^0.2.31",
"@types/yup": "^0.29.11",
- "@typescript-eslint/eslint-plugin": "^4.26.0",
- "@typescript-eslint/parser": "^4.26.0",
+ "@typescript-eslint/eslint-plugin": "^4.28.0",
+ "@typescript-eslint/parser": "^4.28.0",
"autoprefixer": "^10.2.6",
"babel-plugin-react-intl": "^8.2.25",
"babel-plugin-react-intl-auto": "^3.3.0",
"commitizen": "^4.2.4",
"copyfiles": "^2.4.1",
"cz-conventional-changelog": "^3.3.0",
- "eslint": "^7.27.0",
+ "eslint": "^7.29.0",
+ "eslint-config-next": "^11.0.1",
"eslint-config-prettier": "^8.3.0",
- "eslint-plugin-formatjs": "^2.15.5",
+ "eslint-plugin-formatjs": "^2.16.1",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react": "^7.24.0",
@@ -128,13 +127,13 @@
"husky": "4.3.8",
"lint-staged": "^11.0.0",
"nodemon": "^2.0.7",
- "postcss": "^8.3.0",
+ "postcss": "^8.3.5",
"prettier": "^2.3.1",
- "semantic-release": "^17.4.3",
+ "semantic-release": "^17.4.4",
"semantic-release-docker-buildx": "^1.0.1",
- "tailwindcss": "^2.1.4",
- "ts-node": "^9.1.1",
- "typescript": "^4.3.2"
+ "tailwindcss": "^2.2.2",
+ "ts-node": "^10.0.0",
+ "typescript": "^4.3.4"
},
"resolutions": {
"sqlite3/node-gyp": "^5.1.0"
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
index f246f9fa..d14b10cb 100644
Binary files a/public/android-chrome-192x192.png and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-192x192_maskable.png b/public/android-chrome-192x192_maskable.png
index ecdd7367..2a6f7082 100644
Binary files a/public/android-chrome-192x192_maskable.png and b/public/android-chrome-192x192_maskable.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
index 4910ced2..9dfde238 100644
Binary files a/public/android-chrome-512x512.png and b/public/android-chrome-512x512.png differ
diff --git a/public/android-chrome-512x512_maskable.png b/public/android-chrome-512x512_maskable.png
index 475cf85e..7313c4e4 100644
Binary files a/public/android-chrome-512x512_maskable.png and b/public/android-chrome-512x512_maskable.png differ
diff --git a/public/apple-splash-1125-2436.jpg b/public/apple-splash-1125-2436.jpg
index 92d5e50f..77557222 100644
Binary files a/public/apple-splash-1125-2436.jpg and b/public/apple-splash-1125-2436.jpg differ
diff --git a/public/apple-splash-1136-640.jpg b/public/apple-splash-1136-640.jpg
index c78884e4..00849082 100644
Binary files a/public/apple-splash-1136-640.jpg and b/public/apple-splash-1136-640.jpg differ
diff --git a/public/apple-splash-1170-2532.jpg b/public/apple-splash-1170-2532.jpg
index a75e5e09..bef6cb45 100644
Binary files a/public/apple-splash-1170-2532.jpg and b/public/apple-splash-1170-2532.jpg differ
diff --git a/public/apple-splash-1242-2208.jpg b/public/apple-splash-1242-2208.jpg
index 8fa85721..15cf9c5b 100644
Binary files a/public/apple-splash-1242-2208.jpg and b/public/apple-splash-1242-2208.jpg differ
diff --git a/public/apple-splash-1242-2688.jpg b/public/apple-splash-1242-2688.jpg
index 27b30024..0b822f69 100644
Binary files a/public/apple-splash-1242-2688.jpg and b/public/apple-splash-1242-2688.jpg differ
diff --git a/public/apple-splash-1284-2778.jpg b/public/apple-splash-1284-2778.jpg
index 6c2f6993..41d3f382 100644
Binary files a/public/apple-splash-1284-2778.jpg and b/public/apple-splash-1284-2778.jpg differ
diff --git a/public/apple-splash-1334-750.jpg b/public/apple-splash-1334-750.jpg
index a0637f83..29b88104 100644
Binary files a/public/apple-splash-1334-750.jpg and b/public/apple-splash-1334-750.jpg differ
diff --git a/public/apple-splash-1536-2048.jpg b/public/apple-splash-1536-2048.jpg
index 151a7a8e..04e839bc 100644
Binary files a/public/apple-splash-1536-2048.jpg and b/public/apple-splash-1536-2048.jpg differ
diff --git a/public/apple-splash-1620-2160.jpg b/public/apple-splash-1620-2160.jpg
index 39f2beec..31fb906f 100644
Binary files a/public/apple-splash-1620-2160.jpg and b/public/apple-splash-1620-2160.jpg differ
diff --git a/public/apple-splash-1668-2224.jpg b/public/apple-splash-1668-2224.jpg
index 1a2276da..c7eae485 100644
Binary files a/public/apple-splash-1668-2224.jpg and b/public/apple-splash-1668-2224.jpg differ
diff --git a/public/apple-splash-1668-2388.jpg b/public/apple-splash-1668-2388.jpg
index 6d936318..be83d63c 100644
Binary files a/public/apple-splash-1668-2388.jpg and b/public/apple-splash-1668-2388.jpg differ
diff --git a/public/apple-splash-1792-828.jpg b/public/apple-splash-1792-828.jpg
index 82a1414f..fdd950f3 100644
Binary files a/public/apple-splash-1792-828.jpg and b/public/apple-splash-1792-828.jpg differ
diff --git a/public/apple-splash-2048-1536.jpg b/public/apple-splash-2048-1536.jpg
index f6d31f0a..a35fcadd 100644
Binary files a/public/apple-splash-2048-1536.jpg and b/public/apple-splash-2048-1536.jpg differ
diff --git a/public/apple-splash-2048-2732.jpg b/public/apple-splash-2048-2732.jpg
index 35205f1f..51ba3075 100644
Binary files a/public/apple-splash-2048-2732.jpg and b/public/apple-splash-2048-2732.jpg differ
diff --git a/public/apple-splash-2160-1620.jpg b/public/apple-splash-2160-1620.jpg
index 3d42ae04..f7bc1a1b 100644
Binary files a/public/apple-splash-2160-1620.jpg and b/public/apple-splash-2160-1620.jpg differ
diff --git a/public/apple-splash-2208-1242.jpg b/public/apple-splash-2208-1242.jpg
index 44502477..5485fa8f 100644
Binary files a/public/apple-splash-2208-1242.jpg and b/public/apple-splash-2208-1242.jpg differ
diff --git a/public/apple-splash-2224-1668.jpg b/public/apple-splash-2224-1668.jpg
index 46549038..0ccadef6 100644
Binary files a/public/apple-splash-2224-1668.jpg and b/public/apple-splash-2224-1668.jpg differ
diff --git a/public/apple-splash-2388-1668.jpg b/public/apple-splash-2388-1668.jpg
index e08eb7c4..f9d3c2d1 100644
Binary files a/public/apple-splash-2388-1668.jpg and b/public/apple-splash-2388-1668.jpg differ
diff --git a/public/apple-splash-2436-1125.jpg b/public/apple-splash-2436-1125.jpg
index 64cb66a3..ee7916db 100644
Binary files a/public/apple-splash-2436-1125.jpg and b/public/apple-splash-2436-1125.jpg differ
diff --git a/public/apple-splash-2532-1170.jpg b/public/apple-splash-2532-1170.jpg
index f732a3ed..896f739e 100644
Binary files a/public/apple-splash-2532-1170.jpg and b/public/apple-splash-2532-1170.jpg differ
diff --git a/public/apple-splash-2688-1242.jpg b/public/apple-splash-2688-1242.jpg
index 87889500..0b567218 100644
Binary files a/public/apple-splash-2688-1242.jpg and b/public/apple-splash-2688-1242.jpg differ
diff --git a/public/apple-splash-2732-2048.jpg b/public/apple-splash-2732-2048.jpg
index 8d432828..b6dac3e7 100644
Binary files a/public/apple-splash-2732-2048.jpg and b/public/apple-splash-2732-2048.jpg differ
diff --git a/public/apple-splash-2778-1284.jpg b/public/apple-splash-2778-1284.jpg
index a5a74684..25fdea36 100644
Binary files a/public/apple-splash-2778-1284.jpg and b/public/apple-splash-2778-1284.jpg differ
diff --git a/public/apple-splash-640-1136.jpg b/public/apple-splash-640-1136.jpg
index 9a64bba6..36b8d0b9 100644
Binary files a/public/apple-splash-640-1136.jpg and b/public/apple-splash-640-1136.jpg differ
diff --git a/public/apple-splash-750-1334.jpg b/public/apple-splash-750-1334.jpg
index a6942629..0bab31b6 100644
Binary files a/public/apple-splash-750-1334.jpg and b/public/apple-splash-750-1334.jpg differ
diff --git a/public/apple-splash-828-1792.jpg b/public/apple-splash-828-1792.jpg
index 95f97c08..bf48283b 100644
Binary files a/public/apple-splash-828-1792.jpg and b/public/apple-splash-828-1792.jpg differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
index 34c700e2..e3789e05 100644
Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ
diff --git a/public/badge-128x128.png b/public/badge-128x128.png
index 0ef0e6a0..9f94a637 100644
Binary files a/public/badge-128x128.png and b/public/badge-128x128.png differ
diff --git a/public/clock-icon-192x192.png b/public/clock-icon-192x192.png
index d7e57dd0..a671e35c 100644
Binary files a/public/clock-icon-192x192.png and b/public/clock-icon-192x192.png differ
diff --git a/public/cog-icon-192x192.png b/public/cog-icon-192x192.png
index 99d11405..a40a6a9d 100644
Binary files a/public/cog-icon-192x192.png and b/public/cog-icon-192x192.png differ
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
index b632b9f1..4f85c306 100644
Binary files a/public/favicon-16x16.png and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
index 8cd58e54..f6e68a09 100644
Binary files a/public/favicon-32x32.png and b/public/favicon-32x32.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
index 7346f636..c15cf8bf 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/public/images/overseerr_poster_not_found.png b/public/images/overseerr_poster_not_found.png
index 2f5bc203..e2bae10f 100644
Binary files a/public/images/overseerr_poster_not_found.png and b/public/images/overseerr_poster_not_found.png differ
diff --git a/public/images/overseerr_poster_not_found_logo_center.png b/public/images/overseerr_poster_not_found_logo_center.png
index 2ecd84b0..1a1e5752 100644
Binary files a/public/images/overseerr_poster_not_found_logo_center.png and b/public/images/overseerr_poster_not_found_logo_center.png differ
diff --git a/public/images/overseerr_poster_not_found_logo_top.png b/public/images/overseerr_poster_not_found_logo_top.png
index a74b096e..6e58dfda 100644
Binary files a/public/images/overseerr_poster_not_found_logo_top.png and b/public/images/overseerr_poster_not_found_logo_top.png differ
diff --git a/public/logo.png b/public/logo.png
deleted file mode 100644
index 7b61ea02..00000000
Binary files a/public/logo.png and /dev/null differ
diff --git a/public/logo_full.png b/public/logo_full.png
new file mode 100644
index 00000000..3ac4cdce
Binary files /dev/null and b/public/logo_full.png differ
diff --git a/public/logo_full.svg b/public/logo_full.svg
new file mode 100644
index 00000000..6093c3d8
--- /dev/null
+++ b/public/logo_full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/logo_stacked.svg b/public/logo_stacked.svg
new file mode 100644
index 00000000..946e7901
--- /dev/null
+++ b/public/logo_stacked.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/offline.html b/public/offline.html
index 01658360..12c6c29f 100644
--- a/public/offline.html
+++ b/public/offline.html
@@ -31,7 +31,7 @@
You are offline
-
+