747e1acc21
docs: document Temp cleanup in CHANGELOG and ARCHITECTURE
2026-02-22 17:39:18 +01:00
87bf0d71cd
style: apply formatter cleanup (import order, whitespace)
2026-02-22 11:26:06 +01:00
8e262c947c
docs: document NFO repair feature
2026-02-22 11:21:57 +01:00
adea1e2ede
feat: wire NFO repair scan into app startup lifespan
2026-02-22 11:17:45 +01:00
d71feb64dd
feat: add perform_nfo_repair_scan startup hook
2026-02-22 11:16:25 +01:00
3e5ad8a4a6
feat: add NfoRepairService for missing NFO tag detection
2026-02-22 11:09:48 +01:00
e1abf90c81
feat: write all required NFO tags on creation
2026-02-22 11:07:19 +01:00
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
53b628efd9
Update testing documentation - TIER 4 complete
2026-02-15 17:49:11 +01:00
f18c31a035
Implement async series data loading with background processing
...
- Add loading status fields to AnimeSeries model
- Create BackgroundLoaderService for async task processing
- Update POST /api/anime/add to return 202 Accepted immediately
- Add GET /api/anime/{key}/loading-status endpoint
- Integrate background loader with startup/shutdown lifecycle
- Create database migration script for loading status fields
- Add unit tests for BackgroundLoaderService (10 tests, all passing)
- Update AnimeSeriesService.create() to accept loading status fields
Architecture follows clean separation with no code duplication:
- BackgroundLoader orchestrates, doesn't reimplement
- Reuses existing AnimeService, NFOService, WebSocket patterns
- Database-backed status survives restarts
2026-01-19 07:14:55 +01:00
df19f8ad95
Docs: Update all documentation for series loading and episode tracking fixes
2026-01-18 16:10:34 +01:00
dfdac68ecc
docs: Update API, CHANGELOG, and ARCHITECTURE for Enhanced Anime Add Flow
2025-12-26 12:53:33 +01:00
1ba67357dc
Add database transaction support with atomic operations
...
- Create transaction.py with @transactional decorator, atomic() context manager
- Add TransactionPropagation modes: REQUIRED, REQUIRES_NEW, NESTED
- Add savepoint support for nested transactions with partial rollback
- Update connection.py with TransactionManager, get_transactional_session
- Update service.py with bulk operations (bulk_mark_downloaded, bulk_delete)
- Wrap QueueRepository.save_item() and clear_all() in atomic transactions
- Add comprehensive tests (66 transaction tests, 90% coverage)
- All 1090 tests passing
2025-12-25 18:05:33 +01:00
f7ee9a40da
Update documentation for scan status fix
2025-12-25 13:20:58 +01:00
54790a7ebb
docu
2025-12-15 14:07:04 +01:00