Skip to content

fix(qt): reseat quorum labels when new types are inserted#7191

Merged
PastaPastaPasta merged 1 commit intodashpay:developfrom
UdjinM6:fix/qt-quorum-label-overlap
Mar 3, 2026
Merged

fix(qt): reseat quorum labels when new types are inserted#7191
PastaPastaPasta merged 1 commit intodashpay:developfrom
UdjinM6:fix/qt-quorum-label-overlap

Conversation

@UdjinM6
Copy link

@UdjinM6 UdjinM6 commented Mar 2, 2026

Issue being fixed or feature implemented

When new quorum types appear during reindexing, existing labels that follow the insertion point in the grid were not being repositioned, causing overlapping text in the Information tab's Quorums section.

before:
Screenshot 2026-03-01 at 13 56 12

after:
Screenshot 2026-03-02 at 19 07 23

What was done?

How Has This Been Tested?

reindex with and without the patch on testnet

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

When new quorum types appear during reindexing, existing labels that
follow the insertion point in the grid were not being repositioned,
causing overlapping text in the Information tab's Quorums section.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@UdjinM6 UdjinM6 added this to the 23.1.1 milestone Mar 2, 2026
@github-actions
Copy link

github-actions bot commented Mar 2, 2026

✅ No Merge Conflicts Detected

This PR currently has no conflicts with other open PRs.

@coderabbitai
Copy link

coderabbitai bot commented Mar 2, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2e6a225 and 641b3ea.

📒 Files selected for processing (1)
  • src/qt/networkwidget.cpp

Walkthrough

The change modifies NetworkWidget::handleQrDataChanged to implement a two-stage widget reseating mechanism. When a new quorum label is inserted, the code sets a flag indicating reseating is required and immediately adds the new widgets to the grid. Subsequently, if entries were removed or displaced, the code repositions existing widgets by removing and re-adding them to ensure proper alignment without gaps.

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 directly describes the main fix: reseating quorum labels when new types are inserted, which matches the changeset's core purpose of preventing label overlap.
Description check ✅ Passed The description clearly explains the issue (overlapping labels when new quorum types appear), shows before/after screenshots, and details testing approach, all directly related to the changeset.

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

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

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
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 review from PastaPastaPasta, knst and kwvg March 3, 2026 09:04
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 641b3ea

@PastaPastaPasta PastaPastaPasta merged commit 358cca5 into dashpay:develop Mar 3, 2026
78 of 80 checks passed
thepastaclaw pushed a commit to thepastaclaw/dash that referenced this pull request Mar 3, 2026
…inserted

