- Redesigned the Activity Settings page for improved user experience, including better organization of sections and updated alert messages.
- Added functionality to import historical data from Jellyfin and Emby servers, allowing users to specify the number of days back and a result limit for imports.
- Updated the HistoricalDataService to support importing history from Jellyfin and Emby, including detailed logging and error handling.
- Improved the UI for historical data import, including form validation and user feedback during the import process.
- Cleaned up completed historical import jobs from the database to prevent indefinite persistence.
- Introduced the HistoricalImportJob model to track historical data import jobs.
- Implemented asynchronous job processing for importing historical activity data from media servers.
- Enhanced the activity settings page to allow users to specify the number of days back for historical imports.
- Added a new route to display recent historical import jobs.
- Updated the import_historical_activity function to create and manage import jobs.
- Improved UI components for displaying success and error messages related to historical imports.
- Added migration script to create the historical_import_job table in the database.
- Added `identity_resolution.py` for resolving Wizarr users and identities.
- Created `ingestion.py` to handle recording and updating activity events.
- Introduced `maintenance.py` for cleanup and session management tasks.
- Developed `queries.py` for read-oriented operations on activity sessions.
- Implemented background tasks in `activity.py` for scheduled maintenance.
- Added tests for activity services and blueprint to ensure functionality.