diff --git a/overseerr-api.yml b/overseerr-api.yml index 03667870c..fc96da70b 100644 --- a/overseerr-api.yml +++ b/overseerr-api.yml @@ -1716,13 +1716,13 @@ paths: $ref: '#/components/schemas/PlexLibrary' /settings/plex/sync: get: - summary: Get status of full Plex library sync - description: Returns sync progress in a JSON array. + summary: Get status of full Plex library scan + description: Returns scan progress in a JSON array. tags: - settings responses: '200': - description: Status of Plex sync + description: Status of Plex scan content: application/json: schema: @@ -1744,8 +1744,8 @@ paths: items: $ref: '#/components/schemas/PlexLibrary' post: - summary: Start full Plex library sync - description: Runs a full Plex library sync and returns the progress in a JSON array. + summary: Start full Plex library scan + description: Runs a full Plex library scan and returns the progress in a JSON array. tags: - settings requestBody: @@ -1762,7 +1762,7 @@ paths: example: false responses: '200': - description: Status of Plex sync + description: Status of Plex scan content: application/json: schema: diff --git a/server/job/plexsync/index.ts b/server/job/plexsync/index.ts index f4a57c621..60840e0ba 100644 --- a/server/job/plexsync/index.ts +++ b/server/job/plexsync/index.ts @@ -77,7 +77,7 @@ class JobPlexSync { if (!metadata.Guid) { logger.debug('No Guid metadata for this title. Skipping', { - label: 'Plex Sync', + label: 'Plex Scan', ratingKey: plexitem.ratingKey, }); return; @@ -794,7 +794,7 @@ class JobPlexSync { level: 'info' | 'error' | 'debug' | 'warn' = 'debug', optional?: Record ): void { - logger[level](message, { label: 'Plex Sync', ...optional }); + logger[level](message, { label: 'Plex Scan', ...optional }); } // checks if any of this.libraries has Hama agent set in Plex @@ -812,7 +812,7 @@ class JobPlexSync { const settings = getSettings(); const sessionId = uuid(); this.sessionId = sessionId; - logger.info('Plex Sync Starting', { sessionId, label: 'Plex Sync' }); + logger.info('Plex scan starting', { sessionId, label: 'Plex Scan' }); try { this.running = true; const userRepository = getRepository(User); @@ -822,7 +822,7 @@ class JobPlexSync { }); if (!admin) { - return this.log('No admin configured. Plex sync skipped.', 'warn'); + return this.log('No admin configured. Plex scan skipped.', 'warn'); } this.plexClient = new PlexAPI({ plexToken: admin.plexToken }); @@ -896,7 +896,7 @@ class JobPlexSync { ); } catch (e) { logger.error('Sync interrupted', { - label: 'Plex Sync', + label: 'Plex Scan', errorMessage: e.message, }); } finally { diff --git a/server/job/radarrsync/index.ts b/server/job/radarrsync/index.ts index 57f88ee05..e8b0c8909 100644 --- a/server/job/radarrsync/index.ts +++ b/server/job/radarrsync/index.ts @@ -32,7 +32,7 @@ class JobRadarrSync { const settings = getSettings(); const sessionId = uuid(); this.sessionId = sessionId; - this.log('Radarr sync starting', 'info', { sessionId }); + this.log('Radarr scan starting', 'info', { sessionId }); try { this.running = true; @@ -75,7 +75,7 @@ class JobRadarrSync { } } - this.log('Radarr sync complete', 'info'); + this.log('Radarr scan complete', 'info'); } catch (e) { this.log('Something went wrong.', 'error', { errorMessage: e.message }); } finally { @@ -241,7 +241,7 @@ class JobRadarrSync { level: 'info' | 'error' | 'debug' | 'warn' = 'debug', optional?: Record ): void { - logger[level](message, { label: 'Radarr Sync', ...optional }); + logger[level](message, { label: 'Radarr Scan', ...optional }); } } diff --git a/server/job/schedule.ts b/server/job/schedule.ts index 342f54a16..7bbf580d2 100644 --- a/server/job/schedule.ts +++ b/server/job/schedule.ts @@ -17,13 +17,13 @@ interface ScheduledJob { export const scheduledJobs: ScheduledJob[] = []; export const startJobs = (): void => { - // Run recently added plex sync every 5 minutes + // Run recently added plex scan every 5 minutes scheduledJobs.push({ - id: 'plex-recently-added-sync', - name: 'Plex Recently Added Sync', + id: 'plex-recently-added-scan', + name: 'Plex Recently Added Scan', type: 'process', job: schedule.scheduleJob('0 */5 * * * *', () => { - logger.info('Starting scheduled job: Plex Recently Added Sync', { + logger.info('Starting scheduled job: Plex Recently Added Scan', { label: 'Jobs', }); jobPlexRecentSync.run(); @@ -32,39 +32,41 @@ export const startJobs = (): void => { cancelFn: () => jobPlexRecentSync.cancel(), }); - // Run full plex sync every 24 hours + // Run full plex scan every 24 hours scheduledJobs.push({ - id: 'plex-full-sync', - name: 'Plex Full Library Sync', + id: 'plex-full-scan', + name: 'Plex Full Library Scan', type: 'process', job: schedule.scheduleJob('0 0 3 * * *', () => { - logger.info('Starting scheduled job: Plex Full Sync', { label: 'Jobs' }); + logger.info('Starting scheduled job: Plex Full Library Scan', { + label: 'Jobs', + }); jobPlexFullSync.run(); }), running: () => jobPlexFullSync.status().running, cancelFn: () => jobPlexFullSync.cancel(), }); - // Run full radarr sync every 24 hours + // Run full radarr scan every 24 hours scheduledJobs.push({ - id: 'radarr-sync', - name: 'Radarr Sync', + id: 'radarr-scan', + name: 'Radarr Scan', type: 'process', job: schedule.scheduleJob('0 0 4 * * *', () => { - logger.info('Starting scheduled job: Radarr Sync', { label: 'Jobs' }); + logger.info('Starting scheduled job: Radarr Scan', { label: 'Jobs' }); jobRadarrSync.run(); }), running: () => jobRadarrSync.status().running, cancelFn: () => jobRadarrSync.cancel(), }); - // Run full sonarr sync every 24 hours + // Run full sonarr scan every 24 hours scheduledJobs.push({ - id: 'sonarr-sync', - name: 'Sonarr Sync', + id: 'sonarr-scan', + name: 'Sonarr Scan', type: 'process', job: schedule.scheduleJob('0 30 4 * * *', () => { - logger.info('Starting scheduled job: Sonarr Sync', { label: 'Jobs' }); + logger.info('Starting scheduled job: Sonarr Scan', { label: 'Jobs' }); jobSonarrSync.run(); }), running: () => jobSonarrSync.status().running, diff --git a/server/job/sonarrsync/index.ts b/server/job/sonarrsync/index.ts index 3685af484..affcdbb41 100644 --- a/server/job/sonarrsync/index.ts +++ b/server/job/sonarrsync/index.ts @@ -35,7 +35,7 @@ class JobSonarrSync { const settings = getSettings(); const sessionId = uuid(); this.sessionId = sessionId; - this.log('Sonarr sync starting', 'info', { sessionId }); + this.log('Sonarr scan starting', 'info', { sessionId }); try { this.running = true; @@ -78,7 +78,7 @@ class JobSonarrSync { } } - this.log('Sonarr sync complete', 'info'); + this.log('Sonarr scan complete', 'info'); } catch (e) { this.log('Something went wrong.', 'error', { errorMessage: e.message }); } finally { @@ -374,7 +374,7 @@ class JobSonarrSync { level: 'info' | 'error' | 'debug' | 'warn' = 'debug', optional?: Record ): void { - logger[level](message, { label: 'Sonarr Sync', ...optional }); + logger[level](message, { label: 'Sonarr Scan', ...optional }); } } diff --git a/src/components/MovieDetails/index.tsx b/src/components/MovieDetails/index.tsx index afedec957..c0049f8d8 100644 --- a/src/components/MovieDetails/index.tsx +++ b/src/components/MovieDetails/index.tsx @@ -60,7 +60,8 @@ const messages = defineMessages({ manageModalNoRequests: 'No Requests', manageModalClearMedia: 'Clear All Media Data', manageModalClearMediaWarning: - 'This will irreversibly remove all data for this movie, including any requests. If this item exists in your Plex library, the media information will be recreated during the next sync.', + 'This will irreversibly remove all data for this movie, including any requests.\ + If this item exists in your Plex library, the media information will be recreated during the next scan.', approve: 'Approve', decline: 'Decline', studio: 'Studio', diff --git a/src/components/Settings/RadarrModal/index.tsx b/src/components/Settings/RadarrModal/index.tsx index 967bb7ee9..7932447af 100644 --- a/src/components/Settings/RadarrModal/index.tsx +++ b/src/components/Settings/RadarrModal/index.tsx @@ -35,7 +35,7 @@ const messages = defineMessages({ apiKeyPlaceholder: 'Your Radarr API key', baseUrl: 'Base URL', baseUrlPlaceholder: 'Example: /radarr', - syncEnabled: 'Enable Sync', + syncEnabled: 'Enable Scan', externalUrl: 'External URL', externalUrlPlaceholder: 'External URL pointing to your Radarr server', qualityprofile: 'Quality Profile', diff --git a/src/components/Settings/SettingsJobsCache/index.tsx b/src/components/Settings/SettingsJobsCache/index.tsx index 0e70b6b49..b327a1877 100644 --- a/src/components/Settings/SettingsJobsCache/index.tsx +++ b/src/components/Settings/SettingsJobsCache/index.tsx @@ -19,7 +19,9 @@ import { formatBytes } from '../../../utils/numberHelpers'; const messages: { [messageName: string]: MessageDescriptor } = defineMessages({ jobs: 'Jobs', jobsDescription: - 'Overseerr performs certain maintenance tasks as regularly-scheduled jobs, but they can also be manually triggered below. Manually running a job will not alter its schedule.', + 'Overseerr performs certain maintenance tasks as regularly-scheduled jobs,\ + but they can also be manually triggered below.\ + Manually running a job will not alter its schedule.', jobname: 'Job Name', jobtype: 'Type', nextexecution: 'Next Execution', @@ -41,10 +43,10 @@ const messages: { [messageName: string]: MessageDescriptor } = defineMessages({ cachevsize: 'Value Size', flushcache: 'Flush Cache', unknownJob: 'Unknown Job', - 'plex-recently-added-sync': 'Plex Recently Added Sync', - 'plex-full-sync': 'Plex Full Library Sync', - 'radarr-sync': 'Radarr Sync', - 'sonarr-sync': 'Sonarr Sync', + 'plex-recently-added-scan': 'Plex Recently Added Scan', + 'plex-full-scan': 'Plex Full Library Scan', + 'radarr-scan': 'Radarr Scan', + 'sonarr-scan': 'Sonarr Scan', 'download-sync': 'Download Sync', 'download-sync-reset': 'Download Sync Reset', }); diff --git a/src/components/Settings/SettingsPlex.tsx b/src/components/Settings/SettingsPlex.tsx index 4fa588733..fb95aae84 100644 --- a/src/components/Settings/SettingsPlex.tsx +++ b/src/components/Settings/SettingsPlex.tsx @@ -49,8 +49,8 @@ const messages = defineMessages({ plexlibraries: 'Plex Libraries', plexlibrariesDescription: 'The libraries Overseerr scans for titles. Set up and save your Plex connection settings, then click the button below if no libraries are listed.', - syncing: 'Syncing', - sync: 'Sync Plex Libraries', + scanning: 'Scanning…', + scan: 'Scan Plex Libraries', manualscan: 'Manual Library Scan', manualscanDescription: "Normally, this will only be run once every 24 hours. Overseerr will check your Plex server's recently added more aggressively. If this is your first time configuring Plex, a one-time full manual library scan is recommended!", @@ -563,8 +563,8 @@ const SettingsPlex: React.FC = ({ onComplete }) => { /> {isSyncing - ? intl.formatMessage(messages.syncing) - : intl.formatMessage(messages.sync)} + ? intl.formatMessage(messages.scanning) + : intl.formatMessage(messages.scan)}
    {data?.libraries.map((library) => ( diff --git a/src/components/Settings/SonarrModal/index.tsx b/src/components/Settings/SonarrModal/index.tsx index 65d7a157b..a41fead9d 100644 --- a/src/components/Settings/SonarrModal/index.tsx +++ b/src/components/Settings/SonarrModal/index.tsx @@ -52,7 +52,7 @@ const messages = defineMessages({ testFirstRootFolders: 'Test connection to load root folders', loadinglanguageprofiles: 'Loading language profiles…', testFirstLanguageProfiles: 'Test connection to load language profiles', - syncEnabled: 'Enable Sync', + syncEnabled: 'Enable Scan', externalUrl: 'External URL', externalUrlPlaceholder: 'External URL pointing to your Sonarr server', preventSearch: 'Disable Auto-Search', diff --git a/src/components/Setup/index.tsx b/src/components/Setup/index.tsx index e0a21e5f6..b174887f3 100644 --- a/src/components/Setup/index.tsx +++ b/src/components/Setup/index.tsx @@ -22,8 +22,9 @@ const messages = defineMessages({ configureplex: 'Configure Plex', configureservices: 'Configure Services', tip: 'Tip', - syncingbackground: - 'Syncing will run in the background. You can continue the setup process in the meantime.', + scanbackground: + 'Scanning will run in the background.\ + You can continue the setup process in the meantime.', }); const Setup: React.FC = () => { @@ -104,7 +105,7 @@ const Setup: React.FC = () => { {intl.formatMessage(messages.tip)} - {intl.formatMessage(messages.syncingbackground)} + {intl.formatMessage(messages.scanbackground)}
    diff --git a/src/components/TvDetails/index.tsx b/src/components/TvDetails/index.tsx index fcc12bbf3..e93fa94ce 100644 --- a/src/components/TvDetails/index.tsx +++ b/src/components/TvDetails/index.tsx @@ -56,7 +56,8 @@ const messages = defineMessages({ manageModalNoRequests: 'No Requests', manageModalClearMedia: 'Clear All Media Data', manageModalClearMediaWarning: - 'This will irreversibly remove all data for this TV series, including any requests. If this item exists in your Plex library, the media information will be recreated during the next sync.', + 'This will irreversibly remove all data for this TV series, including any requests.\ + If this item exists in your Plex library, the media information will be recreated during the next scan.', approve: 'Approve', decline: 'Decline', showtype: 'Show Type', diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json index eafcb6924..16c261a68 100644 --- a/src/i18n/locale/en.json +++ b/src/i18n/locale/en.json @@ -63,7 +63,7 @@ "components.MovieDetails.decline": "Decline", "components.MovieDetails.downloadstatus": "Download Status", "components.MovieDetails.manageModalClearMedia": "Clear All Media Data", - "components.MovieDetails.manageModalClearMediaWarning": "* This will irreversibly remove all data for this movie, including any requests. If this item exists in your Plex library, the media information will be recreated during the next sync.", + "components.MovieDetails.manageModalClearMediaWarning": "* This will irreversibly remove all data for this movie, including any requests. If this item exists in your Plex library, the media information will be recreated during the next scan.", "components.MovieDetails.manageModalNoRequests": "No Requests", "components.MovieDetails.manageModalRequests": "Requests", "components.MovieDetails.manageModalTitle": "Manage Movie", @@ -366,7 +366,7 @@ "components.Settings.RadarrModal.servername": "Server Name", "components.Settings.RadarrModal.servernamePlaceholder": "A Radarr Server", "components.Settings.RadarrModal.ssl": "SSL", - "components.Settings.RadarrModal.syncEnabled": "Enable Sync", + "components.Settings.RadarrModal.syncEnabled": "Enable Scan", "components.Settings.RadarrModal.test": "Test", "components.Settings.RadarrModal.testFirstQualityProfiles": "Test connection to load quality profiles", "components.Settings.RadarrModal.testFirstRootFolders": "Test connection to load root folders", @@ -426,12 +426,12 @@ "components.Settings.SettingsJobsCache.jobstarted": "{jobname} started.", "components.Settings.SettingsJobsCache.jobtype": "Type", "components.Settings.SettingsJobsCache.nextexecution": "Next Execution", - "components.Settings.SettingsJobsCache.plex-full-sync": "Plex Full Library Sync", - "components.Settings.SettingsJobsCache.plex-recently-added-sync": "Plex Recently Added Sync", + "components.Settings.SettingsJobsCache.plex-full-scan": "Plex Full Library Scan", + "components.Settings.SettingsJobsCache.plex-recently-added-scan": "Plex Recently Added Scan", "components.Settings.SettingsJobsCache.process": "Process", - "components.Settings.SettingsJobsCache.radarr-sync": "Radarr Sync", + "components.Settings.SettingsJobsCache.radarr-scan": "Radarr Scan", "components.Settings.SettingsJobsCache.runnow": "Run Now", - "components.Settings.SettingsJobsCache.sonarr-sync": "Sonarr Sync", + "components.Settings.SettingsJobsCache.sonarr-scan": "Sonarr Scan", "components.Settings.SettingsJobsCache.unknownJob": "Unknown Job", "components.Settings.SonarrModal.add": "Add Server", "components.Settings.SonarrModal.animelanguageprofile": "Anime Language Profile", @@ -465,7 +465,7 @@ "components.Settings.SonarrModal.servername": "Server Name", "components.Settings.SonarrModal.servernamePlaceholder": "A Sonarr Server", "components.Settings.SonarrModal.ssl": "SSL", - "components.Settings.SonarrModal.syncEnabled": "Enable Sync", + "components.Settings.SonarrModal.syncEnabled": "Enable Scan", "components.Settings.SonarrModal.test": "Test", "components.Settings.SonarrModal.testFirstLanguageProfiles": "Test connection to load language profiles", "components.Settings.SonarrModal.testFirstQualityProfiles": "Test connection to load quality profiles", @@ -544,6 +544,8 @@ "components.Settings.regionTip": "Filter content by region (only applies to the \"Popular\" and \"Upcoming\" categories)", "components.Settings.save": "Save Changes", "components.Settings.saving": "Saving…", + "components.Settings.scan": "Scan Plex Libraries", + "components.Settings.scanning": "Scanning…", "components.Settings.serverConnected": "connected", "components.Settings.serverLocal": "local", "components.Settings.serverRemote": "remote", @@ -562,8 +564,6 @@ "components.Settings.sonarrsettings": "Sonarr Settings", "components.Settings.ssl": "SSL", "components.Settings.startscan": "Start Scan", - "components.Settings.sync": "Sync Plex Libraries", - "components.Settings.syncing": "Syncing…", "components.Settings.timeout": "Timeout", "components.Settings.toastApiKeyFailure": "Something went wrong while generating a new API key.", "components.Settings.toastApiKeySuccess": "New API key generated!", @@ -589,9 +589,9 @@ "components.Setup.finish": "Finish Setup", "components.Setup.finishing": "Finishing…", "components.Setup.loginwithplex": "Sign in with Plex", + "components.Setup.scanbackground": "Scanning will run in the background. You can continue the setup process in the meantime.", "components.Setup.setup": "Setup", "components.Setup.signinMessage": "Get started by signing in with your Plex account", - "components.Setup.syncingbackground": "Syncing will run in the background. You can continue the setup process in the meantime.", "components.Setup.tip": "Tip", "components.Setup.welcome": "Welcome to Overseerr", "components.Slider.noresults": "No results.", @@ -614,7 +614,7 @@ "components.TvDetails.downloadstatus": "Download Status", "components.TvDetails.firstAirDate": "First Air Date", "components.TvDetails.manageModalClearMedia": "Clear All Media Data", - "components.TvDetails.manageModalClearMediaWarning": "* This will irreversibly remove all data for this TV series, including any requests. If this item exists in your Plex library, the media information will be recreated during the next sync.", + "components.TvDetails.manageModalClearMediaWarning": "* This will irreversibly remove all data for this TV series, including any requests. If this item exists in your Plex library, the media information will be recreated during the next scan.", "components.TvDetails.manageModalNoRequests": "No Requests", "components.TvDetails.manageModalRequests": "Requests", "components.TvDetails.manageModalTitle": "Manage Series",