Skip to content

feat(arrs): support retroactive stats updates and dynamic indexer health classification#644

Merged
javi11 merged 3 commits into
javi11:mainfrom
drondeseries:main
Jun 4, 2026
Merged

feat(arrs): support retroactive stats updates and dynamic indexer health classification#644
javi11 merged 3 commits into
javi11:mainfrom
drondeseries:main

Conversation

@drondeseries
Copy link
Copy Markdown
Contributor

Description

Consolidates real-time indexer statistics mapping, implements a native starr API background recovery worker to heal missed webhooks, and refines the Indexer Health dashboard.

Core Changes:

  1. Real-time Webhook Linkage: Captures the ARR download_id during grabs and imports, retroactively updating indexer_import_stats to correct any out-of-order webhook delivery.
  2. Background Recovery Sync: Implements a native, rate-limited background worker that runs every 15 minutes. It queries the local database for Unknown indexers with a download_id, queries the starr history APIs to resolve their actual indexers, and retroactively updates the DB. It operates with zero-overhead (making zero network requests when no gaps are present).
  3. Indexer Health Classifications: Updates the indexer health status scales to:
    • Excellent (>= 85.0%) ➡️ EXCELLENT (Teal)
    • Moderate (50.0% to 84.9%) ➡️ MODERATE (Amber/Yellow)
    • Poor (< 50.0%) ➡️ POOR (Rose/Red)
  4. UX Design Polishes:
    • Renders the telemetry status warning as Review failure logs when underperforming.
    • Automatically displays a positive green card (All indexers performing well) when all indexers are at or above 75% success.
    • Hides the indexer names from the success bar chart's X-axis (tick={false}) to prevent text overlapping and crowdiness while keeping interactive tooltips fully operational.

Comment thread docker/Dockerfile Outdated
WORKDIR /app

# Copy local nntppool module for the go.mod replace directive
COPY ./nntppool ./nntppool
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why you are doing this?

@drondeseries
Copy link
Copy Markdown
Contributor Author

This was temporarily added to test our local changes/fixes for nntppool during development. Since the testing is complete and the replace directive is no longer in go.mod, I've removed this from the Dockerfile in the latest commit.

@javi11 javi11 merged commit bbe9ee2 into javi11:main Jun 4, 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