Repository navigation
fix(wallet-toolbox): wire live-sync chain preflight and ProcessSyncChunkResult.error - #551
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
ty-everett
left a comment
There was a problem hiding this comment.
Maintainer review: retain this as draft and redesign it compatibly. WERR_NETWORK_CHAIN is exported through the public sdk namespace and SDK subpath; removing it breaks consumer imports, instanceof checks and typed JSON round trips. ProcessSyncChunkResult.error is also a public declaration. Internal non-use and the artifact checker’s selected export list do not establish absence of external consumers. Keep/deprecate these surfaces, retain round-trip coverage, and address #541 with an explicit live-sync chain preflight and #542 with documented, tested custom-provider failure handling. Do not close those issues through an API deletion in this maintenance release. A deliberate removal would need an approved major-version migration. Current main has also advanced substantially, so final acceptance must be rerun after the compatible revision.
…ChunkResult.error WERR_NETWORK_CHAIN was defined and deserialized but never thrown, and no processSyncChunk producer or consumer set or read result.error. Remove the dead surface instead of inventing new chain-mismatch or chunk-error semantics. Historical JSON with that error name still deserializes as a generic WalletError. Closes #541 Closes #542 Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
fbb0b5f to
5616c96
Compare
…0-16 The 2026-10-08 reviewBy date expired on main and blocks hosted CI. Static re-review confirms the same 30 dispositions; 29 source hashes are unchanged and the remaining suite matches the 2026-10-05 hash. No suite was executed. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
…unkResult.error Keep WERR_NETWORK_CHAIN and ProcessSyncChunkResult.error as public surfaces. Compare reader/writer TableSettings.chain before any live-sync chunk moves and throw WERR_NETWORK_CHAIN on mismatch. Honor a custom writer's ProcessSyncChunkResult.error by throwing it and stopping the loop. First-party providers still throw. Addresses #541 and #542 without an API deletion. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
Close GHSA-8r5x-fm3f-whwj and GHSA-p8wg-vrv2-v86f on the frozen ts-jest graph. 4.7.10 is younger than the 7-day floor until 2026-10-12, so handlebars is temporarily age-excluded for this security install. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
Resolve conflicts with #968 and the 2.14.7 wallet-toolbox train. Keep the compatible live-sync wiring. Drop the temporary handlebars override now that main already locks 4.7.10 and treats release age as advisory. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
Bring in #1029 (IndexedDB confirmed internalize). Conflicts were changelog and release notes only; keep both 2.14.7 notes and the live-sync wiring. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
Bring in #818 and the 2.14.8 train. Conflicts were release notes and generated migrations; keep the live-sync wiring and public error surfaces. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
Bring in published 2.14.9 and receipt/broadcast work. Conflicts were release notes and generated migrations. Keep live-sync wiring as the unpublished 2.14.10 patch; public error surfaces stay. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
|
main carries an unpublished wallet-toolbox 2.14.10 (#551, live-sync chain preflight). Keep 2.15.0 in the three manifests and the baseline, and keep 2.14.10 as its own CHANGELOG section below 2.15.0. The release-note entries stay on the published 2.14.9 baseline as a minor release, and their summary and migration now also carry the 2.14.10 text, since 2.15.0 ships it. Generated reference docs are regenerated with pnpm docs:facts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>



Addresses #541 and #542 by wiring the existing public surfaces. This is not an API deletion.
Reworked after maintainer review (
CHANGES_REQUESTED):WERR_NETWORK_CHAINandProcessSyncChunkResult.errorstay public. LivesyncToWriter/syncFromReadernow compare reader and writerTableSettings.chainbefore any chunk moves and throwWERR_NETWORK_CHAINon mismatch. Custom writers may setProcessSyncChunkResult.error; both live-sync loops throw that error and stop. First-party providers still throw. Deserializer andinstanceofJSON round-trip coverage remain.Merged onto current
origin/main(5a600ef2b), including published 2.14.9 and the receipt/broadcast train (#1073, #1066). Conflicts weregovernance/package-release-notes.jsonand generateddocs/reference/package-api-migrations.md. Live-sync source did not conflict. Unpublished candidate is now 2.14.10 (published 2.14.9).Program and scope
Error), and executing manual/funded suitesea9d5f88240efd639414bbe57b9b6d0c48d220e3Impact
Affected packages/services and intended patch versions (publication occurs only
through the release workflow after approval):
@bsv/wallet-toolbox2.14.10 (unpublished candidate vs published 2.14.9;releaseTypeis patch)@bsv/wallet-toolbox-clientand@bsv/wallet-toolbox-mobileshare the same sourceVerification
pnpm --filter @bsv/wallet-toolbox exec jest --testPathPatterns='WalletError.test|liveSyncGuards.test|liveSyncManager.test' --no-coverage— 3 suites, 51 passedpnpm docs:facts:check— passedpnpm health:check— passed (existing maintenance reminders only)pnpm check-versions— passedea9d5f88240efd639414bbe57b9b6d0c48d220e3: all 44 checks terminal without failures. Workflows: CI, CodeQL, Conformance, Codegen. Passed include Build/lint/policy, wallet-toolbox coverage shards and sync-http, dependents, wallet browser/mobile, package artifacts, Quality gate — zero new Sonar findings, CodeQL, merge-gate, Repository health, Dependency Review, Docs Site Validation. Expected skips: Infra, Coverage/SDK, Coverage/DID, Coverage/VeriFast, Mutation partitions, Tests/non-coverage packages.ProcessSyncChunkResult.done; hosted Conformance andts-runnerpassedBuild, lint, and policypassedWERR_NETWORK_CHAINremains exported from the public sdk namespace and./out/src/sdksubpathcompatibility, public API, artifacts, dependencies, docs, and operations
scope-based skip is expected and validated by the merge gate
Security and dependencies
mainaudit results were reviewed
(including accepted or false-positive issue states) and zero unreviewed hotspots;
Sonar's aggregate
Quality Gate passedverdict alone is not merge evidenceand removal condition
Release and operations
controlling program
Decision
Public surfaces are retained and wired. Hosted CI is green on this merge head. Left open for human review. Do not merge.