diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 2bdb0a259..a7caedf58 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -19,7 +19,7 @@ body: id: version attributes: label: Version - description: What version of Jellyseerr are you running? (You can find this in Settings → About → Version.) + description: What version of Seerr are you running? (You can find this in Settings → About → Version.) validations: required: true - type: textarea @@ -97,5 +97,5 @@ body: label: Code of Conduct description: By submitting this issue, you agree to follow our [Code of Conduct](/../../CODE_OF_CONDUCT.md) options: - - label: I agree to follow Jellyseerr's Code of Conduct + - label: I agree to follow Seerr's Code of Conduct required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 34d243051..9719140ce 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,7 +2,7 @@ blank_issues_enabled: false contact_links: - name: 💬 Support via Discord url: https://discord.gg/seerr - about: Chat with other users and the Jellyseerr dev team + about: Chat with other users and the Seerr dev team - name: 💬 Support via GitHub Discussions - url: https://github.com/fallenbagel/jellyseerr/discussions + url: https://github.com/seerr-team/seerr/discussions about: Ask questions and discuss with other community members diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml index 4327a8f65..8e9f8fc77 100644 --- a/.github/ISSUE_TEMPLATE/enhancement.yml +++ b/.github/ISSUE_TEMPLATE/enhancement.yml @@ -31,7 +31,7 @@ body: id: terms attributes: label: Code of Conduct - description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/fallenbagel/jellyseerr/blob/develop/CODE_OF_CONDUCT.md) + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/seerr-team/seerr/blob/develop/CODE_OF_CONDUCT.md) options: - - label: I agree to follow Jellyseerr's Code of Conduct + - label: I agree to follow Seerr's Code of Conduct required: true diff --git a/.github/workflows/support.yml b/.github/workflows/support.yml index c360f0fb6..8d4018d28 100644 --- a/.github/workflows/support.yml +++ b/.github/workflows/support.yml @@ -33,7 +33,7 @@ jobs: :wave: @${{ env.ISSUE_AUTHOR }}, we use the issue tracker exclusively for bug reports and feature requests. However, this issue appears to be a support request. Please use our support channels - to get help with Jellyseerr. + to get help with Seerr. - [Discord](https://discord.gg/seerr) run: | diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a9a4ec4b3..864d120a1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to Jellyseerr +# Contributing to Seerr All help is welcome and greatly appreciated! If you would like to contribute to the project, the following instructions should get you started... @@ -6,10 +6,10 @@ All help is welcome and greatly appreciated! If you would like to contribute to > [!IMPORTANT] > -> If you are using **any kind of AI assistance** to contribute to Jellyseerr, +> If you are using **any kind of AI assistance** to contribute to Seerr, > it must be disclosed in the pull request. -If you are using any kind of AI assistance while contributing to Jellyseerr, +If you are using any kind of AI assistance while contributing to Seerr, **this must be disclosed in the pull request**, along with the extent to which AI assistance was used (e.g. docs only vs. code generation). If PR responses are being generated by an AI, disclose that as well. @@ -56,14 +56,14 @@ Please be respectful to maintainers and disclose AI assistance. 1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository to your own GitHub account and [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device: ```bash - git clone https://github.com/YOUR_USERNAME/jellyseerr.git - cd jellyseerr/ + git clone https://github.com/YOUR_USERNAME/seerr.git + cd seerr/ ``` 2. Add the remote `upstream`: ```bash - git remote add upstream https://github.com/fallenbagel/jellyseerr.git + git remote add upstream https://github.com/seerr-team/seerr.git ``` 3. Create a new branch: @@ -147,11 +147,11 @@ When adding new UI text, please try to adhere to the following guidelines: 8. If an additional description or "tip" is required for a form field, it should be styled using the global CSS class `label-tip`. 9. In full sentences, abbreviations like "info" or "auto" should not be used in place of full words, unless referencing the name/label of a specific setting or option which has an abbreviation in its name. 10. Do your best to check for spelling errors and grammatical mistakes. -11. Do not misspell "Jellyseerr." +11. Do not misspell "Seerr." ## Translation -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](/../../issues/new/choose). +We use [Weblate](https://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/) for our translations, and your help with localizing Seerr would be greatly appreciated! If your language is not listed below, please [open a feature request](/../../issues/new/choose). Translation status @@ -197,4 +197,4 @@ DB_TYPE="postgres" DB_USER=postgres DB_PASS=postgres pnpm migration:generate ser ## Attribution -This contribution guide was inspired by the [Next.js](https://github.com/vercel/next.js), [Radarr](https://github.com/Radarr/Radarr), [Overseerr](https://github.com/sct/Overseerr) and [Ghostty](https://github.com/ghostty-org/ghostty) contribution guides. +This contribution guide was inspired by the [Next.js](https://github.com/vercel/next.js), [Radarr](https://github.com/Radarr/Radarr), and [Ghostty](https://github.com/ghostty-org/ghostty) contribution guides. diff --git a/README.md b/README.md index 11276eb94..869730776 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,16 @@ Jellyseerr

