Skip to content

Conversation

@lklimek
Copy link
Contributor

@lklimek lklimek commented Oct 27, 2025

Issue being fixed or feature implemented

What was done?

How Has This Been Tested?

Breaking Changes

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
  • I have made corresponding changes to the documentation if needed

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

Summary by CodeRabbit

  • Bug Fixes

    • Fixed platform reset operation to properly stop all services
    • Corrected JavaScript package version inconsistencies
  • Chores

    • Updated package versions to 2.1.2

@github-actions
Copy link

✅ gRPC Query Coverage Report

================================================================================
gRPC Query Coverage Report - NEW QUERIES ONLY
================================================================================

Total queries in proto: 47
Previously known queries: 47
New queries found: 0


================================================================================
Summary:
--------------------------------------------------------------------------------
No new queries found

Total known queries: 47
  - Implemented: 44
  - Not implemented: 2
  - Excluded: 1

Not implemented queries:
  - getConsensusParams
  - getTokenPreProgrammedDistributions

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 27, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Version bump from 2.1.1 to 2.1.2 across all packages with corresponding changelog entry. Dashmate refactored to support multiple platform profiles dynamically via a new options parameter in profile selection logic. Minor documentation formatting in Platform.pbobjc.h.

Changes

Cohort / File(s) Summary
Changelog and root manifest
CHANGELOG.md, package.json
Changelog entry added for v2.1.2 documenting two bug fixes. Root package.json bumped to 2.1.2.
JavaScript package.json version bumps
packages/bench-suite/package.json, packages/dapi-grpc/package.json, packages/dapi/package.json, packages/dashmate/package.json, packages/dashpay-contract/package.json, packages/dpns-contract/package.json, packages/feature-flags-contract/package.json, packages/js-dapi-client/package.json, packages/js-evo-sdk/package.json, packages/js-grpc-common/package.json, packages/keyword-search-contract/package.json, packages/masternode-reward-shares-contract/package.json, packages/platform-test-suite/package.json, packages/wasm-dpp/package.json, packages/wasm-drive-verify/package.json, packages/wasm-sdk/package.json, packages/withdrawals-contract/package.json, packages/wallet-utils-contract/package.json
All bumped from 2.1.1 to 2.1.2.
Non-standard version bumps
packages/dash-spv/package.json, packages/js-dash-sdk/package.json, packages/wallet-lib/package.json
Versions bumped to 3.1.2, 5.1.2, and 9.1.2 respectively.
Rust Cargo.toml version bumps
packages/check-features/Cargo.toml, packages/dapi-grpc/Cargo.toml, packages/dash-platform-balance-checker/Cargo.toml, packages/dashpay-contract/Cargo.toml, packages/data-contracts/Cargo.toml, packages/dpns-contract/Cargo.toml, packages/feature-flags-contract/Cargo.toml, packages/keyword-search-contract/Cargo.toml, packages/masternode-reward-shares-contract/Cargo.toml, packages/rs-*/..., packages/simple-signer/Cargo.toml, packages/strategy-tests/Cargo.toml, packages/token-history-contract/Cargo.toml, packages/wallet-utils-contract/Cargo.toml, packages/wasm-dpp/Cargo.toml, packages/wasm-drive-verify/Cargo.toml, packages/wasm-sdk/Cargo.toml, packages/withdrawals-contract/Cargo.toml
All crate versions bumped from 2.1.1 to 2.1.2.
Dashmate profile selection refactoring
packages/dashmate/src/config/getConfigProfilesFactory.js, packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js, packages/dashmate/src/listr/tasks/startNodeTaskFactory.js, packages/dashmate/src/listr/tasks/stopNodeTaskFactory.js
Introduced options parameter with includeAll flag to getConfigProfiles() for flexible platform profile selection. Replaced internal getPlatformProfiles() helpers with unified selectPlatformProfiles(config, options) across task factories. Deduplication via Set added to profile lists.
Documentation updates
packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h
Minor comment reformatting and clarification of proof field descriptions in proto-generated Objective-C bindings.

Sequence Diagram(s)

