- Updated input retrieval logic to check both the main container and the notifications container for notification settings.
- Introduced a helper function to streamline the process of getting input values, improving code clarity and maintainability.
- Ensured that apprise URLs are processed from the correct container, enhancing the robustness of the settings form functionality.
- Updated HTML structure by removing the unnecessary wrapper div for the settings form.
- Changed JavaScript selectors to target the new structure, ensuring functionality remains intact.
- Removed unused CSS properties related to the settings form for a cleaner layout.
- Updated the web server to prioritize HUNTARR_PORT over PORT for better consistency in configuration.
- Added a new notifications section in the frontend, including UI elements for managing notification settings.
- Implemented functionality to initialize notifications and handle user interactions for enabling/disabling notifications.
- Enhanced the settings form to include options for notification levels and Apprise URLs, along with a test notification feature.
- Simplified base URL input in settings_forms.js by removing the auto-detect button and related status messages.
- Updated help text to clarify base URL configuration using the BASE_URL environment variable.
- Removed auto-detection functions from settings_manager.py and related API routes in common.py to streamline initialization.
- Adjusted web_server.py to ensure proper handling of APPLICATION_ROOT when no base URL is set.
- Enhanced logging for base URL configuration processes.
- Adjusted padding and background colors for improved visual consistency and user experience in the state status display.
- Enhanced border styling to better align with the overall design aesthetics.
- Enhanced instance name detection logic in new-main.js and settings_forms.js to ensure consistency across the application.
- Updated state management to rely solely on server-provided reset times, removing fallback calculations.
- Improved logging for state loading and error handling to provide clearer context in console outputs.
- Adjusted Python backend to ensure accurate timezone conversion for reset times and improved error handling for missing lock information.
- Incremented version number in version.txt.
- Refactored JavaScript to improve state management display and reset functionality for individual instances.
- Added event listeners for per-instance reset buttons in settings_forms.js.
- Enhanced Python backend to support per-instance state management, including initialization, expiration checks, and reset capabilities.
- Updated database schema to include stateful_instance_locks for managing instance-specific state.
- Revised the help text for Sonarr, Radarr, Lidarr, Readarr, Whisparr, and Eros to clarify the purpose of the hourly API cap and provide safety recommendations.
- Emphasized the importance of keeping API requests lower to prevent being banned by indexers, with a suggested range of 20-50 requests for safety.
- Increased the maximum allowed API requests per hour from 250 to 400 for Sonarr, Radarr, Lidarr, Readarr, Whisparr, and Eros.
- Updated corresponding help text to reflect the new maximum and provide recommendations for usage.
- Adjusted settings validation in the backend to enforce the new limit.
- Added functionality to suppress change detection while generating forms for Sonarr, Radarr, Lidarr, Readarr, Whisparr, Eros, and other settings.
- Restored the original change detection state after a brief delay to ensure forms render correctly, improving user experience during form interactions.
- Implemented validation to ensure both URL and API key have sufficient length before checking connection status, improving user feedback.
- Added status messages to guide users on missing URL or API key inputs.
- Increased timeout for connection checks to ensure the form is fully rendered before validation.
- Introduced a backup timeout for connection tests to handle potential request delays, enhancing user experience during API interactions.
- Enhanced warning messages for episodes mode in both missing content and upgrade settings to clarify that it does not support tagging.
- Updated button text to reflect the specific application name based on the app type, improving user understanding of the instance being added.
- Ensured consistency in messaging across the settings interface for better user guidance.
- Simplified the warning messages for episodes mode in both missing content and upgrade settings.
- Removed excessive details about API calls and tagging limitations, focusing on the recommendation for using Season Packs.
- Enhanced clarity while maintaining essential information for user guidance.
- Removed the old display settings for community resources and Huntarr support.
- Introduced a new grouped section for display settings with improved styling and organization.
- Added toggle options for displaying resources and Huntarr support, enhancing user configurability.
- Expanded the UI to support instance-specific state management for Sonarr, Radarr, Lidarr, and Readarr, allowing users to configure state management modes and reset intervals.
- Implemented dynamic loading of state information for each instance, including processed item counts and next reset times.
- Updated backend logic to handle per-instance settings for state management, ensuring accurate processing based on user configurations.
- Introduced new API endpoint to retrieve state management summaries for specific app instances, improving data accessibility.
- Updated UI to allow instance-specific state management settings for Sonarr, Radarr, Lidarr, and Readarr, enabling users to configure state management mode and reset intervals.
- Implemented functions to dynamically load and display state information, including reset times and item counts for each instance.
- Modified default configurations for all relevant applications to set state management mode to 'custom' and default hours to 168.
- Improved event listeners to handle changes in state management settings and reset functionality effectively.
- Introduced instance-specific state management settings in the UI, allowing users to configure state management mode and reset hours.
- Implemented functions to load and display state information for each Sonarr instance.
- Updated default configuration for Sonarr to include state management options.
- Enhanced event listeners to handle changes in state management settings dynamically.
- Introduced dropdowns for selecting missing search mode and upgrade mode in the Sonarr settings.
- Default values set to 'seasons_packs' for both modes.
- Added event listeners to display warnings for excessive API calls when 'episodes' mode is selected.
- Updated background processing to utilize per-instance mode settings.
- Refactored default configuration to include new mode settings.
- Implemented connection status checking for supported apps, ensuring proper setup for instance management.
- Improved logging for change detection suppression and form changes, providing clearer context for debugging.
- Added delays for resetting suppression flags after connection tests to ensure all changes are processed effectively.
- Updated the change detection logic to account for an additional suppression flag, improving user experience during status updates and test connections.
- Added checks for status elements by ID pattern to ensure accurate detection of test-related changes.
- Implemented a reset mechanism for suppression flags after status updates, enhancing the responsiveness of the UI.
- Simplified the settings forms by removing quality profile dropdowns for missing and upgrade item searches, focusing on numeric input fields only.
- Updated the connection handling logic to replace auto-fetching of quality profiles with a direct connection status check, enhancing user experience during configuration.
- Improved code maintainability by consolidating connection status checks across multiple applications.
- Updated the settings forms to include dropdowns for selecting quality profiles during missing and upgrade searches, improving user experience.
- Implemented auto-detection for new instances, allowing real-time fetching of quality profiles based on URL and API key inputs with a delay to prevent excessive requests.
- Ensured initial status checks for new instances to streamline the setup process.
- Implemented new API endpoints to fetch quality profiles from Eros, Lidarr, Readarr, Sonarr, and Whisparr, enhancing integration capabilities.
- Updated frontend forms to include dropdowns for selecting quality profiles during missing and upgrade searches, improving user experience.
- Enhanced backend logic to handle quality profile retrieval, ensuring robust communication with respective services.
- Streamlined error handling and logging for quality profile fetching processes across all applications.
- Replaced the test connection button with a connection status indicator for each instance across multiple applications (Sonarr, Lidarr, Readarr, Whisparr, Eros).
- Added data attributes to URL and API key inputs for better instance tracking.
- Streamlined the logic for auto-fetching quality profiles and connection status updates, improving user experience during configuration.
- Updated the UI to reflect connection status dynamically, providing immediate feedback to users.
- Enhanced user feedback by providing specific status messages for missing URL and API key inputs.
- Updated the UI to display appropriate messages and colors based on the completeness of the fields, improving overall user experience during configuration.
- Removed the test connection button and replaced it with a connection status indicator for each instance, enhancing user experience.
- Implemented real-time connection status updates based on URL and API key inputs, providing immediate feedback during configuration.
- Streamlined the connection testing logic to improve code maintainability and reduce redundancy.
- Updated the UI to reflect connection success or failure with appropriate messaging and styling.
- Added functionality to fetch and populate quality profiles from the Radarr API, improving user experience when configuring instances.
- Updated the frontend to include dropdowns for selecting quality profiles during missing and upgrade searches.
- Implemented auto-fetching of quality profiles based on URL and API key inputs, streamlining the setup process for users.
- Enhanced backend with a new API endpoint to retrieve quality profiles, ensuring robust communication with the Radarr service.
- Eliminated the settings group for additional options in both Lidarr and Eros sections to streamline the user interface.
- Consolidated relevant settings into existing groups for better organization and clarity.
- Updated the settings management logic to include skip future releases for Lidarr.
- Removed redundant settings group for additional options in both Lidarr and Readarr sections.
- Consolidated the monitored only and skip future releases options into a single settings group for improved organization.
- Updated the HTML structure to enhance readability and maintainability of the settings forms.
- Replaced the text input field for timezone selection with a dropdown menu for improved user experience.
- Added a custom option for users to select their current timezone if it is not in the predefined list.
- Enhanced the help text to clarify that changes are applied upon saving settings.
- Maintained the existing timezone options while ensuring the current selection is highlighted.
- Replaced the timezone selection dropdown with a text input field that allows users to enter or select from a list of valid timezones.
- Added validation functions to ensure the entered timezone is valid, with fallback to UTC for invalid entries.
- Updated the settings manager to handle timezone changes more robustly, including logging warnings for invalid timezones.
- Enhanced the web server to validate timezone changes before saving settings, ensuring users are notified of any adjustments made.
- Improved utility functions for timezone handling to ensure safe retrieval and validation of timezone data.
- Added multiple new timezone options for various regions including North America, South America, Europe, Africa, Asia, and Australia.
- Updated the settings_forms.js file to reflect these changes, ensuring users can select their appropriate timezone for accurate time display.
- Version updated in HTML templates to reflect the latest changes in the settings script.
- Introduced UI options for users to enable automatic re-search of removed downloads and detection of failed imports.
- Implemented backend logic to check for failed imports based on common error patterns and trigger searches for alternatives.
- Updated the download deletion process to optionally trigger searches after removals based on user settings.
- Enhanced logging for failed import detection and search triggering to improve monitoring and user feedback.
- Introduced a method to check if Swaparr is globally enabled, affecting the state of Swaparr toggles across various app forms.
- Updated the UI to reflect the global state, disabling or enabling Swaparr options based on the global setting.
- Enhanced help text to inform users when Swaparr is globally disabled.
- Implemented caching for Swaparr settings in localStorage to maintain state across sessions.
- Added a method to update the disabled state of Swaparr fields dynamically based on the global setting.
- Implemented caching of settings in localStorage for easier timezone access.
- Enhanced date formatting function to handle invalid dates and log errors.
- Improved timezone retrieval logic to check multiple sources, including localStorage.
- Updated sidebar to link to the Huntarr website for better navigation.
- Added new timezone options in settings forms for broader user selection.