641b3ea fix(qt): reseat quorum labels when new types are inserted (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  When new quorum types appear during reindexing, existing labels that follow the insertion point in the grid were not being repositioned, causing overlapping text in the Information tab's Quorums section.

  before:
  <img width="292" height="173" alt="Screenshot 2026-03-01 at 13 56 12" src="proxy.php?url=https://github.com/user-attachments/assets/54daacde-6e44-4771-8478-00d11d93944a" />

  after:
  <img width="282" height="188" alt="Screenshot 2026-03-02 at 19 07 23" src="proxy.php?url=https://github.com/user-attachments/assets/ed1f74c1-9c16-498b-ac7e-147f9601ba88" />

  ## What was done?

  ## How Has This Been Tested?
  reindex with and without the patch on testnet

  ## 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

ACKs for top commit:
  kwvg:
    utACK 641b3ea

Tree-SHA512: 6ab68bbda76975a2c2cec8a85e85c6ebc0a580dbf8012761a42c8d8d61e318d830bad47375a8af2d0c1754ef6c485f9204aa0e6d2f6898438d0699ebfbeadfa5
thepastaclaw added a commit to thepastaclaw/dash that referenced this pull request Mar 3, 2026
PastaPastaPasta added a commit that referenced this pull request Mar 3, 2026
240a95f Merge #7193: fix: reject identity elements in deserialization and key generation (pasta)
444cbf2 Merge #7191: fix(qt): reseat quorum labels when new types are inserted (pasta)

Pull request description:

  ## Backport

  Cherry-picks of #7191 and #7193 into `v23.1.x`.

  ### Included

  - #7193 — `fix: reject identity elements in deserialization and key generation` (42b707b)
  - #7191 — `fix(qt): reseat quorum labels when new types are inserted` (641b3ea)

ACKs for top commit:
  UdjinM6:
    utACK 240a95f

Tree-SHA512: dc270139159974b3bdab9177a7215de201d4deecc7883d47e35174fe7073c3508e61313e99e554b5a646ceb179202c96eb170e53dc9fc01177349aaa840acf2b
thepastaclaw added a commit to thepastaclaw/dash that referenced this pull request Mar 5, 2026
PastaPastaPasta added a commit that referenced this pull request Mar 5, 2026
8d5936d chore: add #7191 and #7193 to v23.1.1 release notes (PastaClaw)
9f3662b chore: v23.1.1 release preparation (PastaClaw)
5dbfa98 chore: v23.1.1 release preparation (PastaClaw)

Pull request description:

  ## v23.1.1 Release Preparation

  Version bump and release notes for v23.1.1.

  ### Changes
  - **Version bump:** `_CLIENT_VERSION_BUILD` 0 → 1 in `configure.ac`
  - **Release notes:** Written for all 12 backported PRs, following v23.0.2 format
  - **Archived:** v23.1.0 release notes to `doc/release-notes/dash/release-notes-23.1.0.md`
  - **Flatpak metainfo:** Added v23.1.0 and v23.1.1 release entries

  ### Notes
  - This PR should be merged **after** #7182 (the backport PR) lands on `v23.1.x`
  - `chainparams.cpp` updates (`nMinimumChainWork`, `defaultAssumeValid`) are not included — those should be done closer to tag time with fresh block data
  - Translations and manpages regeneration may need separate commits depending on process

ACKs for top commit:
  UdjinM6:
    utACK 8d5936d

Tree-SHA512: 9a4dca9635ee2bdecf224be928ce1e952c13256171a6e075793fefa074c1a1ee8b149a5b9853abe00ddb423bbecc7f5d5631d311a77c37ff6df5bca19c1c067f
PastaPastaPasta added a commit that referenced this pull request Mar 16, 2026
da16809 docs: add #7221 and #7222 to v23.1.2 release notes (PastaClaw)
8a93926 Merge #7222: fix: properly skip evodb repair on reindex (pasta)
b74b549 Merge #7221: refactor: rename bitcoin-util manpage and test references to dash-util (pasta)
81464ac Merge #7211: fix: qt info tab layout (pasta)
7c27c2f Merge #7209: fix: serialize TrySignChainTip to prevent concurrent signing race (pasta)
81d5eb2 Merge #7208: fix: skip collecting block txids during IBD to prevent unbounded memory growth (pasta)
d02243c ci: run check-skip on blacksmith with GitHub-hosted fallback (PastaClaw)
033b3fe chore: regenerate manpages for v23.1.2 (PastaClaw)
ff965b5 chore: v23.1.2 release preparation (PastaClaw)
8d5936d chore: add #7191 and #7193 to v23.1.1 release notes (PastaClaw)
9f3662b chore: v23.1.1 release preparation (PastaClaw)
5dbfa98 chore: v23.1.1 release preparation (PastaClaw)
240a95f Merge #7193: fix: reject identity elements in deserialization and key generation (pasta)
444cbf2 Merge #7191: fix(qt): reseat quorum labels when new types are inserted (pasta)
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)
da1e336 build: expand minimum Darwin version to macOS 11 (Big Sur) (Kittywhiskers Van Gogh)

Pull request description:

  ## Issue being fixed or feature implemented
  Note: Skipping changes from #7149 which was for the v23.1.x only.

  ## 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 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:
  kwvg:
    utACK 36988f9

Tree-SHA512: f5bf8f0af11379bbcea606108ee90af08c16f588ebdbfac1fdd567adfcad14926b9c797c8fa6b398fb65fc3210c5f2c084015ea07718371df04e2412625f42d4
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.

3 participants