sequenceDiagram
    participant resetTask as resetNodeTask
    participant getConfigProfiles as getConfigProfiles(config, options)
    participant selectProfiles as selectPlatformProfiles(config, options)
    participant dockerCompose as dockerCompose
    
    rect rgb(230, 245, 255)
    Note over resetTask: ctx.isPlatformOnlyReset = true
    resetTask->>selectProfiles: selectPlatformProfiles(config, {includeAll: true})
    selectProfiles->>getConfigProfiles: getConfigProfiles(config, {includeAll: true})
    getConfigProfiles-->>selectProfiles: [platform-dapi-deprecated, platform-dapi-rs]
    selectProfiles-->>resetTask: [platform-dapi-deprecated, platform-dapi-rs]
    resetTask->>dockerCompose: isNodeRunning(profiles)
    end
    
    rect rgb(245, 230, 255)
    Note over resetTask: Remove platform services
    resetTask->>dockerCompose: rm(profiles)
    resetTask->>dockerCompose: getVolumeNames(profiles)
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Homogeneous version bumps: 50+ manifest files with identical version increment pattern (2.1.1 → 2.1.2)—low effort per file but cumulative volume.
  • Non-standard version changes: Three packages (dash-spv, js-dash-sdk, wallet-lib) with different version targets (3.1.2, 5.1.2, 9.1.2)—verify these intentional.
  • Profile selection logic: Dashmate refactoring introduces new conditional logic for multi-profile support; verify existing single-profile behavior preserved when includeAll: false.
  • Areas requiring attention:
    • The dash-spv, js-dash-sdk, and wallet-lib version bumps differ from standard 2.1.2—confirm these are intentional.
    • Dashmate's selectPlatformProfiles removes fallback logic that added a default 'platform' profile—ensure downstream code handles empty profile arrays gracefully.
    • Profile deduplication via Set in getConfigProfiles—verify no ordering expectations broken.

Suggested reviewers

  • QuantumExplorer

Poem

🐰 Hop along, versions rise!
From 2.1.1 to 2.1.2, what a surprise,
Platform profiles dance with newfound choice,
Bug fixes settle—the maintainers rejoice!
Another milestone hopped with care,
Our dashmate journey beyond compare!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch backport/2.1.2-to-2.2

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cdcdec0 and f49390f.

