fa2f2f70c2
Resolves issue where CWA hangs when editing metadata and cover simultaneously, particularly on network shares or when NETWORK_SHARE_MODE is enabled. Changes: - Increase SQLite connection timeout from 30s to 60s throughout cover_enforcer.py to handle slower network share operations - Add retry logic with exponential backoff (3 attempts) to calibredb export, specifically handling "database is locked" errors - Replace os.system() with subprocess.run() for ebook-polish operations: * Better error handling and logging * 120s timeout to prevent indefinite hangs * Capture stderr/stdout for debugging - Add 0.5s delay before ebook-polish execution to ensure file buffers are flushed and locks released - Explicit database connection closure before file modification operations All changes occur in background service; no UI impact. Fixes #904