diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ab5f59dae..1835e949f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -97,7 +97,7 @@ When adding new UI text, please try to adhere to the following guidelines:
## Translation
-We use [Weblate](https://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/) for our translations, and your help with localizing Overseerr would be greatly appreciated! If your language is not listed below, please [open a feature request](https://github.com/fallenbagel/jellyseerr/issues/new/choose).
+We use [Weblate](https://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/) for our translations, and your help with localizing Jellyseerr would be greatly appreciated! If your language is not listed below, please [open a feature request](https://github.com/fallenbagel/jellyseerr/issues/new/choose).
diff --git a/cypress/config/settings.cypress.json b/cypress/config/settings.cypress.json
index e49d8888b..f376d8804 100644
--- a/cypress/config/settings.cypress.json
+++ b/cypress/config/settings.cypress.json
@@ -4,7 +4,7 @@
"vapidPublic": "BK_EpP8NDm9waor2zn6_S28o3ZYv4kCkJOfYpO3pt3W6jnPmxrgTLANUBNbbyaNatPnSQ12De9CeqSYQrqWzHTs",
"main": {
"apiKey": "testkey",
- "applicationTitle": "Overseerr",
+ "applicationTitle": "Jellyseerr",
"applicationUrl": "",
"csrfProtection": false,
"cacheImages": false,
@@ -71,7 +71,7 @@
"ignoreTls": false,
"requireTls": false,
"allowSelfSigned": false,
- "senderName": "Overseerr"
+ "senderName": "Jellyseerr"
}
},
"discord": {
diff --git a/overseerr-api.yml b/jellyseerr-api.yml
similarity index 99%
rename from overseerr-api.yml
rename to jellyseerr-api.yml
index a713a5a19..ddd942027 100644
--- a/overseerr-api.yml
+++ b/jellyseerr-api.yml
@@ -1,19 +1,19 @@
openapi: '3.0.2'
info:
- title: 'Overseerr API'
+ title: 'Jellyseerr API'
version: '1.0.0'
description: |
- This is the documentation for the Overseerr API backend.
+ This is the documentation for the Jellyseerr API backend.
Two primary authentication methods are supported:
- **Cookie Authentication**: A valid sign-in to the `/auth/plex` or `/auth/local` will generate a valid authentication cookie.
- - **API Key Authentication**: Sign-in is also possible by passing an `X-Api-Key` header along with a valid API Key generated by Overseerr.
+ - **API Key Authentication**: Sign-in is also possible by passing an `X-Api-Key` header along with a valid API Key generated by Jellyseerr.
tags:
- name: public
description: Public API endpoints requiring no authentication.
- name: settings
- description: Endpoints related to Overseerr's settings and configuration.
+ description: Endpoints related to Jellyseerr's settings and configuration.
- name: auth
description: Endpoints related to logging in or out, and the currently authenticated user.
- name: users
@@ -160,7 +160,7 @@ components:
example: en
applicationTitle:
type: string
- example: Overseerr
+ example: Jellyseerr
applicationUrl:
type: string
example: https://os.example.com
@@ -1438,7 +1438,7 @@ components:
example: no-reply@example.com
senderName:
type: string
- example: Overseerr
+ example: Jellyseerr
smtpHost:
type: string
example: 127.0.0.1
@@ -1969,8 +1969,8 @@ components:
paths:
/status:
get:
- summary: Get Overseerr status
- description: Returns the current Overseerr status in a JSON object.
+ summary: Get Jellyseerr status
+ description: Returns the current Jellyseerr status in a JSON object.
security: []
tags:
- public
diff --git a/package.json b/package.json
index 745120205..ce508dd31 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
"scripts": {
"preinstall": "npx only-allow pnpm",
"postinstall": "node postinstall-win.js",
- "dev": "nodemon -e ts --watch server --watch overseerr-api.yml -e .json,.ts,.yml -x ts-node -r tsconfig-paths/register --files --project server/tsconfig.json server/index.ts",
+ "dev": "nodemon -e ts --watch server --watch jellyseerr-api.yml -e .json,.ts,.yml -x ts-node -r tsconfig-paths/register --files --project server/tsconfig.json server/index.ts",
"build:server": "tsc --project server/tsconfig.json && copyfiles -u 2 server/templates/**/*.{html,pug} dist/templates && tsc-alias -p server/tsconfig.json",
"build:next": "next build",
"build": "pnpm build:next && pnpm build:server",
diff --git a/public/images/overseerr_poster_not_found.png b/public/images/jellyseerr_poster_not_found.png
similarity index 100%
rename from public/images/overseerr_poster_not_found.png
rename to public/images/jellyseerr_poster_not_found.png
diff --git a/public/images/overseerr_poster_not_found_logo_center.png b/public/images/jellyseerr_poster_not_found_logo_center.png
similarity index 100%
rename from public/images/overseerr_poster_not_found_logo_center.png
rename to public/images/jellyseerr_poster_not_found_logo_center.png
diff --git a/public/images/overseerr_poster_not_found_logo_top.png b/public/images/jellyseerr_poster_not_found_logo_top.png
similarity index 100%
rename from public/images/overseerr_poster_not_found_logo_top.png
rename to public/images/jellyseerr_poster_not_found_logo_top.png
diff --git a/server/api/github.ts b/server/api/github.ts
index c2c3fe6a5..500272188 100644
--- a/server/api/github.ts
+++ b/server/api/github.ts
@@ -72,7 +72,7 @@ class GithubAPI extends ExternalAPI {
);
}
- public async getOverseerrReleases({
+ public async getJellyseerrReleases({
take = 20,
}: {
take?: number;
@@ -88,14 +88,14 @@ class GithubAPI extends ExternalAPI {
return data;
} catch (e) {
logger.warn(
- "Failed to retrieve GitHub releases. This may be an issue on GitHub's end. Overseerr can't check if it's on the latest version.",
+ "Failed to retrieve GitHub releases. This may be an issue on GitHub's end. Jellyseerr can't check if it's on the latest version.",
{ label: 'GitHub API', errorMessage: e.message }
);
return [];
}
}
- public async getOverseerrCommits({
+ public async getJellyseerrCommits({
take = 20,
branch = 'develop',
}: {
@@ -114,7 +114,7 @@ class GithubAPI extends ExternalAPI {
return data;
} catch (e) {
logger.warn(
- "Failed to retrieve GitHub commits. This may be an issue on GitHub's end. Overseerr can't check if it's on the latest version.",
+ "Failed to retrieve GitHub commits. This may be an issue on GitHub's end. Jellyseerr can't check if it's on the latest version.",
{ label: 'GitHub API', errorMessage: e.message }
);
return [];
diff --git a/server/api/plexapi.ts b/server/api/plexapi.ts
index 977d367b1..5007fe05e 100644
--- a/server/api/plexapi.ts
+++ b/server/api/plexapi.ts
@@ -124,9 +124,9 @@ class PlexAPI {
// },
options: {
identifier: settings.clientId,
- product: 'Overseerr',
- deviceName: 'Overseerr',
- platform: 'Overseerr',
+ product: 'Jellyseerr',
+ deviceName: 'Jellyseerr',
+ platform: 'Jellyseerr',
},
});
}
diff --git a/server/index.ts b/server/index.ts
index e4e872ab6..88baedb86 100644
--- a/server/index.ts
+++ b/server/index.ts
@@ -41,9 +41,9 @@ import path from 'path';
import swaggerUi from 'swagger-ui-express';
import YAML from 'yamljs';
-const API_SPEC_PATH = path.join(__dirname, '../overseerr-api.yml');
+const API_SPEC_PATH = path.join(__dirname, '../jellyseerr-api.yml');
-logger.info(`Starting Overseerr version ${getAppVersion()}`);
+logger.info(`Starting Jellyseerr version ${getAppVersion()}`);
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();
diff --git a/server/lib/notifications/agents/slack.ts b/server/lib/notifications/agents/slack.ts
index 7a3b9790d..1d6485cc5 100644
--- a/server/lib/notifications/agents/slack.ts
+++ b/server/lib/notifications/agents/slack.ts
@@ -188,7 +188,7 @@ class SlackAgent
type: 'actions',
elements: [
{
- action_id: 'open-in-overseerr',
+ action_id: 'open-in-jellyseerr',
type: 'button',
url,
text: {
diff --git a/server/lib/watchlistsync.ts b/server/lib/watchlistsync.ts
index 4919bf70c..ed4887677 100644
--- a/server/lib/watchlistsync.ts
+++ b/server/lib/watchlistsync.ts
@@ -130,7 +130,7 @@ class WatchlistSync {
switch (e.constructor) {
// During watchlist sync, these errors aren't necessarily
- // a problem with Overseerr. Since we are auto syncing these constantly, it's
+ // a problem with Jellyseerr. Since we are auto syncing these constantly, it's
// possible they are unexpectedly at their quota limit, for example. So we'll
// instead log these as debug messages.
case RequestPermissionError:
diff --git a/server/logger.ts b/server/logger.ts
index d5809a0ed..4708dd20d 100644
--- a/server/logger.ts
+++ b/server/logger.ts
@@ -43,14 +43,14 @@ const logger = winston.createLogger({
}),
new winston.transports.DailyRotateFile({
filename: process.env.CONFIG_DIRECTORY
- ? `${process.env.CONFIG_DIRECTORY}/logs/overseerr-%DATE%.log`
- : path.join(__dirname, '../config/logs/overseerr-%DATE%.log'),
+ ? `${process.env.CONFIG_DIRECTORY}/logs/jellyseerr-%DATE%.log`
+ : path.join(__dirname, '../config/logs/jellyseerr-%DATE%.log'),
datePattern: 'YYYY-MM-DD',
zippedArchive: true,
maxSize: '20m',
maxFiles: '7d',
createSymlink: true,
- symlinkName: 'overseerr.log',
+ symlinkName: 'jellyseerr.log',
}),
new winston.transports.DailyRotateFile({
filename: process.env.CONFIG_DIRECTORY
diff --git a/server/routes/auth.ts b/server/routes/auth.ts
index 31c846adc..4e470831a 100644
--- a/server/routes/auth.ts
+++ b/server/routes/auth.ts
@@ -158,7 +158,7 @@ authRoutes.post('/plex', async (req, res, next) => {
});
} else {
logger.info(
- 'Sign-in attempt from Plex user with access to the media server; creating new Overseerr user',
+ 'Sign-in attempt from Plex user with access to the media server; creating new Jellyseerr user',
{
label: 'API',
ip: req.ip,
@@ -274,7 +274,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
if (user) {
deviceId = user.jellyfinDeviceId ?? '';
} else {
- deviceId = Buffer.from(`BOT_overseerr_${body.username ?? ''}`).toString(
+ deviceId = Buffer.from(`BOT_jellyseerr_${body.username ?? ''}`).toString(
'base64'
);
}
@@ -446,7 +446,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
});
} else if (!user) {
logger.info(
- 'Sign-in attempt from Jellyfin user with access to the media server; creating new Overseerr user',
+ 'Sign-in attempt from Jellyfin user with access to the media server; creating new Jellyseerr user',
{
label: 'API',
ip: req.ip,
@@ -584,7 +584,7 @@ authRoutes.post('/local', async (req, res, next) => {
.getOne();
if (!user || !(await user.passwordMatch(body.password))) {
- logger.warn('Failed sign-in attempt using invalid Overseerr password', {
+ logger.warn('Failed sign-in attempt using invalid Jellyseerr password', {
label: 'API',
ip: req.ip,
email: body.email,
@@ -674,7 +674,7 @@ authRoutes.post('/local', async (req, res, next) => {
return res.status(200).json(user?.filter() ?? {});
} catch (e) {
logger.error(
- 'Something went wrong authenticating with Overseerr password',
+ 'Something went wrong authenticating with Jellyseerr password',
{
label: 'API',
errorMessage: e.message,
diff --git a/server/routes/index.ts b/server/routes/index.ts
index f064e6031..7d0ad5d8e 100644
--- a/server/routes/index.ts
+++ b/server/routes/index.ts
@@ -55,7 +55,7 @@ router.get('/status', async (req, res) => {
let commitsBehind = 0;
if (currentVersion.startsWith('develop-') && commitTag !== 'local') {
- const commits = await githubApi.getOverseerrCommits();
+ const commits = await githubApi.getJellyseerrCommits();
if (commits.length) {
const filteredCommits = commits.filter(
@@ -74,7 +74,7 @@ router.get('/status', async (req, res) => {
}
}
} else if (commitTag !== 'local') {
- const releases = await githubApi.getOverseerrReleases();
+ const releases = await githubApi.getJellyseerrReleases();
if (releases.length) {
const latestVersion = releases[0];
@@ -403,7 +403,7 @@ router.get('/watchproviders/tv', async (req, res, next) => {
router.get('/', (_req, res) => {
return res.status(200).json({
- api: 'Overseerr API',
+ api: 'Jellyseerr API',
version: '1.0',
});
});
diff --git a/server/routes/user/usersettings.ts b/server/routes/user/usersettings.ts
index ac89b048f..ab6bd7370 100644
--- a/server/routes/user/usersettings.ts
+++ b/server/routes/user/usersettings.ts
@@ -419,7 +419,7 @@ userSettingsRoutes.post<{ username: string; password: string }>(
const hostname = getHostname();
const deviceId = Buffer.from(
- `BOT_overseerr_${req.user.username ?? ''}`
+ `BOT_jellyseerr_${req.user.username ?? ''}`
).toString('base64');
const jellyfinserver = new JellyfinAPI(hostname, undefined, deviceId);
diff --git a/src/components/Blacklist/index.tsx b/src/components/Blacklist/index.tsx
index a752e95f8..a8b8dae7f 100644
--- a/src/components/Blacklist/index.tsx
+++ b/src/components/Blacklist/index.tsx
@@ -298,7 +298,7 @@ const BlacklistedItem = ({ item, revalidateList }: BlacklistedItemProps) => {
src={
title?.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${title.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/components/CollectionDetails/index.tsx b/src/components/CollectionDetails/index.tsx
index d9c9a813c..c56781e8e 100644
--- a/src/components/CollectionDetails/index.tsx
+++ b/src/components/CollectionDetails/index.tsx
@@ -233,7 +233,7 @@ const CollectionDetails = ({ collection }: CollectionDetailsProps) => {
src={
data.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${data.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/components/IssueDetails/index.tsx b/src/components/IssueDetails/index.tsx
index 5ceb5796c..d41a6684f 100644
--- a/src/components/IssueDetails/index.tsx
+++ b/src/components/IssueDetails/index.tsx
@@ -240,7 +240,7 @@ const IssueDetails = () => {
src={
data.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${data.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/components/IssueList/IssueItem/index.tsx b/src/components/IssueList/IssueItem/index.tsx
index 7fd58b5e6..53c618fea 100644
--- a/src/components/IssueList/IssueItem/index.tsx
+++ b/src/components/IssueList/IssueItem/index.tsx
@@ -142,7 +142,7 @@ const IssueItem = ({ issue }: IssueItemProps) => {
src={
title.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${title.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/components/MovieDetails/index.tsx b/src/components/MovieDetails/index.tsx
index 72a598f0f..3fb88ab34 100644
--- a/src/components/MovieDetails/index.tsx
+++ b/src/components/MovieDetails/index.tsx
@@ -505,7 +505,7 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => {
src={
data.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${data.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/components/PWAHeader/index.tsx b/src/components/PWAHeader/index.tsx
index 0dde7e421..777b63e0c 100644
--- a/src/components/PWAHeader/index.tsx
+++ b/src/components/PWAHeader/index.tsx
@@ -2,7 +2,7 @@ interface PWAHeaderProps {
applicationTitle?: string;
}
-const PWAHeader = ({ applicationTitle = 'Overseerr' }: PWAHeaderProps) => {
+const PWAHeader = ({ applicationTitle = 'Jellyseerr' }: PWAHeaderProps) => {
return (
<>
{
src={
title.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${title.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/components/RequestList/RequestItem/index.tsx b/src/components/RequestList/RequestItem/index.tsx
index 018fa9154..3d64941ed 100644
--- a/src/components/RequestList/RequestItem/index.tsx
+++ b/src/components/RequestList/RequestItem/index.tsx
@@ -453,7 +453,7 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => {
src={
title.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${title.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/components/RequestModal/CollectionRequestModal.tsx b/src/components/RequestModal/CollectionRequestModal.tsx
index 28aae73a2..4dd795241 100644
--- a/src/components/RequestModal/CollectionRequestModal.tsx
+++ b/src/components/RequestModal/CollectionRequestModal.tsx
@@ -441,7 +441,7 @@ const CollectionRequestModal = ({
src={
part.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${part.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/components/RequestModal/SearchByNameModal/index.tsx b/src/components/RequestModal/SearchByNameModal/index.tsx
index 1b86b614a..1aa55f3f7 100644
--- a/src/components/RequestModal/SearchByNameModal/index.tsx
+++ b/src/components/RequestModal/SearchByNameModal/index.tsx
@@ -92,7 +92,7 @@ const SearchByNameModal = ({
stdout, or in {appDataPath}/logs/overseerr.log.',
+ 'You can also view these logs directly via stdout, or in {appDataPath}/logs/jellyseerr.log.',
time: 'Timestamp',
level: 'Severity',
label: 'Label',
diff --git a/src/components/TitleCard/index.tsx b/src/components/TitleCard/index.tsx
index 6312994e8..8b6d68745 100644
--- a/src/components/TitleCard/index.tsx
+++ b/src/components/TitleCard/index.tsx
@@ -352,7 +352,7 @@ const TitleCard = ({
src={
image
? `https://image.tmdb.org/t/p/w300_and_h450_face${image}`
- : `/images/overseerr_poster_not_found_logo_top.png`
+ : `/images/jellyseerr_poster_not_found_logo_top.png`
}
style={{ width: '100%', height: '100%', objectFit: 'cover' }}
fill
diff --git a/src/components/TvDetails/index.tsx b/src/components/TvDetails/index.tsx
index 77349b5e1..b4f0389fb 100644
--- a/src/components/TvDetails/index.tsx
+++ b/src/components/TvDetails/index.tsx
@@ -547,7 +547,7 @@ const TvDetails = ({ tv }: TvDetailsProps) => {
src={
data.posterPath
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${data.posterPath}`
- : '/images/overseerr_poster_not_found.png'
+ : '/images/jellyseerr_poster_not_found.png'
}
alt=""
sizes="100vw"
diff --git a/src/context/SettingsContext.tsx b/src/context/SettingsContext.tsx
index ee94e092e..a1b69ae22 100644
--- a/src/context/SettingsContext.tsx
+++ b/src/context/SettingsContext.tsx
@@ -10,7 +10,7 @@ export interface SettingsContextProps {
const defaultSettings = {
initialized: false,
- applicationTitle: 'Overseerr',
+ applicationTitle: 'Jellyseerr',
applicationUrl: '',
hideAvailable: false,
localLogin: true,
diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json
index bd2ce8647..73dfc7b8c 100644
--- a/src/i18n/locale/en.json
+++ b/src/i18n/locale/en.json
@@ -904,7 +904,7 @@
"components.Settings.SettingsLogs.level": "Severity",
"components.Settings.SettingsLogs.logDetails": "Log Details",
"components.Settings.SettingsLogs.logs": "Logs",
- "components.Settings.SettingsLogs.logsDescription": "You can also view these logs directly via stdout, or in {appDataPath}/logs/overseerr.log.",
+ "components.Settings.SettingsLogs.logsDescription": "You can also view these logs directly via stdout, or in {appDataPath}/logs/jellyseerr.log.",
"components.Settings.SettingsLogs.message": "Message",
"components.Settings.SettingsLogs.pauseLogs": "Pause",
"components.Settings.SettingsLogs.resumeLogs": "Resume",
diff --git a/src/utils/plex.ts b/src/utils/plex.ts
index 448da94a8..5c0d1906e 100644
--- a/src/utils/plex.ts
+++ b/src/utils/plex.ts
@@ -57,14 +57,14 @@ class PlexOAuth {
const browser = Bowser.getParser(window.navigator.userAgent);
this.plexHeaders = {
Accept: 'application/json',
- 'X-Plex-Product': 'Overseerr',
+ 'X-Plex-Product': 'Jellyseerr',
'X-Plex-Version': 'Plex OAuth',
'X-Plex-Client-Identifier': clientId,
'X-Plex-Model': 'Plex OAuth',
'X-Plex-Platform': browser.getBrowserName(),
'X-Plex-Platform-Version': browser.getBrowserVersion(),
'X-Plex-Device': browser.getOSName(),
- 'X-Plex-Device-Name': `${browser.getBrowserName()} (Overseerr)`,
+ 'X-Plex-Device-Name': `${browser.getBrowserName()} (Jellyseerr)`,
'X-Plex-Device-Screen-Resolution':
window.screen.width + 'x' + window.screen.height,
'X-Plex-Language': 'en',