⛔ Files ignored due to path filters (2)
  • .yarn/cache/fsevents-patch-19706e7e35-10.zip is excluded by !**/.yarn/**, !**/*.zip
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (66)
  • CHANGELOG.md (1 hunks)
  • package.json (1 hunks)
  • packages/bench-suite/package.json (1 hunks)
  • packages/check-features/Cargo.toml (1 hunks)
  • packages/dapi-grpc/Cargo.toml (1 hunks)
  • packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h (3 hunks)
  • packages/dapi-grpc/package.json (1 hunks)
  • packages/dapi/package.json (1 hunks)
  • packages/dash-platform-balance-checker/Cargo.toml (1 hunks)
  • packages/dash-spv/package.json (1 hunks)
  • packages/dashmate/package.json (1 hunks)
  • packages/dashmate/src/config/getConfigProfilesFactory.js (1 hunks)
  • packages/dashmate/src/listr/tasks/resetNodeTaskFactory.js (5 hunks)
  • packages/dashmate/src/listr/tasks/startNodeTaskFactory.js (3 hunks)
  • packages/dashmate/src/listr/tasks/stopNodeTaskFactory.js (3 hunks)
  • packages/dashpay-contract/Cargo.toml (1 hunks)
  • packages/dashpay-contract/package.json (1 hunks)
  • packages/data-contracts/Cargo.toml (1 hunks)
  • packages/dpns-contract/Cargo.toml (1 hunks)
  • packages/dpns-contract/package.json (1 hunks)
  • packages/feature-flags-contract/Cargo.toml (1 hunks)
  • packages/feature-flags-contract/package.json (1 hunks)
  • packages/js-dapi-client/package.json (1 hunks)
  • packages/js-dash-sdk/package.json (1 hunks)
  • packages/js-evo-sdk/package.json (1 hunks)
  • packages/js-grpc-common/package.json (1 hunks)
  • packages/keyword-search-contract/Cargo.toml (1 hunks)
  • packages/keyword-search-contract/package.json (1 hunks)
  • packages/masternode-reward-shares-contract/Cargo.toml (1 hunks)
  • packages/masternode-reward-shares-contract/package.json (1 hunks)
  • packages/platform-test-suite/package.json (1 hunks)
  • packages/rs-context-provider/Cargo.toml (1 hunks)
  • packages/rs-dapi-client/Cargo.toml (1 hunks)
  • packages/rs-dapi-grpc-macros/Cargo.toml (1 hunks)
  • packages/rs-dapi/Cargo.toml (1 hunks)
  • packages/rs-dash-event-bus/Cargo.toml (1 hunks)
  • packages/rs-dpp/Cargo.toml (1 hunks)
  • packages/rs-drive-abci/Cargo.toml (1 hunks)
  • packages/rs-drive-proof-verifier/Cargo.toml (1 hunks)
  • packages/rs-drive/Cargo.toml (1 hunks)
  • packages/rs-json-schema-compatibility-validator/Cargo.toml (1 hunks)
  • packages/rs-platform-serialization-derive/Cargo.toml (1 hunks)
  • packages/rs-platform-serialization/Cargo.toml (1 hunks)
  • packages/rs-platform-value-convertible/Cargo.toml (1 hunks)
  • packages/rs-platform-value/Cargo.toml (1 hunks)
  • packages/rs-platform-version/Cargo.toml (1 hunks)
  • packages/rs-platform-versioning/Cargo.toml (1 hunks)
  • packages/rs-platform-wallet/Cargo.toml (1 hunks)
  • packages/rs-sdk-ffi/Cargo.toml (1 hunks)
  • packages/rs-sdk-trusted-context-provider/Cargo.toml (1 hunks)
  • packages/rs-sdk/Cargo.toml (1 hunks)
  • packages/simple-signer/Cargo.toml (1 hunks)
  • packages/strategy-tests/Cargo.toml (1 hunks)
  • packages/token-history-contract/Cargo.toml (1 hunks)
  • packages/token-history-contract/package.json (1 hunks)
  • packages/wallet-lib/package.json (1 hunks)
  • packages/wallet-utils-contract/Cargo.toml (1 hunks)
  • packages/wallet-utils-contract/package.json (1 hunks)
  • packages/wasm-dpp/Cargo.toml (1 hunks)
  • packages/wasm-dpp/package.json (1 hunks)
  • packages/wasm-drive-verify/Cargo.toml (1 hunks)
  • packages/wasm-drive-verify/package.json (1 hunks)
  • packages/wasm-sdk/Cargo.toml (1 hunks)
  • packages/wasm-sdk/package.json (1 hunks)
  • packages/withdrawals-contract/Cargo.toml (1 hunks)
  • packages/withdrawals-contract/package.json (1 hunks)

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.

@lklimek lklimek changed the title backport: merge v2.1.2 into v2.2-dev chore: merge v2.1.2 into v2.2-dev Oct 27, 2025
@lklimek lklimek merged commit 0e240ba into v2.2-dev Oct 27, 2025
286 of 290 checks passed
@lklimek lklimek deleted the backport/2.1.2-to-2.2 branch October 27, 2025 16:23
@github-actions
Copy link

✅ DashSDKFFI.xcframework built for this PR.

SwiftPM (host the zip at a stable URL, then use):

.binaryTarget(
  name: "DashSDKFFI",
  url: "https://your.cdn.example/DashSDKFFI.xcframework.zip",
  checksum: "38e3d285e81b1176733c2b20e9f0bb8061dacf831a3ac88aa22379d15166cf43"
)

Xcode manual integration:

  • Download 'DashSDKFFI.xcframework' artifact from the run link above.
  • Drag it into your app target (Frameworks, Libraries & Embedded Content) and set Embed & Sign.
  • If using the Swift wrapper package, point its binaryTarget to the xcframework location or add the package and place the xcframework at the expected path.

@thephez thephez added this to the v2.2.0 milestone Dec 22, 2025
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.

4 participants