Skip to content

Feature: Github version check added to the QT wallet.#439

Open
Germardies wants to merge 1 commit into
Raptor3um:masterfrom
Germardies:feature-update-checker
Open

Feature: Github version check added to the QT wallet.#439
Germardies wants to merge 1 commit into
Raptor3um:masterfrom
Germardies:feature-update-checker

Conversation

@Germardies

Copy link
Copy Markdown
Bildschirmfoto vom 2026-03-01 16-21-16

A check has been added when starting the QT wallet.

  1. Check: Is Github accessible?
  2. Check: Version comparison between local wallet and Github.

The check is performed every time the QT wallet is started.
A message indicating that a new version is available appears as soon as a difference is detected.

Tested in Ubuntu.

@JSanchezFDZ JSanchezFDZ left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Reviewed the update checker. The class is self-contained and fails silently on
network errors, which is good. A few things worth addressing before merge:

  1. Opt-out / privacy. It runs on every GUI start with an unconditional
    outbound request to api.github.com. Please gate it behind a setting (an
    Options checkbox and/or -checkforupdates, defaulting per project policy) so
    privacy-sensitive, offline, or custom builds can turn it off. Bitcoin Core
    deliberately ships without a built-in update check for this reason.

  2. Version parsing misses the build component. isNewer() matches only
    (\d+)\.(\d+)\.(\d+) and the local string is built from MAJOR.MINOR.REVISION,
    dropping CLIENT_VERSION_BUILD. Raptoreum release tags are 4-part (the current
    release is v2.0.04.01), so a build-level bump (the .01) is never detected
    and 2.0.04.01 compares equal to a local 2.0.04. Please include the 4th
    component on both sides and match four groups.

  3. Lexicographic fallback. return remote > local is only reached when the
    regex fails, but string comparison is wrong for multi-digit parts ("10" < "9").
    Worth hardening or removing.

  4. Modal dialog during startup. The notification is a modal QMessageBox::exec()
    fired right after createWindow(), before the init/shutdown thread starts.
    Consider showing it non-modally once the main window is ready so it cannot
    interfere with the splash/startup sequence.

  5. Minor: updatechecker.cpp is missing a trailing newline.

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.

2 participants