The splash passed two alignment flags to QPainter.drawText, which has no matching PyQt6 overload. Combine them into one int flags value and cast the remaining painted labels for safety. Adds splash and full-page render coverage.
Co-Authored-By: Claude Code <noreply@anthropic.com>
sys.version_info[:2] prints '(3, 11)', so the old substring check for '3.11' always failed even on a valid Python install. Probe the major.minor string explicitly and support the py launcher or python on PATH.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Adds the PyQt6 Windows client (Homepage, Scan & results, About & updates, Settings), ClamAV scanning and quarantine, browser-download watch with an exclusive scan gate, Bolt loopback/PKCE sign-in with DPAPI key storage, Gitea release feed with checksum verification, opt-in diagnostics, and Windows/portable build tooling.
Co-Authored-By: Claude Code <noreply@anthropic.com>