Skip to content

feat(qt): UI refresh (4/n, introduce distinct widgets for Dash-specific reporting in debug window, governance stats)#7118

Draft
kwvg wants to merge 49 commits intodashpay:developfrom
kwvg:info_refresh
Draft

feat(qt): UI refresh (4/n, introduce distinct widgets for Dash-specific reporting in debug window, governance stats)#7118
kwvg wants to merge 49 commits intodashpay:developfrom
kwvg:info_refresh

Conversation

@kwvg
Copy link
Collaborator

@kwvg kwvg commented Jan 28, 2026

Additional Information

v23.0.2 (cdc5a63) This PR (WIP code)
Does not exist in this build
Does not exist in this build
Does not exist in this build

Breaking Changes

None expected.

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)

@kwvg kwvg added this to the 23.1 milestone Jan 28, 2026
kwvg added 28 commits January 29, 2026 01:07
Also `s/coinJoinEnabledChanged/showCoinJoinChanged/g` to establish a
naming convention that will be used soon.
This should fix the misalignment of the `subFeeFromAmount` `QCheckBox`
compared to the rest of the `QCheckBox`es

Review with `git log -p -n1 --ignore-space-change --color-moved=dimmed_zebra`.
Review with `git log -p -n1 --color-moved=dimmed_zebra`.
Review with `git log -p -n1 --color-moved=dimmed_zebra`.
Inheriting the whole structure is overkill just to use `tr` and `hash()`
is used in hot loops so we should cache the value in the ctor.

Also remove dead variable.
Review with `git log -p -n1 --ignore-space-change --color-moved=dimmed_zebra`.
This is closer to how we report details for transactions and more
translation-friendly and easier to copy.
Visiting URLs could be dangerous, add a warning before we open a link in
someone's browser.
Dash Governance Tools' budget generator is a much more visually friendly
design and we can model our wizard after it.
kwvg added 21 commits January 29, 2026 01:44
The JSON and payload hex means little for the vast majority of users,
what matters is the error messages, so we responsively validate contents
and drop an extra panel in the process.
The visual language should match other coin-spending activities, also
warn that that you don't get the fee back.
The proposal creation process can be interrupted for reasons beyond our
control, since submitting the actual proposal is different from spending
the collateral, it should have its own page.

Right now this removes the old code but doesn't create a new layout, we
will do that in the next commit.
This replaces the remaining pages of the proposal wizard that we removed
in the last commit.
You cannot create a proposal without an adequate balance, it's a bad
idea to allow any kind of proposal manipulation without being synced.
This is a more inexpensive operation since we aren't getting a diff set,
we're getting the whole list repeatedly.
We are no longer using the wizard format so the name is a misnomer, the
logic is also relatively simplified (as now half of it is in
`qt/proposalresume.{cpp,h}`)
Applying our font causes drift to be introduced for some reason if baked
into the layout but this doesn't seem to be an issue if done
programmatically
Review with `git log -p -n1 --color-moved=dimmed_zebra`.
Review with `git log -p -n1 --color-moved=dimmed_zebra`.
Review with `git log -p -n1 --color-moved=dimmed_zebra`.
@thephez
Copy link
Collaborator

thephez commented Jan 28, 2026

@kwvg would it be difficult to also add the age of the quorums in addition to their health? On testnet some of those quorums haven't formed for years if I'm not mistaken. Would be nice to know if quorums were "fresh" and when the next ones are expected to form.

@github-actions
Copy link

github-actions bot commented Feb 3, 2026

This pull request has conflicts, please rebase.

PastaPastaPasta added a commit that referenced this pull request Feb 12, 2026
…use `UniValue` instead of `QJsonObject`, consistency in tab hiding behavior, minor bugfixes

3329898 chore: remove redundant `std::nullopt` from default init (Kittywhiskers Van Gogh)
d9b141a qt: use use `QHash`/`QSet` instead of `std::{map,set}` (Kittywhiskers Van Gogh)
ce747c8 qt: add vote signing to wallet interface (Kittywhiskers Van Gogh)
66f2e80 fix: check for `llmq_ctx` before accessing `isman` (Kittywhiskers Van Gogh)
ec5fb20 fix: avoid double-free by clearing before dtor semaphore cleanup (Kittywhiskers Van Gogh)
3ee43d9 fix: switch back to overview page if tab disabled (Kittywhiskers Van Gogh)
c8ce943 fix: use UniValue instead of QJsonObject to construct proposal (Kittywhiskers Van Gogh)
abb9aa1 fix: use wider integer to avoid potential overflow scenarios (Kittywhiskers Van Gogh)
6b90182 fix: acknowledge `updateDIP3List()` fail states (Kittywhiskers Van Gogh)
14b494c fix: avoid potential reassignment of atomic `m_mn_list_changed` (Kittywhiskers Van Gogh)
3b68a2d fix: emit `dataChanged()` when the display unit changes. (Kittywhiskers Van Gogh)
8ab5c0c fix: don't include invisible/hidden tabs in width calculations (Kittywhiskers Van Gogh)
99fd118 fix: avoid precision loss, storing as `CAmount`, fix potential overflow (Kittywhiskers Van Gogh)
72ed0ed fix: remove unused `m_node` in `ProposalWizard` (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  Resolution of preexisting bugs in `develop`, review feedback from [dash#7112](#7112) and [dash#7116](#7116) and fixes for bugs discovered when working on [dash#7118](#7118).

  ## Breaking Changes

  None expected.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas
  - [x] I have added or updated relevant unit/integration/functional/e2e tests **(note: N/A)**
  - [x] I have made corresponding changes to the documentation **(note: N/A)**
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 3329898
  knst:
    utACK 3329898

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

2 participants