/** * Instance editor (Sonarr/Radarr/Lidarr/Readarr/Whisparr/Eros) - extends SettingsForms. * Loaded after settings/core.js. */ (function() { 'use strict'; if (typeof window.SettingsForms === 'undefined') return; let _instanceEditorDirty = false; Object.assign(window.SettingsForms, { getAppIcon: function(appType) { const icons = { sonarr: 'fa-tv', radarr: 'fa-film', lidarr: 'fa-music', readarr: 'fa-book', whisparr: 'fa-venus', eros: 'fa-venus-mars', prowlarr: 'fa-search' }; return icons[appType] || 'fa-server'; }, // Render a single instance card. options: { hideDelete: true } for single-instance apps (e.g. Prowlarr). renderInstanceCard: function(appType, instance, index, options) { const isDefault = index === 0; // Determine connection status; disabled instances are never tested let statusClass = 'status-unknown'; let statusIcon = 'fa-question-circle'; if (instance.enabled === false) { statusClass = 'status-disabled'; statusIcon = 'fa-ban'; } else if (instance.api_url && instance.api_key) { // Has URL and API key - check if connection test passed if (instance.connection_status === 'connected' || instance.connection_test_passed === true) { statusClass = 'status-connected'; statusIcon = 'fa-check-circle'; } else if (instance.connection_status === 'error' || instance.connection_test_passed === false) { statusClass = 'status-error'; statusIcon = 'fa-minus-circle'; } else { statusClass = 'status-unknown'; statusIcon = 'fa-question-circle'; } } else { statusClass = 'status-error'; statusIcon = 'fa-minus-circle'; } const hideDelete = (options && options.hideDelete) === true; const footerButtons = hideDelete ? `` : ` `; return `
Enable or disable this instance
A friendly name to identify this instance
The full URL including port (e.g. ${exampleUrl})
Found in Settings > General in your *arr application
Stable identifier for this instance (assigned automatically; cannot be changed)
Number of missing items to search for in each cycle
Number of items to upgrade in each cycle
How to search for missing content
How to search for upgrades
Cutoff unmet: Items below quality cutoff (default). Huntarr does not add any upgrade tag. Tags (Upgradinatorr): Huntarr finds items WITHOUT the tag below, runs upgrade searches, then ADDS that tag when done. 💡 TrashGuides | 🔗 Upgradinatorr
Tag name in Sonarr. Huntarr finds series that don’t have this tag, runs upgrade searches, then adds the tag when done (tracks what’s been processed). 💡 TrashGuides | 🔗 Upgradinatorr
Only search for items that aired at least this many days ago
Number of missing items to search for in each cycle
Number of items to upgrade in each cycle
Search for individual albums (Artist mode deprecated in Huntarr 7.5.0+)
How to search for missing and upgradable Whisparr V3 content (Movie-based or Scene-based)
Cutoff unmet: Items below quality cutoff (default). Huntarr does not add any upgrade tag. Tags (Upgradinatorr): Huntarr finds items WITHOUT the tag below, runs upgrade searches, then ADDS that tag when done. 💡 TrashGuides | 🔗 Upgradinatorr
Tag name in Radarr. Huntarr finds movies that don’t have this tag, runs upgrade searches, then adds the tag when done (tracks what’s been processed). 💡 TrashGuides | 🔗 Upgradinatorr
Only search for items released at least this many days ago
Cutoff unmet: Items below quality cutoff (default). Huntarr does not add any upgrade tag. Tags (Upgradinatorr): Huntarr finds items WITHOUT the tag below, runs upgrade searches, then ADDS that tag when done. 💡 TrashGuides | 🔗 Upgradinatorr
${tagHelp}
Track processed items to avoid redundant searches
How long to wait before re-searching a previously processed item (default: 72 hours / 3 days)
Clears the history of processed items for this instance
Time in minutes between processing cycles (minimum ${sleepMin} minute${sleepMin === 1 ? '' : 's'}${devMode ? '; dev mode' : ''})
Maximum API requests per hour for this instance (10-20 recommended, max 400)
Only search for monitored items
Skip searching for episodes with future air dates
Tag added to items when they're found by a missing search (max 25 characters)
Tag added to items when they're upgraded in cutoff mode (max 25 characters). Not used when Upgrade Selection Method is Tags.
Tag added to shows when missing items are found in shows mode (max 25 characters)
Timeout for API requests to this instance (default: 120 seconds)
Delay between command status checks (default: 1 second)
Maximum attempts to wait for command completion (default: 600). Set to 0 for fire-and-forget: trigger search and don't wait — reduces API usage when Sonarr's command queue is slow.
Skip processing if queue size meets or exceeds this value (-1 = disabled, default)
Enable Swaparr to monitor and remove stalled downloads for this instance
Enable Swaparr in Settings to access additional monitoring features for this instance.
Skip hunts when this many torrents are actively seeding. Configure the torrent client below so Huntarr can read the seeding count.
-1 = disabled. When ≥ 0, hunts are skipped when active seeding count meets or exceeds this value.