Reported: verification errors in the GUI. The Verify tab made the user pick a
PQ mode from a dropdown and remember the private key; a wrong pick or a missing
credential produced a raw CLI decrypt-error dump ("Error: Archive uses
post-quantum encryption. Use --pq" / "Authentication failed"), and it ran the
verify SYNCHRONOUSLY on the GUI thread (freezing the window on a large archive).
- New _detect_archive_enc(): reads the archive header via `info` (no credential)
and returns none/password/pq/pqonly/sdk + a human label.
- Verify now auto-detects the encryption, uses the MATCHING decrypt flag (a
wrong-mode mismatch is impossible), and if the needed credential is missing
shows a clear message ("This archive is password-encrypted. Enter the password
above, then click Verify again." / "...select the matching private key...")
instead of a raw error. Removed the now-redundant Verify PQ-mode dropdown.
- Verify runs through the async _Job (own progress bar) so it never freezes;
run_async gained ok_msg/fail_msg so it prints "All checksums passed." /
"Verification failed.".
- Same auto-detect + missing-credential guidance applied to Extract (it had the
same footgun); its message on wrong creds is now "Extraction failed.".
Verified on real X (thread-safe instrumentation, no cross-thread access): plain/
password/hybrid/pq-only verify pass; missing password and missing PQ key each
give guidance; wrong password/key and a non-archive fail cleanly; extract flows
byte-exact.