Skip to content

Fix Plex stability, improve import speed, and restore bulk queue actions - #171

Merged
javi11 merged 86 commits into
kipsilabs:mainfrom
drondeseries:main
Dec 28, 2025
Merged

Fix Plex stability, improve import speed, and restore bulk queue actions#171
javi11 merged 86 commits into
kipsilabs:mainfrom
drondeseries:main

Conversation

@drondeseries

@drondeseries drondeseries commented Dec 27, 2025

Copy link
Copy Markdown
Contributor

This PR consolidates several critical stability and performance improvements, while maintaining compatibility with proven 'Alpha 5' workflows:

🚀 Performance & Importer

  • Fail-Fast Validation: Implemented a strict 5s timeout for Usenet segment validation during import (vs 30s default) to prevent queue jams.
  • Lenient Import Toggle: Added an optional toggle to skip health checks entirely during import, restoring 'Alpha 5' behavior for instant library updates.
  • SABnzbd Storage Restoration: Reverted to using system temp directory with the /tmp/altmount-uploads/ folder structure, matching proven Alpha 5 behavior.
  • Dynamic Workers: Improved worker pool management and configuration responsiveness.

🛡️ Reliability & Plex Stability

  • Metadata Self-Healing: Added automatic background backfilling for missing release dates to stabilize health check scheduling.
  • Path Normalization: Enhanced ARR webhook handlers to support all import strategies, including complex STRM resolution.
  • NONE Strategy Support: Made 'library_dir' optional for users with Strategy: NONE to prevent redundant filesystem scans.

🛠️ Database & UI

  • Bulk Queue Actions: Restored missing backend implementations for bulk Restart, Cancel, and Delete in the queue UI.
  • UI UX: Fixed text wrapping issues and updated configuration descriptions to clearly explain Strategy: NONE behavior.
  • Transaction Safety: Wrapped bulk operations in atomic transactions to ensure data integrity.

📝 Key Commit Summary

  • 22e87e6 revert: restore Alpha 5 behavior by using /tmp/altmount-uploads for SABnzbd storage
  • a17f675 fix(database): implement RestartQueueItemsBulk to enable bulk restart in queue UI
  • 7fcdbcf fix(database): restore missing RemoveFromQueueBulk implementation to fix bulk deletion in queue
  • 7c3d671 feat(importer): implement fast-failure validation with 5s timeout for imports and 30s for health checks
  • a07ae63 feat(import): implement lenient import by skipping health checks during processing
  • 1277063 ui(health): fix text wrapping in health config to prevent horizontal scrollbar
  • 85dac36 ui(health): update library_dir description and validation for NONE strategy
  • e2e135e fix(health): allow library_dir to be optional when import strategy is NONE
  • 07eb02c feat(health): implement automatic background release date backfill for all users
  • 30821ac feat(api): support all import strategies in webhook path normalization including STRM resolution

…an calls

Removes the explicit trigger of 'DownloadedMoviesScan' (Radarr) and 'DownloadedEpisodesScan' (Sonarr) immediately after 'RefreshMonitoredDownloads'.
'RefreshMonitoredDownloads' is the correct method for notifying Arrs to check the download client queue (SABnzbd/AltMount).
Triggering both in sequence caused race conditions and potential 500 errors in Radarr as reported in issue logs.
- Implement SABnzbd 4.5 API features (pagination, ETA, raw speed, disk space)
- Add centralized ARR health proxy endpoint
- Improve Sonarr/Radarr queue cleanup with additional error patterns
- Fix Sonarr scan trigger commands to use RefreshMonitoredDownloads
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
drondeseries and others added 29 commits December 26, 2025 23:53
@javi11
javi11 merged commit 8e5e869 into kipsilabs:main Dec 28, 2025
1 check 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