Files
Aniworld/docs/features.md
Lukas 0265ae2a70 feat: cron-based scheduler with auto-download after rescan
- Replace asyncio sleep loop with APScheduler AsyncIOScheduler + CronTrigger
- Add schedule_time (HH:MM), schedule_days (days of week), auto_download_after_rescan fields to SchedulerConfig
- Add _auto_download_missing() to queue missing episodes after rescan
- Reload config live via reload_config(SchedulerConfig) without restart
- Update GET/POST /api/scheduler/config to return {success, config, status} envelope
- Add day-of-week pill toggles to Settings -> Scheduler section in UI
- Update JS loadSchedulerConfig / saveSchedulerConfig for new API shape
- Add 29 unit tests for SchedulerConfig model, 18 unit tests for SchedulerService
- Rewrite 23 endpoint tests and 36 integration tests for APScheduler behaviour
- Coverage: 96% api/scheduler, 95% scheduler_service, 90% total (>= 80% threshold)
- Update docs: API.md, CONFIGURATION.md, features.md, CHANGELOG.md
2026-02-21 08:56:17 +01:00

6.9 KiB

Aniworld Web Application Features

Recent Updates

Enhanced Setup and Settings Pages (Latest)

The application now features a comprehensive configuration system that allows users to configure all settings during initial setup or modify them later through the settings modal:

Setup Page Enhancements:

  • Single-page setup with all configuration options organized into clear sections
  • Real-time password strength indicator for security
  • Form validation with helpful error messages
  • Comprehensive settings including: general, security, scheduler, logging, backup, and NFO metadata

Settings Modal Enhancements:

  • All configuration fields are now editable through the main application's config modal
  • Organized into logical sections with clear labels and help text
  • Real-time saving with immediate feedback
  • Configuration validation to prevent invalid settings
  • Full control over cron-based scheduler (time, days of week, auto-download), logging options, and backup settings

Authentication & Security

  • Master Password Login: Secure access to the application with a master password system
  • JWT Token Sessions: Stateless authentication with JSON Web Tokens
  • Rate Limiting: Built-in protection against brute force attacks

Configuration Management

  • Enhanced Setup Page: Comprehensive initial configuration interface with all settings in one place:
    • General Settings: Application name and data directory configuration
    • Security Settings: Master password setup with strength indicator
    • Anime Directory: Primary directory path for anime storage
    • Scheduler Settings: Enable/disable scheduler, configure daily run time, select days of week, and optionally auto-download missing episodes after rescan
    • Logging Settings: Configure log level, file path, file size limits, and backup count
    • Backup Settings: Enable automatic backups with configurable path and retention period
    • NFO Settings: TMDB API key, auto-creation options, and media file download preferences
  • Enhanced Settings/Config Modal: Comprehensive configuration interface accessible from main page:
    • General Settings: Edit application name and data directory
    • Anime Directory: Modify anime storage location with browse functionality
    • Scheduler Configuration: Enable/disable, set cron run time (HH:MM), select active days of the week, and toggle auto-download after rescan
    • Logging Configuration: Full control over logging level, file rotation, and backup count
    • Backup Configuration: Configure automatic backup settings including path and retention
    • NFO Settings: Complete control over TMDB integration and media file downloads
    • Configuration Validation: Validate configuration for errors before saving
    • Backup Management: Create, restore, and manage configuration backups
    • Export/Import: Export configuration for backup or transfer to another instance

User Interface

  • Dark Mode: Toggle between light and dark themes for better user experience
  • Responsive Design: Mobile-friendly interface with touch support
  • Real-time Updates: WebSocket-based live notifications and progress tracking

Anime Management

  • Anime Library Page: Display list of anime series with missing episodes
  • Database-Backed Series Storage: All series metadata and missing episodes stored in SQLite database
  • Automatic Database Synchronization: Series loaded from database on startup, stays in sync with filesystem
  • Series Selection: Select individual anime series and add episodes to download queue
  • Anime Search: Search for anime series using integrated providers
  • Library Scanning: Automated scanning for missing episodes with database persistence
  • Episode Tracking: Missing episodes tracked in database, automatically updated during scans
  • NFO Status Indicators: Visual badges showing NFO and media file status for each series

NFO Metadata Management

  • TMDB Integration: Automatic metadata fetching from The Movie Database (TMDB)
  • Auto-Create NFO Files: Automatically generate tvshow.nfo files during downloads
  • Media File Downloads: Automatic download of poster.jpg, logo.png, and fanart.jpg
  • NFO Status Tracking: Database tracking of NFO creation and update timestamps
  • Manual NFO Creation: Create NFO files and download media for existing anime
  • NFO Updates: Update existing NFO files with latest TMDB metadata
  • Batch Operations: Create NFO files for multiple anime at once
  • NFO Content Viewing: View generated NFO file content in the UI
  • Media Server Compatibility: Kodi, Plex, Jellyfin, and Emby compatible format
  • Configuration Options: Customize which media files to download and image quality

Download Management

  • Download Queue Page: View and manage the current download queue with organized sections
  • Queue Organization: Displays downloads organized by status (pending, active, completed, failed)
  • NFO Integration: Automatic NFO and media file creation before episode downloads
  • Manual Start/Stop Control: User manually starts downloads one at a time with Start/Stop buttons
  • FIFO Queue Processing: First-in, first-out queue order (no priority or reordering)
  • Single Download Mode: Only one download active at a time, new downloads must be manually started
  • Download Status Display: Real-time status updates and progress of current download
  • Queue Operations: Add and remove items from the pending queue
  • Completed Downloads List: Separate section for completed downloads with clear button
  • Failed Downloads List: Separate section for failed downloads with retry and clear options
  • Retry Failed Downloads: Automatically retry failed downloads with configurable limits
  • Clear Completed: Remove completed downloads from the queue
  • Clear Failed: Remove failed downloads from the queue
  • Queue Statistics: Real-time counters for pending, active, completed, and failed items

Real-time Communication

  • WebSocket Support: Real-time notifications for download progress and queue updates
  • Progress Tracking: Live progress updates for downloads and scans
  • System Notifications: Real-time system messages and alerts

Core Functionality Overview

The web application provides a complete interface for managing anime downloads with user-friendly pages for configuration, library management, search capabilities, and download monitoring. All operations are tracked in real-time with comprehensive progress reporting and error handling.

NFO Metadata Features: The application now includes full support for generating Kodi/Plex/Jellyfin/Emby compatible metadata files (tvshow.nfo) with automatic TMDB integration. NFO files are created automatically during downloads or can be managed manually through the UI. The system tracks NFO status in the database and provides comprehensive API endpoints for programmatic access. Media files (poster, logo, fanart) are automatically downloaded based on configuration settings.