Honor explicit no-prompt getPublicKey semantics#187
Open
ty-everett wants to merge 1 commit into
Open
Conversation
|
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.



Summary
GetPublicKeyArgs.seekPermissioninto public-key and identity-key permission checks.seekPermission=falsefails without opening permission prompts.Current framing
This should stay open, but not because normal app developers should see
WALLET_PERMISSION_REQUIREDduring ordinary wallet use. They should not.The normal app contract is:
This PR is still useful because explicit
seekPermission=falseis a real API contract for diagnostic/headless/no-prompt callers. If a caller explicitly opts out of prompting, the toolbox must not accidentally enqueue a user permission request. Keeping this fix upstream lets downstream wallets remove local compatibility patches forgetPublicKey.Validation
corepack pnpm --filter @bsv/wallet-toolbox exec jest --runTestsByPath src/__tests/WalletPermissionsManager.checks.test.ts --runInBandcorepack pnpm --filter @bsv/auth-express-middleware run buildcorepack pnpm --filter @bsv/payment-express-middleware run buildcorepack pnpm --filter @bsv/wallet-toolbox run buildFollow-up
After merge and package release,
p2ppsr/metanet-client-desktopshould be able to drop its localpatchGetPublicKeySeekPermissioncompatibility patch and consume the released toolbox behavior directly.