Changes
🚀 Auto-Approved Content Tracking & Approval System Enhancements
Overview
Enhanced approval system with comprehensive content tracking, auto-approved status support, and improved Discord integration for complete visibility into all content additions.
Key Updates
Auto-Approved Content Tracking
- Complete audit trail: All content additions now tracked in approval system regardless of approval requirement
- Auto-approved status: Content bypassing manual approval automatically marked as "auto_approved"
- System user integration: Introduced system user (ID: 0) for tracking automated operations and RSS-sourced content
- User attribution: Auto-approved items properly attributed to actual users during reconciliation
- Real-time updates: SSE support for auto-approved items with live UI updates
Enhanced Approval Interface
- Improved filtering: Added support for filtering by auto-approved status
- Enhanced statistics: Approval stats header includes auto-approved content counts
- Better table display: Enhanced columns to show auto-approved items with appropriate styling
- Bulk operations: Updated bulk approval modals to handle auto-approved content
- Export functionality: Complete approval history including auto-approved items
Discord Integration Improvements
- Split button layout: Approval buttons reorganized into two rows of three to stay under Discord's limit
- Auto-approval notifications: Added Discord notifications for auto-approved content
- Previously rejected fix: Fixed bug preventing approval of previously rejected items
- Enhanced commands: Improved Discord approval command handling
Technical Changes
Database Architecture
- Migration 058: Added
auto_approved
status to approval workflow - Migration 059: Added system user support for automated operations
- Enhanced methods: Improved database methods for auto-approved content handling
- Better queries: Optimized approval queries with auto-approved status support
Content Router Enhancements
- Automatic record creation: Content router creates tracking records for all additions
- Improved attribution: Enhanced logic to attribute system-processed content to users
- Proposed routing fixes: Fixed bugs with proposed routing in approval workflow
- Workflow integration: Enhanced watchlist workflow for auto-approval tracking
Performance Optimizations
- SSE improvements: Better server-sent event handling for approval updates
- Database optimization: Improved methods for approval operations
- Memory efficiency: Enhanced approval processing with better resource management
- Error handling: Comprehensive error handling throughout approval system
Migration & Compatibility
Automatic migration - Two database migrations will run on upgrade. System user will be created and auto-approved tracking begins immediately. Existing approval records remain unchanged.
Full Changelog: v0.5.14...v0.5.15
Docker Image: lakker/pulsarr:latest
Upgrade Path: Standard Docker image update
- feat: Implement comprehensive content tracking with auto-approved status support (#594) @jamcalli
- Feature/auto approved content tracking (#583) @jamcalli
- 📝 Add docstrings to
feature/auto-approved-content-tracking
(#584) @coderabbitai[bot] - fix: replace hardcoded timeout values with a constant for Plex API operations (#579) @jamcalli
🔄 Dependencies
- chore(deps): lock file maintenance (#593) @renovate[bot]
- fix(deps): update react (#592) @renovate[bot]
- fix(deps): update dependency close-with-grace to v2.3.0 (#591) @renovate[bot]
- fix(deps): update dependency cron-parser to v5.4.0 (#590) @renovate[bot]
- fix(deps): update dependency better-sqlite3 to v12.4.1 (#589) @renovate[bot]
- fix(deps): update dependency @scalar/fastify-api-reference to v1.36.0 (#588) @renovate[bot]
- fix(deps): update dependency fastify to v5.6.1 (#586) @renovate[bot]
- fix(deps): update dependency @scalar/fastify-api-reference to v1.35.7 (#582) @renovate[bot]
- fix(deps): update build tools (#581) @renovate[bot]
- chore(deps): update dependency @types/node to v22.18.6 (#580) @renovate[bot]
Docker
docker pull lakker/pulsarr:0.5.15
Contributors
@actions-user, @coderabbitai[bot], @jamcalli, @renovate[bot], coderabbitai[bot] and renovate[bot]