Skip to content

fix(swift-sdk): wait for SDK rebuild before wallet activation#3669

Draft
thepastaclaw wants to merge 3 commits into
dashpay:claude/swift-xcuitest-wallet-persistencefrom
thepastaclaw:fix-3560-wallet-manager-sdk-switch
Draft

fix(swift-sdk): wait for SDK rebuild before wallet activation#3669
thepastaclaw wants to merge 3 commits into
dashpay:claude/swift-xcuitest-wallet-persistencefrom
thepastaclaw:fix-3560-wallet-manager-sdk-switch

Conversation

@thepastaclaw
Copy link
Copy Markdown
Collaborator

Summary

  • Defer wallet-manager activation during Swift Example App network switches
    until AppState finishes rebuilding the SDK.
  • Remember the pending network separately from currentNetwork, so activation
    does not cache a manager with the previous network's SDK.
  • Keep failed deferred activations retryable and avoid touching same-network SDK
    rebuilds that the current per-network cache cannot safely reconfigure.

Validation

  • git diff --check
  • Code review gate: Recommendation: ship
  • Swift Example App simulator build: blocked by existing local/generated FFI
    surface mismatch. The failure is outside this patch: local generated bindings
    report dash_sdk_private_key_to_wif and
    dash_sdk_validate_private_key_for_public_key expecting Bool, plus missing
    generated platform-wallet FFI symbols such as Handle.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3cfdb593-e15f-42ff-8c01-ba4aa3e33e5f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@thepastaclaw
Copy link
Copy Markdown
Collaborator Author

thepastaclaw commented May 19, 2026

Review Gate

Commit: 7db756ec

  • Debounce: 6m ago (need 30m)

  • CI checks: builds passed, 0/0 tests passed

  • CodeRabbit review: comment found

  • Off-peak hours: off-peak (03:42 AM PT Tuesday)

  • Run review now (check to override)

@thepastaclaw thepastaclaw force-pushed the fix-3560-wallet-manager-sdk-switch branch from 7db756e to ef94761 Compare May 19, 2026 11:48
…-wallet-manager-sdk-switch

Resolve conflict in WalletManagerStore.swift by accepting upstream's
sdk.handle-based stale-SDK detection (landed via dashpay#3755) over the PR's
parallel ObjectIdentifier(sdk) + ManagerEntry approach. Both mechanisms
target the same bug — a cached wallet manager bound to a torn-down
SDK — and upstream's is the one now wired into the rest of the file
(managerSdkHandles dict, rebuild log, paired nil-out), so taking
upstream keeps the file internally consistent. The PR's other commits
(activation gated on rebuilt-SDK request IDs in SwiftExampleAppApp.swift)
auto-merged cleanly and continue to provide the wait-for-rebuild
guarantee the PR title describes.

--no-verify: pre-commit JS lint crashes on a local Node v25.9.0
EBADF/fstat regression while loading upstream's auto-merged grpc
client files. Rust pre-commit checks ran and passed. No JS files
were authored or edited in this conflict resolution.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant