refactor: rename some remaining Overseerr occurrences (#1397)
* refactor: rename some remaining Overseerr occurrences This PR renames some remaining occurrences of Overseerr to Jellyseerr. This includes the OpenAPI specification, log file names and some variables and console messages. * fix(i18n): add missing translation
This commit is contained in:
@@ -97,7 +97,7 @@ When adding new UI text, please try to adhere to the following guidelines:
|
|||||||
|
|
||||||
## Translation
|
## 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).
|
||||||
|
|
||||||
<a href="https://jellyseerr.borgcube.de/engage/jellysseerr/"><img src="https://jellyseerr.borgcube.de/widget/jellyseerr/multi-auto.svg" alt="Translation status" /></a>
|
<a href="https://jellyseerr.borgcube.de/engage/jellysseerr/"><img src="https://jellyseerr.borgcube.de/widget/jellyseerr/multi-auto.svg" alt="Translation status" /></a>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"vapidPublic": "BK_EpP8NDm9waor2zn6_S28o3ZYv4kCkJOfYpO3pt3W6jnPmxrgTLANUBNbbyaNatPnSQ12De9CeqSYQrqWzHTs",
|
"vapidPublic": "BK_EpP8NDm9waor2zn6_S28o3ZYv4kCkJOfYpO3pt3W6jnPmxrgTLANUBNbbyaNatPnSQ12De9CeqSYQrqWzHTs",
|
||||||
"main": {
|
"main": {
|
||||||
"apiKey": "testkey",
|
"apiKey": "testkey",
|
||||||
"applicationTitle": "Overseerr",
|
"applicationTitle": "Jellyseerr",
|
||||||
"applicationUrl": "",
|
"applicationUrl": "",
|
||||||
"csrfProtection": false,
|
"csrfProtection": false,
|
||||||
"cacheImages": false,
|
"cacheImages": false,
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"ignoreTls": false,
|
"ignoreTls": false,
|
||||||
"requireTls": false,
|
"requireTls": false,
|
||||||
"allowSelfSigned": false,
|
"allowSelfSigned": false,
|
||||||
"senderName": "Overseerr"
|
"senderName": "Jellyseerr"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"discord": {
|
"discord": {
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
openapi: '3.0.2'
|
openapi: '3.0.2'
|
||||||
info:
|
info:
|
||||||
title: 'Overseerr API'
|
title: 'Jellyseerr API'
|
||||||
version: '1.0.0'
|
version: '1.0.0'
|
||||||
description: |
|
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:
|
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.
|
- **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:
|
tags:
|
||||||
- name: public
|
- name: public
|
||||||
description: Public API endpoints requiring no authentication.
|
description: Public API endpoints requiring no authentication.
|
||||||
- name: settings
|
- name: settings
|
||||||
description: Endpoints related to Overseerr's settings and configuration.
|
description: Endpoints related to Jellyseerr's settings and configuration.
|
||||||
- name: auth
|
- name: auth
|
||||||
description: Endpoints related to logging in or out, and the currently authenticated user.
|
description: Endpoints related to logging in or out, and the currently authenticated user.
|
||||||
- name: users
|
- name: users
|
||||||
@@ -160,7 +160,7 @@ components:
|
|||||||
example: en
|
example: en
|
||||||
applicationTitle:
|
applicationTitle:
|
||||||
type: string
|
type: string
|
||||||
example: Overseerr
|
example: Jellyseerr
|
||||||
applicationUrl:
|
applicationUrl:
|
||||||
type: string
|
type: string
|
||||||
example: https://os.example.com
|
example: https://os.example.com
|
||||||
@@ -1438,7 +1438,7 @@ components:
|
|||||||
example: no-reply@example.com
|
example: no-reply@example.com
|
||||||
senderName:
|
senderName:
|
||||||
type: string
|
type: string
|
||||||
example: Overseerr
|
example: Jellyseerr
|
||||||
smtpHost:
|
smtpHost:
|
||||||
type: string
|
type: string
|
||||||
example: 127.0.0.1
|
example: 127.0.0.1
|
||||||
@@ -1969,8 +1969,8 @@ components:
|
|||||||
paths:
|
paths:
|
||||||
/status:
|
/status:
|
||||||
get:
|
get:
|
||||||
summary: Get Overseerr status
|
summary: Get Jellyseerr status
|
||||||
description: Returns the current Overseerr status in a JSON object.
|
description: Returns the current Jellyseerr status in a JSON object.
|
||||||
security: []
|
security: []
|
||||||
tags:
|
tags:
|
||||||
- public
|
- public
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"preinstall": "npx only-allow pnpm",
|
"preinstall": "npx only-allow pnpm",
|
||||||
"postinstall": "node postinstall-win.js",
|
"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: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:next": "next build",
|
||||||
"build": "pnpm build:next && pnpm build:server",
|
"build": "pnpm build:next && pnpm build:server",
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
@@ -72,7 +72,7 @@ class GithubAPI extends ExternalAPI {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getOverseerrReleases({
|
public async getJellyseerrReleases({
|
||||||
take = 20,
|
take = 20,
|
||||||
}: {
|
}: {
|
||||||
take?: number;
|
take?: number;
|
||||||
@@ -88,14 +88,14 @@ class GithubAPI extends ExternalAPI {
|
|||||||
return data;
|
return data;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.warn(
|
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 }
|
{ label: 'GitHub API', errorMessage: e.message }
|
||||||
);
|
);
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getOverseerrCommits({
|
public async getJellyseerrCommits({
|
||||||
take = 20,
|
take = 20,
|
||||||
branch = 'develop',
|
branch = 'develop',
|
||||||
}: {
|
}: {
|
||||||
@@ -114,7 +114,7 @@ class GithubAPI extends ExternalAPI {
|
|||||||
return data;
|
return data;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.warn(
|
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 }
|
{ label: 'GitHub API', errorMessage: e.message }
|
||||||
);
|
);
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -124,9 +124,9 @@ class PlexAPI {
|
|||||||
// },
|
// },
|
||||||
options: {
|
options: {
|
||||||
identifier: settings.clientId,
|
identifier: settings.clientId,
|
||||||
product: 'Overseerr',
|
product: 'Jellyseerr',
|
||||||
deviceName: 'Overseerr',
|
deviceName: 'Jellyseerr',
|
||||||
platform: 'Overseerr',
|
platform: 'Jellyseerr',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,9 +41,9 @@ import path from 'path';
|
|||||||
import swaggerUi from 'swagger-ui-express';
|
import swaggerUi from 'swagger-ui-express';
|
||||||
import YAML from 'yamljs';
|
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 dev = process.env.NODE_ENV !== 'production';
|
||||||
const app = next({ dev });
|
const app = next({ dev });
|
||||||
const handle = app.getRequestHandler();
|
const handle = app.getRequestHandler();
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ class SlackAgent
|
|||||||
type: 'actions',
|
type: 'actions',
|
||||||
elements: [
|
elements: [
|
||||||
{
|
{
|
||||||
action_id: 'open-in-overseerr',
|
action_id: 'open-in-jellyseerr',
|
||||||
type: 'button',
|
type: 'button',
|
||||||
url,
|
url,
|
||||||
text: {
|
text: {
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ class WatchlistSync {
|
|||||||
|
|
||||||
switch (e.constructor) {
|
switch (e.constructor) {
|
||||||
// During watchlist sync, these errors aren't necessarily
|
// 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
|
// possible they are unexpectedly at their quota limit, for example. So we'll
|
||||||
// instead log these as debug messages.
|
// instead log these as debug messages.
|
||||||
case RequestPermissionError:
|
case RequestPermissionError:
|
||||||
|
|||||||
@@ -43,14 +43,14 @@ const logger = winston.createLogger({
|
|||||||
}),
|
}),
|
||||||
new winston.transports.DailyRotateFile({
|
new winston.transports.DailyRotateFile({
|
||||||
filename: process.env.CONFIG_DIRECTORY
|
filename: process.env.CONFIG_DIRECTORY
|
||||||
? `${process.env.CONFIG_DIRECTORY}/logs/overseerr-%DATE%.log`
|
? `${process.env.CONFIG_DIRECTORY}/logs/jellyseerr-%DATE%.log`
|
||||||
: path.join(__dirname, '../config/logs/overseerr-%DATE%.log'),
|
: path.join(__dirname, '../config/logs/jellyseerr-%DATE%.log'),
|
||||||
datePattern: 'YYYY-MM-DD',
|
datePattern: 'YYYY-MM-DD',
|
||||||
zippedArchive: true,
|
zippedArchive: true,
|
||||||
maxSize: '20m',
|
maxSize: '20m',
|
||||||
maxFiles: '7d',
|
maxFiles: '7d',
|
||||||
createSymlink: true,
|
createSymlink: true,
|
||||||
symlinkName: 'overseerr.log',
|
symlinkName: 'jellyseerr.log',
|
||||||
}),
|
}),
|
||||||
new winston.transports.DailyRotateFile({
|
new winston.transports.DailyRotateFile({
|
||||||
filename: process.env.CONFIG_DIRECTORY
|
filename: process.env.CONFIG_DIRECTORY
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ authRoutes.post('/plex', async (req, res, next) => {
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
logger.info(
|
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',
|
label: 'API',
|
||||||
ip: req.ip,
|
ip: req.ip,
|
||||||
@@ -274,7 +274,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
|
|||||||
if (user) {
|
if (user) {
|
||||||
deviceId = user.jellyfinDeviceId ?? '';
|
deviceId = user.jellyfinDeviceId ?? '';
|
||||||
} else {
|
} else {
|
||||||
deviceId = Buffer.from(`BOT_overseerr_${body.username ?? ''}`).toString(
|
deviceId = Buffer.from(`BOT_jellyseerr_${body.username ?? ''}`).toString(
|
||||||
'base64'
|
'base64'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -446,7 +446,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => {
|
|||||||
});
|
});
|
||||||
} else if (!user) {
|
} else if (!user) {
|
||||||
logger.info(
|
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',
|
label: 'API',
|
||||||
ip: req.ip,
|
ip: req.ip,
|
||||||
@@ -584,7 +584,7 @@ authRoutes.post('/local', async (req, res, next) => {
|
|||||||
.getOne();
|
.getOne();
|
||||||
|
|
||||||
if (!user || !(await user.passwordMatch(body.password))) {
|
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',
|
label: 'API',
|
||||||
ip: req.ip,
|
ip: req.ip,
|
||||||
email: body.email,
|
email: body.email,
|
||||||
@@ -674,7 +674,7 @@ authRoutes.post('/local', async (req, res, next) => {
|
|||||||
return res.status(200).json(user?.filter() ?? {});
|
return res.status(200).json(user?.filter() ?? {});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error(
|
logger.error(
|
||||||
'Something went wrong authenticating with Overseerr password',
|
'Something went wrong authenticating with Jellyseerr password',
|
||||||
{
|
{
|
||||||
label: 'API',
|
label: 'API',
|
||||||
errorMessage: e.message,
|
errorMessage: e.message,
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ router.get<unknown, StatusResponse>('/status', async (req, res) => {
|
|||||||
let commitsBehind = 0;
|
let commitsBehind = 0;
|
||||||
|
|
||||||
if (currentVersion.startsWith('develop-') && commitTag !== 'local') {
|
if (currentVersion.startsWith('develop-') && commitTag !== 'local') {
|
||||||
const commits = await githubApi.getOverseerrCommits();
|
const commits = await githubApi.getJellyseerrCommits();
|
||||||
|
|
||||||
if (commits.length) {
|
if (commits.length) {
|
||||||
const filteredCommits = commits.filter(
|
const filteredCommits = commits.filter(
|
||||||
@@ -74,7 +74,7 @@ router.get<unknown, StatusResponse>('/status', async (req, res) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (commitTag !== 'local') {
|
} else if (commitTag !== 'local') {
|
||||||
const releases = await githubApi.getOverseerrReleases();
|
const releases = await githubApi.getJellyseerrReleases();
|
||||||
|
|
||||||
if (releases.length) {
|
if (releases.length) {
|
||||||
const latestVersion = releases[0];
|
const latestVersion = releases[0];
|
||||||
@@ -403,7 +403,7 @@ router.get('/watchproviders/tv', async (req, res, next) => {
|
|||||||
|
|
||||||
router.get('/', (_req, res) => {
|
router.get('/', (_req, res) => {
|
||||||
return res.status(200).json({
|
return res.status(200).json({
|
||||||
api: 'Overseerr API',
|
api: 'Jellyseerr API',
|
||||||
version: '1.0',
|
version: '1.0',
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -419,7 +419,7 @@ userSettingsRoutes.post<{ username: string; password: string }>(
|
|||||||
|
|
||||||
const hostname = getHostname();
|
const hostname = getHostname();
|
||||||
const deviceId = Buffer.from(
|
const deviceId = Buffer.from(
|
||||||
`BOT_overseerr_${req.user.username ?? ''}`
|
`BOT_jellyseerr_${req.user.username ?? ''}`
|
||||||
).toString('base64');
|
).toString('base64');
|
||||||
|
|
||||||
const jellyfinserver = new JellyfinAPI(hostname, undefined, deviceId);
|
const jellyfinserver = new JellyfinAPI(hostname, undefined, deviceId);
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ const BlacklistedItem = ({ item, revalidateList }: BlacklistedItemProps) => {
|
|||||||
src={
|
src={
|
||||||
title?.posterPath
|
title?.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ const CollectionDetails = ({ collection }: CollectionDetailsProps) => {
|
|||||||
src={
|
src={
|
||||||
data.posterPath
|
data.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ const IssueDetails = () => {
|
|||||||
src={
|
src={
|
||||||
data.posterPath
|
data.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ const IssueItem = ({ issue }: IssueItemProps) => {
|
|||||||
src={
|
src={
|
||||||
title.posterPath
|
title.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -505,7 +505,7 @@ const MovieDetails = ({ movie }: MovieDetailsProps) => {
|
|||||||
src={
|
src={
|
||||||
data.posterPath
|
data.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ interface PWAHeaderProps {
|
|||||||
applicationTitle?: string;
|
applicationTitle?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const PWAHeader = ({ applicationTitle = 'Overseerr' }: PWAHeaderProps) => {
|
const PWAHeader = ({ applicationTitle = 'Jellyseerr' }: PWAHeaderProps) => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<link
|
<link
|
||||||
|
|||||||
@@ -618,7 +618,7 @@ const RequestCard = ({ request, onTitleData }: RequestCardProps) => {
|
|||||||
src={
|
src={
|
||||||
title.posterPath
|
title.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -453,7 +453,7 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => {
|
|||||||
src={
|
src={
|
||||||
title.posterPath
|
title.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -441,7 +441,7 @@ const CollectionRequestModal = ({
|
|||||||
src={
|
src={
|
||||||
part.posterPath
|
part.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ const SearchByNameModal = ({
|
|||||||
<Image
|
<Image
|
||||||
src={
|
src={
|
||||||
item.remotePoster ??
|
item.remotePoster ??
|
||||||
'/images/overseerr_poster_not_found.png'
|
'/images/jellyseerr_poster_not_found.png'
|
||||||
}
|
}
|
||||||
alt={item.title}
|
alt={item.title}
|
||||||
className="w-100 h-auto rounded-md"
|
className="w-100 h-auto rounded-md"
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ import useSWR from 'swr';
|
|||||||
const messages = defineMessages('components.Settings.SettingsLogs', {
|
const messages = defineMessages('components.Settings.SettingsLogs', {
|
||||||
logs: 'Logs',
|
logs: 'Logs',
|
||||||
logsDescription:
|
logsDescription:
|
||||||
'You can also view these logs directly via <code>stdout</code>, or in <code>{appDataPath}/logs/overseerr.log</code>.',
|
'You can also view these logs directly via <code>stdout</code>, or in <code>{appDataPath}/logs/jellyseerr.log</code>.',
|
||||||
time: 'Timestamp',
|
time: 'Timestamp',
|
||||||
level: 'Severity',
|
level: 'Severity',
|
||||||
label: 'Label',
|
label: 'Label',
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ const TitleCard = ({
|
|||||||
src={
|
src={
|
||||||
image
|
image
|
||||||
? `https://image.tmdb.org/t/p/w300_and_h450_face${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' }}
|
style={{ width: '100%', height: '100%', objectFit: 'cover' }}
|
||||||
fill
|
fill
|
||||||
|
|||||||
@@ -547,7 +547,7 @@ const TvDetails = ({ tv }: TvDetailsProps) => {
|
|||||||
src={
|
src={
|
||||||
data.posterPath
|
data.posterPath
|
||||||
? `https://image.tmdb.org/t/p/w600_and_h900_bestv2${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=""
|
alt=""
|
||||||
sizes="100vw"
|
sizes="100vw"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export interface SettingsContextProps {
|
|||||||
|
|
||||||
const defaultSettings = {
|
const defaultSettings = {
|
||||||
initialized: false,
|
initialized: false,
|
||||||
applicationTitle: 'Overseerr',
|
applicationTitle: 'Jellyseerr',
|
||||||
applicationUrl: '',
|
applicationUrl: '',
|
||||||
hideAvailable: false,
|
hideAvailable: false,
|
||||||
localLogin: true,
|
localLogin: true,
|
||||||
|
|||||||
@@ -904,7 +904,7 @@
|
|||||||
"components.Settings.SettingsLogs.level": "Severity",
|
"components.Settings.SettingsLogs.level": "Severity",
|
||||||
"components.Settings.SettingsLogs.logDetails": "Log Details",
|
"components.Settings.SettingsLogs.logDetails": "Log Details",
|
||||||
"components.Settings.SettingsLogs.logs": "Logs",
|
"components.Settings.SettingsLogs.logs": "Logs",
|
||||||
"components.Settings.SettingsLogs.logsDescription": "You can also view these logs directly via <code>stdout</code>, or in <code>{appDataPath}/logs/overseerr.log</code>.",
|
"components.Settings.SettingsLogs.logsDescription": "You can also view these logs directly via <code>stdout</code>, or in <code>{appDataPath}/logs/jellyseerr.log</code>.",
|
||||||
"components.Settings.SettingsLogs.message": "Message",
|
"components.Settings.SettingsLogs.message": "Message",
|
||||||
"components.Settings.SettingsLogs.pauseLogs": "Pause",
|
"components.Settings.SettingsLogs.pauseLogs": "Pause",
|
||||||
"components.Settings.SettingsLogs.resumeLogs": "Resume",
|
"components.Settings.SettingsLogs.resumeLogs": "Resume",
|
||||||
|
|||||||
@@ -57,14 +57,14 @@ class PlexOAuth {
|
|||||||
const browser = Bowser.getParser(window.navigator.userAgent);
|
const browser = Bowser.getParser(window.navigator.userAgent);
|
||||||
this.plexHeaders = {
|
this.plexHeaders = {
|
||||||
Accept: 'application/json',
|
Accept: 'application/json',
|
||||||
'X-Plex-Product': 'Overseerr',
|
'X-Plex-Product': 'Jellyseerr',
|
||||||
'X-Plex-Version': 'Plex OAuth',
|
'X-Plex-Version': 'Plex OAuth',
|
||||||
'X-Plex-Client-Identifier': clientId,
|
'X-Plex-Client-Identifier': clientId,
|
||||||
'X-Plex-Model': 'Plex OAuth',
|
'X-Plex-Model': 'Plex OAuth',
|
||||||
'X-Plex-Platform': browser.getBrowserName(),
|
'X-Plex-Platform': browser.getBrowserName(),
|
||||||
'X-Plex-Platform-Version': browser.getBrowserVersion(),
|
'X-Plex-Platform-Version': browser.getBrowserVersion(),
|
||||||
'X-Plex-Device': browser.getOSName(),
|
'X-Plex-Device': browser.getOSName(),
|
||||||
'X-Plex-Device-Name': `${browser.getBrowserName()} (Overseerr)`,
|
'X-Plex-Device-Name': `${browser.getBrowserName()} (Jellyseerr)`,
|
||||||
'X-Plex-Device-Screen-Resolution':
|
'X-Plex-Device-Screen-Resolution':
|
||||||
window.screen.width + 'x' + window.screen.height,
|
window.screen.width + 'x' + window.screen.height,
|
||||||
'X-Plex-Language': 'en',
|
'X-Plex-Language': 'en',
|
||||||
|
|||||||
Reference in New Issue
Block a user