You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Sources pagination and filtering. Sources index now paginates (25 per page, configurable) with Previous/Next controls. Dropdown filters for Status, Health, Format, and Scraper Adapter auto-submit on change. Active filters shown as dismissible badges. Text search and dropdown filters compose as intersection and persist across pagination.
Per-source scrape rate limiting. New min_scrape_interval column on sources allows time-based throttling between scrapes. Global default (1.0s) configurable via config.scraping.min_scrape_interval. Per-source overrides via the column value. ScrapeItemJob and Enqueuer check last scrape time from scrape_logs and re-enqueue with delay when rate-limited.
Word count metrics. New feed_word_count and scraped_word_count columns on item_contents. Feed content is HTML-stripped before counting; scraped content counted as-is (readability-cleaned). Separate "Avg Feed Words" and "Avg Scraped Words" columns on sources index. Separate "Feed Words" and "Scraped Words" columns on items index and source detail items table. Backfill rake task: source_monitor:backfill_word_counts.
Fixed
Show created_at fallback when published_at is nil in items table.
Handle source destroy failures with proper error responses instead of silent failures.