This pull request introduces several improvements to the handling of indexers and manual imports, focusing on robustness, user error prevention, and system automation. The key changes include normalization and validation of indexer URLs, enhanced error checking for indexer connectivity, more flexible indexer lookup by name or ID, and automatic triggering of focused scans after manual imports.
Indexer URL normalization and validation:
- Added a
NormalizeIndexerUrlmethod to clean up indexer URLs by removing duplicate or trailing/apisegments and ensuring a scheme is present, defaulting tohttpsif missing. This normalization is now applied and persisted whenever an indexer is tested. [1] [2] - Enhanced the indexer test endpoint to detect and throw informative errors for common misconfigurations, such as unexpected HTTP redirects or receiving HTML (likely login pages) instead of the expected API/XML response.
Manual import automation:
- Updated
ManualImportControllerto inject and utilizeIScanQueueService. After a successful file move or copy during manual import, the system now automatically enqueues a focused scan for the imported audiobook, improving library accuracy and reducing manual intervention. [1] [2]
Indexer lookup flexibility:
- Modified the search service to allow indexers to be referenced by either numeric ID or case-insensitive name, improving usability and integration flexibility. The service now logs and handles cases where the indexer is not found or not enabled.
Automated canary build