Repository navigation
v0.7.3 — UX pass, GUI/CLI polish, and bulk driver export
v0.7.3 — UX pass, GUI/CLI polish, and bulk driver export
Astra (Codex gpt-6-astra, adversarial review) ran a UX pass over SpoolSmith's
CLI and desktop GUI, primed with the operator's own product-scope record so its
recommendations stayed inside what's actually authorized. Ten findings, all
fixed:
- Command-level help was broken:
add --helpwas an unknown-flag error,
inspect --helpwas treated as the inspect target, andhelp copyprinted
the entire command catalog instead of justcopy's own syntax. Every
command now has its own scoped help, and a usage mistake shows only the
relevant command instead of the full listing. - A driver chosen for one printer could silently carry over to the next one
set up in the same session — closed for both ways it could happen:
selecting a different printer, and retyping the IP field directly. - The Intune wizard's preview built its JSON text with raw line endings
instead of the app's own CRLF helper — the same class of rendering bug this
project's dev log had already recorded once before. - Stale README claims (a leftover "v0.6.0" headline, "Intune packaging
remains outside the shipped surface" long after it shipped, "a single
spoolsmith.exe" when the release ships two binaries) are corrected. - Saved-setup dialog wording no longer lets "Remove" (a Windows mutation) and
"Save changes" (a local file edit) read as the same kind of action; empty
states now say when something couldn't be read instead of claiming there's
nothing there; and three recovery messages now match what actually failed
(a save location vs. a missing driver vs. an unreachable printer) instead
of giving one generic printer-connectivity nudge for all of them.
Two more were found by using the app, not reading it: the review screen's
confirm button read "Add printer..." — a trailing ellipsis is Windows
convention for "this opens another dialog," backwards for a button that
performs the reviewed action immediately — so the suffix is gone. And
"offline mode" had two different names in the GUI; it's now Offline
setup everywhere, defined once in the README.
Bulk driver export: spoolsmith copy --all [<output-dir>] bundles every
copyable queue on the machine in one run, skipping and explaining any queue
it can't reproduce rather than aborting the batch. GUI parity for this is
intentionally not in this release — see docs/gui-parity.md.
Everything here is copy, help text, and CLI ergonomics — the confirmation
gate, --yes/--plan-hash, and the driver-payload trust model are untouched.
Astra reviewed the diff itself for correctness in a second pass and found four
real issues before anything merged — an incomplete driver-clearing guard, a
factually wrong claim in the reworded Intune offline label, two stale test
strings, and a bulk-export test too weak to catch a real loop bug — all fixed
and reproduced against source, not accepted on the report alone. Verified for
real: go build/go vet/go test clean on Linux; both binaries cross-compile
for Windows; copy --all run against a real Brother HL-L2315D on the kubert
Windows 11 box, producing and verifying a real bundle; and all 30
SpoolSmithGui.Tests FlaUI tests passing against the actual rendered GUI on
that same box. Full record in
docs/dev-process.md.