-Jellyseerr Release -Jellyseerr CI +Seerr Release +Seerr CI

Discord Docker pulls Translation status -GitHub +GitHub -**Jellyseerr** is a free and open source software application for managing requests for your media library. It integrates with the media server of your choice: [Jellyfin](https://jellyfin.org), [Plex](https://plex.tv), and [Emby](https://emby.media/). In addition, it integrates with your existing services, such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)**. +**Seerr** is a free and open source software application for managing requests for your media library. It integrates with the media server of your choice: [Jellyfin](https://jellyfin.org), [Plex](https://plex.tv), and [Emby](https://emby.media/). In addition, it integrates with your existing services, such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)**. ## Current Features @@ -19,7 +19,7 @@ - Support for **PostgreSQL** and **SQLite** databases. - Supports Movies, Shows and Mixed Libraries. - Ability to change email addresses for SMTP purposes. -- Easy integration with your existing services. Currently, Jellyseerr supports Sonarr and Radarr. More to come! +- Easy integration with your existing services. Currently, Seerr supports Sonarr and Radarr. More to come! - Jellyfin/Emby/Plex library scan, to keep track of the titles which are already available. - Customizable request system, which allows users to request individual seasons or movies in a friendly, easy-to-use interface. - Incredibly simple request management UI. Don't dig through the app to simply approve recent requests! @@ -32,7 +32,7 @@ With more features on the way! Check out our [issue tracker](/../../issues) to s ## Getting Started -Check out our documentation for instructions on how to install and run Jellyseerr: +Check out our documentation for instructions on how to install and run Seerr: https://docs.jellyseerr.dev/getting-started/ @@ -48,26 +48,26 @@ Nix: [Nixpkg](https://search.nixos.org/packages?channel=unstable&show=jellyseerr ## Support -- Check out the [Jellyseerr Documentation](https://docs.jellyseerr.dev) before asking for help. Your question might already be in the docs! +- Check out the [Seerr Documentation](https://docs.jellyseerr.dev) before asking for help. Your question might already be in the docs! - You can get support on [Discord](https://discord.gg/seerr). - You can ask questions in the Help category of our [GitHub Discussions](/../../discussions). - Bug reports and feature requests can be submitted via [GitHub Issues](/../../issues). ## API Documentation -You can access the API documentation from your local Jellyseerr install at http://localhost:5055/api-docs +You can access the API documentation from your local Seerr install at http://localhost:5055/api-docs ## Community You can ask questions, share ideas, and more in [GitHub Discussions](/../../discussions). -If you would like to chat with other members of our growing community, [join the Jellyseerr Discord server](https://discord.gg/seerr)! +If you would like to chat with other members of our growing community, [join the Seerr Discord server](https://discord.gg/seerr)! -Our [Code of Conduct](./CODE_OF_CONDUCT.md) applies to all Jellyseerr community channels. +Our [Code of Conduct](./CODE_OF_CONDUCT.md) applies to all Seerr community channels. ## Contributing -You can help improve Jellyseerr too! Check out our [Contribution Guide](./CONTRIBUTING.md) to get started. +You can help improve Seerr too! Check out our [Contribution Guide](./CONTRIBUTING.md) to get started. ## Contributors ✨ diff --git a/SECURITY.md b/SECURITY.md index 3b15aeb5f..f50d56110 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -31,7 +31,7 @@ We will send a response indicating the next steps in handling your report. After ## Third-Party Dependencies -If you discover a security vulnerability in a third-party dependency used by Jellyseerr, please report it directly to the maintainers of that module. You can also notify us through our security advisory process so we can: +If you discover a security vulnerability in a third-party dependency used by Seerr, please report it directly to the maintainers of that module. You can also notify us through our security advisory process so we can: - Track the issue and monitor for updates - Apply patches or workarounds if available @@ -47,5 +47,6 @@ Security updates and advisories will be published on our [GitHub Security Adviso ## Community For general questions and support (non-security related): + - [GitHub Discussions](../../discussions) -- [Discord](https://discord.gg/seerr) \ No newline at end of file +- [Discord](https://discord.gg/seerr) diff --git a/cypress/config/settings.cypress.json b/cypress/config/settings.cypress.json index e30dde861..973f4c591 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": "Jellyseerr", + "applicationTitle": "Seerr", "applicationUrl": "", "cacheImages": false, "defaultPermissions": 32, @@ -70,7 +70,7 @@ "ignoreTls": false, "requireTls": false, "allowSelfSigned": false, - "senderName": "Jellyseerr" + "senderName": "Seerr" } }, "discord": { diff --git a/package.json b/package.json index fe6857b47..8e2b0bd60 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { - "name": "jellyseerr", + "name": "seerr", "version": "0.1.0", "private": true, "packageManager": "pnpm@10.17.1", "scripts": { "preinstall": "npx only-allow pnpm", "postinstall": "node postinstall-win.js", - "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", + "dev": "nodemon -e ts --watch server --watch seerr-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", @@ -29,7 +29,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/fallenbagel/jellyseerr.git" + "url": "https://github.com/seerr-team/seerr.git" }, "license": "MIT", "dependencies": { diff --git a/public/site.webmanifest b/public/site.webmanifest index fb38d8047..86ca0aa57 100644 --- a/public/site.webmanifest +++ b/public/site.webmanifest @@ -1,6 +1,6 @@ { - "name": "Jellyseerr", - "short_name": "Jellyseerr", + "name": "Seerr", + "short_name": "Seerr", "start_url": "./", "icons": [ { diff --git a/jellyseerr-api.yml b/seerr-api.yml similarity index 99% rename from jellyseerr-api.yml rename to seerr-api.yml index 767e336ba..3b1d134fd 100644 --- a/jellyseerr-api.yml +++ b/seerr-api.yml @@ -1,19 +1,19 @@ openapi: '3.0.2' info: - title: 'Jellyseerr API' + title: 'Seerr API' version: '1.0.0' description: | - This is the documentation for the Jellyseerr API backend. + This is the documentation for the Seerr 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 Jellyseerr. + - **API Key Authentication**: Sign-in is also possible by passing an `X-Api-Key` header along with a valid API Key generated by Seerr. tags: - name: public description: Public API endpoints requiring no authentication. - name: settings - description: Endpoints related to Jellyseerr's settings and configuration. + description: Endpoints related to Seerr's settings and configuration. - name: auth description: Endpoints related to logging in or out, and the currently authenticated user. - name: users @@ -229,7 +229,7 @@ components: example: en applicationTitle: type: string - example: Jellyseerr + example: Seerr applicationUrl: type: string example: https://os.example.com @@ -1570,7 +1570,7 @@ components: example: no-reply@example.com senderName: type: string - example: Jellyseerr + example: Seerr smtpHost: type: string example: 127.0.0.1 @@ -2136,8 +2136,8 @@ components: paths: /status: get: - summary: Get Jellyseerr status - description: Returns the current Jellyseerr status in a JSON object. + summary: Get Seerr status + description: Returns the current Seerr status in a JSON object. security: [] tags: - public diff --git a/server/api/github.ts b/server/api/github.ts index 3a85d91bb..009a82c1d 100644 --- a/server/api/github.ts +++ b/server/api/github.ts @@ -76,14 +76,14 @@ class GithubAPI extends ExternalAPI { ); } - public async getJellyseerrReleases({ + public async getSeerrReleases({ take = 20, }: { take?: number; } = {}): Promise { try { const data = await this.get( - '/repos/fallenbagel/jellyseerr/releases', + '/repos/seerr-team/seerr/releases', { params: { per_page: take, @@ -94,14 +94,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. Jellyseerr can't check if it's on the latest version.", + "Failed to retrieve GitHub releases. This may be an issue on GitHub's end. Seerr can't check if it's on the latest version.", { label: 'GitHub API', errorMessage: e.message } ); return []; } } - public async getJellyseerrCommits({ + public async getSeerrCommits({ take = 20, branch = 'develop', }: { @@ -110,7 +110,7 @@ class GithubAPI extends ExternalAPI { } = {}): Promise { try { const data = await this.get( - '/repos/fallenbagel/jellyseerr/commits', + '/repos/seerr-team/seerr/commits', { params: { per_page: take, @@ -122,7 +122,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. Jellyseerr can't check if it's on the latest version.", + "Failed to retrieve GitHub commits. This may be an issue on GitHub's end. Seerr can't check if it's on the latest version.", { label: 'GitHub API', errorMessage: e.message } ); return []; diff --git a/server/api/jellyfin.ts b/server/api/jellyfin.ts index 2c5b05936..e143ad964 100644 --- a/server/api/jellyfin.ts +++ b/server/api/jellyfin.ts @@ -131,13 +131,13 @@ class JellyfinAPI extends ExternalAPI { const safeDeviceId = deviceId && deviceId.length > 0 ? deviceId - : Buffer.from('BOT_jellyseerr').toString('base64'); + : Buffer.from('BOT_seerr').toString('base64'); let authHeaderVal: string; if (authToken) { - authHeaderVal = `MediaBrowser Client="Jellyseerr", Device="Jellyseerr", DeviceId="${safeDeviceId}", Version="${getAppVersion()}", Token="${authToken}"`; + authHeaderVal = `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="${safeDeviceId}", Version="${getAppVersion()}", Token="${authToken}"`; } else { - authHeaderVal = `MediaBrowser Client="Jellyseerr", Device="Jellyseerr", DeviceId="${safeDeviceId}", Version="${getAppVersion()}"`; + authHeaderVal = `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="${safeDeviceId}", Version="${getAppVersion()}"`; } super( diff --git a/server/api/plexapi.ts b/server/api/plexapi.ts index 5007fe05e..03cdaf666 100644 --- a/server/api/plexapi.ts +++ b/server/api/plexapi.ts @@ -124,9 +124,9 @@ class PlexAPI { // }, options: { identifier: settings.clientId, - product: 'Jellyseerr', - deviceName: 'Jellyseerr', - platform: 'Jellyseerr', + product: 'Seerr', + deviceName: 'Seerr', + platform: 'Seerr', }, }); } diff --git a/server/index.ts b/server/index.ts index 9d7a74b88..b98e3b2fa 100644 --- a/server/index.ts +++ b/server/index.ts @@ -43,9 +43,9 @@ import path from 'path'; import swaggerUi from 'swagger-ui-express'; import YAML from 'yamljs'; -const API_SPEC_PATH = path.join(__dirname, '../jellyseerr-api.yml'); +const API_SPEC_PATH = path.join(__dirname, '../seerr-api.yml'); -logger.info(`Starting Jellyseerr version ${getAppVersion()}`); +logger.info(`Starting Seerr 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 f5dd2442d..04be7b1f2 100644 --- a/server/lib/notifications/agents/slack.ts +++ b/server/lib/notifications/agents/slack.ts @@ -192,7 +192,7 @@ class SlackAgent type: 'actions', elements: [ { - action_id: 'open-in-jellyseerr', + action_id: 'open-in-seerr', type: 'button', url, text: { diff --git a/server/lib/settings/index.ts b/server/lib/settings/index.ts index 73bc951b7..2491577d7 100644 --- a/server/lib/settings/index.ts +++ b/server/lib/settings/index.ts @@ -380,7 +380,7 @@ class Settings { vapidPublic: '', main: { apiKey: '', - applicationTitle: 'Jellyseerr', + applicationTitle: 'Seerr', applicationUrl: '', cacheImages: false, defaultPermissions: Permission.REQUEST, @@ -447,7 +447,7 @@ class Settings { ignoreTls: false, requireTls: false, allowSelfSigned: false, - senderName: 'Jellyseerr', + senderName: 'Seerr', }, }, discord: { diff --git a/server/lib/settings/migrations/0002_migrate_apitokens.ts b/server/lib/settings/migrations/0002_migrate_apitokens.ts index 0149c3e37..039067826 100644 --- a/server/lib/settings/migrations/0002_migrate_apitokens.ts +++ b/server/lib/settings/migrations/0002_migrate_apitokens.ts @@ -28,7 +28,7 @@ const migrateApiTokens = async (settings: any): Promise => { ); jellyfinClient.setUserId(admin.jellyfinUserId ?? ''); try { - const apiKey = await jellyfinClient.createApiToken('Jellyseerr'); + const apiKey = await jellyfinClient.createApiToken('Seerr'); settings.jellyfin.apiKey = apiKey; } catch { throw new Error( diff --git a/server/lib/settings/migrator.ts b/server/lib/settings/migrator.ts index 801140000..743b4adc3 100644 --- a/server/lib/settings/migrator.ts +++ b/server/lib/settings/migrator.ts @@ -44,7 +44,7 @@ export const runMigrations = async ( } migrated = newSettings; } catch (e) { - // we stop jellyseerr if the migration failed + // we stop Seerr if the migration failed logger.error( `Error while running migration '${migration}': ${e.message}`, { @@ -81,7 +81,7 @@ export const runMigrations = async ( await fs.writeFile(BACKUP_PATH, oldBackup.toString()); } } catch (e) { - // we stop jellyseerr if the migration failed + // we stop Seerr if the migration failed logger.error( `Something went wrong while running settings migrations: ${e.message}`, { diff --git a/server/lib/watchlistsync.ts b/server/lib/watchlistsync.ts index ed4887677..aeb048092 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 Jellyseerr. Since we are auto syncing these constantly, it's + // a problem with Seerr. 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/routes/auth.ts b/server/routes/auth.ts index b8e78a2d0..3b93cf6cf 100644 --- a/server/routes/auth.ts +++ b/server/routes/auth.ts @@ -161,7 +161,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 Jellyseerr user', + 'Sign-in attempt from Plex user with access to the media server; creating new Seerr user', { label: 'API', ip: req.ip, @@ -277,16 +277,14 @@ authRoutes.post('/jellyfin', async (req, res, next) => { select: { id: true, jellyfinDeviceId: true }, }); - let deviceId = 'BOT_jellyseerr'; + let deviceId = 'BOT_seerr'; if (user && user.id === 1) { - // Admin is always BOT_jellyseerr - deviceId = 'BOT_jellyseerr'; + // Admin is always BOT_seerr + deviceId = 'BOT_seerr'; } else if (user && user.jellyfinDeviceId) { deviceId = user.jellyfinDeviceId; } else if (body.username) { - deviceId = Buffer.from(`BOT_jellyseerr_${body.username}`).toString( - 'base64' - ); + deviceId = Buffer.from(`BOT_seerr_${body.username}`).toString('base64'); } // First we need to attempt to log the user in to jellyfin @@ -334,7 +332,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => { if (missingAdminUser) { logger.info( - 'Sign-in attempt from Jellyfin user with access to the media server; creating initial admin user for Jellyseerr', + 'Sign-in attempt from Jellyfin user with access to the media server; creating initial admin user for Seerr', { label: 'API', ip: req.ip, @@ -363,7 +361,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => { await userRepository.save(user); } else { logger.info( - 'Sign-in attempt from Jellyfin user with access to the media server; editing admin user for Jellyseerr', + 'Sign-in attempt from Jellyfin user with access to the media server; editing admin user for Seerr', { label: 'API', ip: req.ip, @@ -400,7 +398,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => { account.AccessToken, deviceId ); - const apiKey = await jellyfinClient.createApiToken('Jellyseerr'); + const apiKey = await jellyfinClient.createApiToken('Seerr'); const serverName = await jellyfinserver.getServerName(); @@ -456,7 +454,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 Jellyseerr user', + 'Sign-in attempt from Jellyfin user with access to the media server; creating new Seerr user', { label: 'API', ip: req.ip, @@ -616,7 +614,7 @@ authRoutes.post('/local', async (req, res, next) => { .getOne(); if (!user || !(await user.passwordMatch(body.password))) { - logger.warn('Failed sign-in attempt using invalid Jellyseerr password', { + logger.warn('Failed sign-in attempt using invalid Seerr password', { label: 'API', ip: req.ip, email: body.email, @@ -705,15 +703,12 @@ authRoutes.post('/local', async (req, res, next) => { return res.status(200).json(user?.filter() ?? {}); } catch (e) { - logger.error( - 'Something went wrong authenticating with Jellyseerr password', - { - label: 'API', - errorMessage: e.message, - ip: req.ip, - email: body.email, - } - ); + logger.error('Something went wrong authenticating with Seerr password', { + label: 'API', + errorMessage: e.message, + ip: req.ip, + email: body.email, + }); return next({ status: 500, message: 'Unable to authenticate.', @@ -747,7 +742,7 @@ authRoutes.post('/logout', async (req, res, next) => { await axios.delete(`${baseUrl}/Devices`, { params: { Id: user.jellyfinDeviceId }, headers: { - 'X-Emby-Authorization': `MediaBrowser Client="Jellyseerr", Device="Jellyseerr", DeviceId="jellyseerr", Version="${getAppVersion()}", Token="${ + 'X-Emby-Authorization': `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="seerr", Version="${getAppVersion()}", Token="${ settings.jellyfin.apiKey }"`, }, diff --git a/server/routes/avatarproxy.ts b/server/routes/avatarproxy.ts index fc48313ea..17df52110 100644 --- a/server/routes/avatarproxy.ts +++ b/server/routes/avatarproxy.ts @@ -23,11 +23,11 @@ async function initAvatarImageProxy() { select: ['id', 'jellyfinUserId', 'jellyfinDeviceId'], order: { id: 'ASC' }, }); - const deviceId = admin?.jellyfinDeviceId || 'BOT_jellyseerr'; + const deviceId = admin?.jellyfinDeviceId || 'BOT_seerr'; const authToken = getSettings().jellyfin.apiKey; _avatarImageProxy = new ImageProxy('avatar', '', { headers: { - 'X-Emby-Authorization': `MediaBrowser Client="Jellyseerr", Device="Jellyseerr", DeviceId="${deviceId}", Version="${getAppVersion()}", Token="${authToken}"`, + 'X-Emby-Authorization': `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="${deviceId}", Version="${getAppVersion()}", Token="${authToken}"`, }, }); } diff --git a/server/routes/index.ts b/server/routes/index.ts index b28421396..6155f3508 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.getJellyseerrCommits(); + const commits = await githubApi.getSeerrCommits(); 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.getJellyseerrReleases(); + const releases = await githubApi.getSeerrReleases(); if (releases.length) { const latestVersion = releases[0]; @@ -445,7 +445,7 @@ router.get('/certifications/tv', isAuthenticated(), async (req, res, next) => { router.get('/', (_req, res) => { return res.status(200).json({ - api: 'Jellyseerr API', + api: 'Seerr API', version: '1.0', }); }); diff --git a/server/routes/user/index.ts b/server/routes/user/index.ts index f817a9cb3..9dd8ca03b 100644 --- a/server/routes/user/index.ts +++ b/server/routes/user/index.ts @@ -633,7 +633,7 @@ router.post( jellyfinUsername: jellyfinUser?.Name, jellyfinUserId: jellyfinUser?.Id, jellyfinDeviceId: Buffer.from( - `BOT_jellyseerr_${jellyfinUser?.Name ?? ''}` + `BOT_seerr_${jellyfinUser?.Name ?? ''}` ).toString('base64'), email: jellyfinUser?.Name, permissions: settings.main.defaultPermissions, diff --git a/server/routes/user/usersettings.ts b/server/routes/user/usersettings.ts index 690cff830..50ea7c5a5 100644 --- a/server/routes/user/usersettings.ts +++ b/server/routes/user/usersettings.ts @@ -312,7 +312,7 @@ userSettingsRoutes.post<{ authToken: string }>( // Do not allow linking of an already linked account if (await userRepository.exist({ where: { plexId: account.id } })) { return res.status(422).json({ - message: 'This Plex account is already linked to a Jellyseerr user', + message: 'This Plex account is already linked to a Seerr user', }); } @@ -415,15 +415,13 @@ userSettingsRoutes.post<{ username: string; password: string }>( }) ) { return res.status(422).json({ - message: 'The specified account is already linked to a Jellyseerr user', + message: 'The specified account is already linked to a Seerr user', }); } const hostname = getHostname(); const deviceId = Buffer.from( - req.user?.id === 1 - ? 'BOT_jellyseerr' - : `BOT_jellyseerr_${req.user.username ?? ''}` + req.user?.id === 1 ? 'BOT_seerr' : `BOT_seerr_${req.user.username ?? ''}` ).toString('base64'); const jellyfinserver = new JellyfinAPI(hostname, undefined, deviceId); @@ -452,8 +450,7 @@ userSettingsRoutes.post<{ username: string; password: string }>( }) ) { return res.status(422).json({ - message: - 'The specified account is already linked to a Jellyseerr user', + message: 'The specified account is already linked to a Seerr user', }); }