zupt/gui/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Cristian Cezar Moisés 2512844bc4 gui: robust Verify (+Extract) — auto-detect encryption, guide, run async
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.
2026-07-12 15:36:39 -03:00
..
zupt_gui.py gui: robust Verify (+Extract) — auto-detect encryption, guide, run async 2026-07-12 15:36:39 -03:00