Repository navigation
Refresh footer validation as signing inputs change - #26
Merged
Merged
Conversation
Only the three path fields re-ran UpdateFlowUi on TextChanged, so editing any signing input left the footer stale: typing the PFX password kept the red "password is required" message and a disabled Package button until an unrelated event (e.g. flipping the Sign toggle) forced a refresh. The same staleness applied to every input ValidateSigningInputs reads — the pfx and PKCS#11 module paths (including browse, which sets .Text with no handler), the Azure endpoint/account/profile/token, and the "sign all signable files" switch, which had no IsCheckedChanged handler at all. New WireSigningRefresh() wires exactly the inputs signing validation reads to UpdateFlowUi. No debounce: unlike the path fields' folder-walk, these checks are cheap and local. Repro'd headlessly first (SigningRefreshTests, red on both controls' event kinds — TextBox.TextChanged and ToggleSwitch.IsCheckedChanged), green after. Found 2026-08-01 while staging the README screenshots. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug
Typing the certificate password (or editing any other signing input) didn't refresh the New-package footer: the red "The certificate password is required to sign." stayed up and Package stayed disabled until some unrelated event — e.g. toggling Sign payload off/on — happened to re-run
UpdateFlowUi(). Found while staging the README screenshots for #25 (the staging had to toggle Sign payload twice just to get the "ready" footer).Cause
WireDerivedFields()wiredTextChanged→UpdateFlowUi()for the three path fields only. None of the inputsValidateSigningInputs()reads were wired:TxtPfxPath/TxtSecret(also stale via the browse button, which sets.Textprogrammatically)TxtPkcs11ModuleTxtTsEndpoint/TxtTsAccount/TxtTsProfile/TxtTsTokenChkSignAllFiles— noIsCheckedChangedhandler at all, despite gating the unsignable-setup ruleFix
New
WireSigningRefresh()(called from the ctor besideWireDerivedFields) wires exactly that set toUpdateFlowUi. No debounce — these checks are cheap and local, unlike the path fields' folder-walk/MSI-parse.Tests
TDD:
SigningRefreshTests(headless, realMainWindow) written first and watched fail on both event kinds:Typing_the_pfx_password_immediately_arms_package— red at the post-typing assert, green afterToggling_sign_all_files_immediately_updates_validation—.cmdsetup blocked until sign-all is switched on; red at the post-toggle assert, green afterFull suite: 136 passed (36 Packaging, 11 Cli, 61 App, 28 Signing).
🤖 Generated with Claude Code