Skip to content

fix: MN update notifications had old_list/new_list swapped#7154

Merged
PastaPastaPasta merged 1 commit intodashpay:developfrom
UdjinM6:fix_mnupdate_notifications
Feb 19, 2026
Merged

fix: MN update notifications had old_list/new_list swapped#7154
PastaPastaPasta merged 1 commit intodashpay:developfrom
UdjinM6:fix_mnupdate_notifications

Conversation

@UdjinM6
Copy link

@UdjinM6 UdjinM6 commented Feb 18, 2026

Issue being fixed or feature implemented

  • UI: Masternode list tab displayed state at block X-1 while node was at block X
  • Net: mnauth disconnect handling could miss removals, keeping removed masternode peers connected longer than intended

Noticed while reviewing #7146

What was done?

How Has This Been Tested?

Run qt, open masternode list tab, sort by last paid (desc). Open Info dialog to see block height, wait for another block after full sync and compare.

Breaking Changes

n/a

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 made corresponding changes to the documentation
  • I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

Impact:
- UI: Masternode list tab displayed state at block X-1 while node was at block X
- Net: mnauth disconnect handling could miss removals, keeping removed masternode peers connected longer than intended
@UdjinM6 UdjinM6 added this to the 23.1.1 milestone Feb 18, 2026
@github-actions
Copy link

✅ No Merge Conflicts Detected

This PR currently has no conflicts with other open PRs.

Copy link
Member

@PastaPastaPasta PastaPastaPasta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 5e5aaec

@coderabbitai
Copy link

coderabbitai bot commented Feb 18, 2026

No actionable comments were generated in the recent review. 🎉


Walkthrough

The changes modify two aggregate initializations in src/evo/deterministicmns.cpp by switching from positional initialization syntax to designated-field initialization. Specifically, the MNListUpdates struct initialization in ProcessBlock and UndoBlock now explicitly names each field (old_list, new_list, diff) rather than relying on implicit field ordering.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main fix: swapping of old_list and new_list fields in MNListUpdates initialization, which directly addresses the UI and network issues mentioned in the PR objectives.
Description check ✅ Passed The description clearly relates to the changeset by explaining the issues being fixed (UI displaying wrong block state, mnauth disconnect handling) and how to test the fix, though the 'What was done?' section is empty.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


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.

@UdjinM6 UdjinM6 requested a review from knst February 18, 2026 18:33
Copy link
Collaborator

@kwvg kwvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 5e5aaec

@PastaPastaPasta PastaPastaPasta merged commit 3046711 into dashpay:develop Feb 19, 2026
43 of 45 checks passed
thepastaclaw pushed a commit to thepastaclaw/dash that referenced this pull request Feb 27, 2026
…t swapped

5e5aaec fix: MN update notifications had old_list/new_list swapped (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  - UI: Masternode list tab displayed state at block X-1 while node was at block X
  - Net: mnauth disconnect handling could miss removals, keeping removed masternode peers connected longer than intended

  Noticed while reviewing dashpay#7146

  ## What was done?

  ## How Has This Been Tested?
  Run qt, open masternode list tab, sort by last paid (desc). Open Info dialog to see block height, wait for another block after full sync and compare.

  ## Breaking Changes
  n/a

  ## 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 made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  PastaPastaPasta:
    utACK 5e5aaec
  kwvg:
    utACK 5e5aaec

Tree-SHA512: 00cd0abd17a46e025f4419b8c06ca0ac5a5edbb07a372da75f1b40866b9b218116fa803f4f903b4010dd878aa05e6377d3ca7e8df99aa184d6b24a0f76a00325
PastaPastaPasta added a commit that referenced this pull request Mar 3, 2026
00f590d Merge #7180: qt: add Tahoe styled icons for macOS, runtime styling for each network type, update bundle icon, add mask-based tray icon, generation scripts (pasta)
60dda51 Merge #7176: perf: do linear lookup instead building 2 heavy Hash-Maps (pasta)
df1ca87 Merge #7159: feat(qt): UI refresh (5/n, add proposal information widget to information, donut chart for proposal allocation) (pasta)
9061ad0 Merge #7118: feat(qt): UI refresh (4/n, introduce distinct widgets for Dash-specific reporting in debug window) (pasta)
64cc4f2 Merge #7160: feat(interfaces): consolidate masternode counts into one struct, expose chainlock, instantsend, credit pool, quorum statistics (pasta)
5d28a69 Merge #7157: fix(qt): prevent banned masternodes from returning status=0 (pasta)
e0b7386 Merge #7146: feat(qt): introduce framework for sourcing and applying data, use for `{Masternode,Proposal}List`s (pasta)
8fd53cd Merge #7144: feat(qt): add support for reporting `OP_RETURN` payloads as Data Transactions (pasta)
cc6f0bb Merge #7154: fix: MN update notifications had old_list/new_list swapped (pasta)
33f0138 Merge #7145: fix(qt): move labelError styling from proposalcreate.ui into general.css (pasta)
1bdbde6 Merge #7148: feat(qt): persist filter preferences in masternode list (pasta)
96bb601 Merge #7147: fix(qt): prevent overview page font double scaling, recalculate minimum width correctly, `SERVICE` and `STATUS` sorting, fix common types filtering (pasta)

Pull request description:

  ## Backport PRs for v23.1.1

  Cherry-picks the following 12 PRs (labeled `backport-candidate-23.1.x`) from `develop` onto `v23.1.x`, in merge order:

  | PR | Title |
  |---|---|
  | #7147 | fix(qt): prevent overview page font double scaling, recalculate minimum width correctly, `SERVICE` and `STATUS` sorting, fix common types filtering |
  | #7148 | feat(qt): persist filter preferences in masternode list |
  | #7145 | fix(qt): move labelError styling from proposalcreate.ui into general.css |
  | #7154 | fix: MN update notifications had old_list/new_list swapped |
  | #7144 | feat(qt): add support for reporting `OP_RETURN` payloads as Data Transactions |
  | #7146 | feat(qt): introduce framework for sourcing and applying data, use for `{Masternode,Proposal}List`s |
  | #7157 | fix(qt): prevent banned masternodes from returning status=0 |
  | #7160 | feat(interfaces): consolidate masternode counts into one struct, expose chainlock, instantsend, credit pool, quorum statistics |
  | #7118 | feat(qt): UI refresh (4/n, introduce distinct widgets for Dash-specific reporting in debug window) |
  | #7159 | feat(qt): UI refresh (5/n, add proposal information widget to information, donut chart for proposal allocation) |
  | #7176 | perf: do linear lookup instead building 2 heavy Hash-Maps |
  | #7180 | qt: add Tahoe styled icons for macOS, runtime styling for each network type, update bundle icon, add mask-based tray icon, generation scripts |

  All 12 cherry-picked cleanly (no conflicts).

  ## Notes
  - Used `git cherry-pick -m 1 <merge-sha>` for each (all were merge commits on develop)
  - Applied in chronological merge order to respect dependency chains
  - Version bump and release notes are separate steps per the release process

ACKs for top commit:
  kwvg:
    utACK 00f590d
  UdjinM6:
    utACK 00f590d

Tree-SHA512: 90d2a0660db8daa69b3e3b33a8a790fb0ea7d9a04656a2e27955575e76b6f4c9a379c435ef1c573ef6669c36cb6e205ba9701716d3dc303b01f19c719516b6d1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants