Skip to content

feat: enhance Arrs integration, NZBDav performance, and provider metrics#442

Merged
javi11 merged 8 commits intojavi11:mainfrom
drondeseries:main
Mar 28, 2026
Merged

feat: enhance Arrs integration, NZBDav performance, and provider metrics#442
javi11 merged 8 commits intojavi11:mainfrom
drondeseries:main

Conversation

@drondeseries
Copy link
Copy Markdown
Contributor

Summary

This PR introduces several key enhancements to improve Arrs integration reliability, importer performance, and system observability.

Key Changes

1. Stable Arrs ID Tracking (Sonarr/Radarr Matching)

  • Implemented persistent GUID-based tracking (Download ID) from the initial 'Grab' through to 'History'.
  • Updated the SABnzbd API compatibility layer to capture indexer GUIDs or generate fresh UUIDs.
  • This resolves the long-standing issue where Sonarr/Radarr could not automatically match history items, eliminating the need for manual imports.

2. NZBDav Importer Enhancements

  • Added support for compressed NZB blobs using zstd decompression.
  • Implemented compatibility for the alpha version database schema used by newer NZBDav instances.
  • Optimized blob parsing logic for better performance.

3. Per-Provider Performance Metrics

  • Introduced persistent tracking of download volume for each configured NNTP provider.
  • Added support for both cumulative total volume and rolling 24-hour volume per provider.
  • Created a new table to maintain high-resolution history.

4. Dashboard UI Updates

  • Enhanced the Provider Cards on the dashboard to display 'Total Downloaded' and 'Last 24h' stats.
  • Improved real-time status visibility for multi-provider setups.

5. Database & CI

  • Added migrations up to Version 21 to support the new tracking fields.
  • Fixed migration boundary markers to ensure reliable automated schema updates.
  • Resolved compilation and test schema issues identified during integration.

- Implement stable GUID tracking for Sonarr/Radarr to resolve matching issues.
- Add support for compressed NZB blobs and alpha schema in NZBDav importer.
- Introduce per-provider download metrics with persistent total and rolling 24h volume tracking.
- Update UI to display detailed provider statistics on the dashboard.
- Align database schema with version 21 migrations for enhanced tracking.
…lumn error

- Fix SQLite migration 020 failing on duplicate 'download_id' column.
- Add 'IF NOT EXISTS' to index creation in migrations 019, 020, and 021 for both SQLite and Postgres.
- Remove unreachable macOS-specific code and unused 'runtime' import in Hanwen FUSE backend.
- Simplify single-case select statements in NZBDav parser.
- Pass linting with zero issues.
…andlers

This ensures Sonarr/Radarr can successfully clean up items from the queue and history when using stable DownloadID tracking.
- Fix JSON unmarshaling when 'deletedFiles' is boolean (true/false)
- Only log 'No file path found' warning for actual scan events (Download, Rename, Upgrade)
- Reduce log level for 'health record not found' during deletion to DEBUG to reduce noise
@javi11 javi11 merged commit b6dbd1a into javi11:main Mar 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants