Feature: Github version check added to the QT wallet.#439
Conversation
JSanchezFDZ
left a comment
There was a problem hiding this comment.
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:
-
Opt-out / privacy. It runs on every GUI start with an unconditional
outbound request toapi.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. -
Version parsing misses the build component.
isNewer()matches only
(\d+)\.(\d+)\.(\d+)and the local string is built from MAJOR.MINOR.REVISION,
droppingCLIENT_VERSION_BUILD. Raptoreum release tags are 4-part (the current
release isv2.0.04.01), so a build-level bump (the.01) is never detected
and2.0.04.01compares equal to a local2.0.04. Please include the 4th
component on both sides and match four groups. -
Lexicographic fallback.
return remote > localis only reached when the
regex fails, but string comparison is wrong for multi-digit parts ("10" < "9").
Worth hardening or removing. -
Modal dialog during startup. The notification is a modal
QMessageBox::exec()
fired right aftercreateWindow(), 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. -
Minor:
updatechecker.cppis missing a trailing newline.
A check has been added when starting the QT wallet.
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.