Fix getStores endpointURL under production minification - #419
Open
sirdeggen wants to merge 1 commit into
Open
Conversation
Production minifiers rename StorageClient, so getStores().endpointURL was always undefined for remote providers while backup sync still worked. Duck-type provider.endpointUrl instead.
sirdeggen
requested review from
BraydenLangley,
tonesnotes and
ty-everett
as code owners
July 31, 2026 22:30
|
ty-everett
requested changes
Aug 3, 2026
ty-everett
left a comment
Collaborator
There was a problem hiding this comment.
The implementation itself looks sound: duck-typing the existing endpointUrl property avoids the minified-class-name failure and covers both remote storage client variants. On this exact head I verified the focused suite (5/5), wallet-toolbox typecheck, package lint, and git diff --check locally. SonarCloud is also green with zero new findings and zero security hotspots.
There are still merge blockers that need an updated head:
- This branch no longer merges cleanly with
main; please rebase and resolve the wallet-toolbox CHANGELOG conflict while preserving both entries. - The required CI merge gate is red.
Build, lint, and policyfailed indocs:exampleswith unresolved workspace packages, the downstream test/coverage jobs were skipped, andMutation qualityplusbuild-and-test (24.x)consequently failed. Please rerun CI after the rebase and ensure the full required matrix—not only Sonar and the focused test—is green.
Once the branch is current and the complete CI/merge gate passes, I see no code-level blocker in this patch.
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
WalletStorageManager.getStoreEndpointURLusedconstructor.name === 'StorageClient', which fails after Vite/esbuild/webpack minify renames the class._backups), but clients that match stores by URL (e.g. bsv-desktop Make Primary) sawendpointURL: undefinedand failed with "No storage provider matching …".provider.endpointUrlinstead.Changes
WalletStorageManager.getStoreEndpointURL: duck-typeendpointUrl; document whyconstructor.nameis unsafegetStores()exposureTest plan
pnpm exec jest --runTestsByPath test/storage/getStoreEndpointURL.test.ts(5 passed)https://store-us-1.bsvb.techsucceeds