diff options
| author | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-03-12 04:39:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-11 22:39:41 -0400 |
| commit | dc1d7552c3dca135fcc6432455c2f011d801752d (patch) | |
| tree | 3926e3d32449b23c402b0080cec9b034de253c65 /indra/newview/llvvmquery.cpp | |
| parent | 1c8bb96bb460611aa5d05f5570d627ec5ebcc836 (diff) | |
Velopack download failure diagnostic (#5520)
* Velopack download failure diagnostic
* Fix up velopack downloading updates. Handle updates internally then hand them off to velopack. (#5524)
* Update llvelopack.cpp
* More velopack changes. Should download updates properly now.
* Update llvvmquery.cpp
* Don't include NSI files
* Restore optional updates, refine viewer restart behavior. (#5527)
* Add support for optional updates.
* Don't restart the viewer after the update unless it was optional.
* Setup UpdaterServiceSetting with velopack properly.
* Refine the restart behavior a bit - readd the old "the viewer must update" UX.
* If the update is still downloading, close should just reopen the downloading dialog.
Also add a login guard - probably unnecessary, but you never know with how creative our residents get.
---------
Co-authored-by: Jonathan "Geenz" Goodman <geenz@lindenlab.com>
Diffstat (limited to 'indra/newview/llvvmquery.cpp')
| -rw-r--r-- | indra/newview/llvvmquery.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/indra/newview/llvvmquery.cpp b/indra/newview/llvvmquery.cpp index b1f964b1e4..2499ab8474 100644 --- a/indra/newview/llvvmquery.cpp +++ b/indra/newview/llvvmquery.cpp @@ -75,6 +75,10 @@ namespace { // Get base URL from grid manager std::string base_url = LLGridManager::getInstance()->getUpdateServiceURL(); + + // We use this for dev testing when working with VVM and working on the updater. Not advisable to uncomment it. + //std::string base_url = "https://update.qa.secondlife.io/update"; + if (base_url.empty()) { LL_WARNS("VVM") << "No update service URL configured" << LL_ENDL; @@ -83,6 +87,10 @@ namespace // Gather parameters for VVM query std::string channel = LLVersionInfo::instance().getChannel(); + + // We use this for dev testing when working with VVM and working on the updater. Not advisable to uncomment it. + // std::string channel = "QA Target for Velopack"; + std::string version = LLVersionInfo::instance().getVersion(); std::string platform = get_platform_string(); std::string platform_version = get_platform_version(); @@ -123,6 +131,10 @@ namespace return; } + // Read whether this update is required or optional + bool update_required = result["required"].asBoolean(); + std::string relnotes = result["more_info"].asString(); + // Extract update URL for current platform LLSD platforms = result["platforms"]; if (platforms.has(platform)) @@ -132,9 +144,16 @@ namespace std::string velopack_url = platforms[platform]["velopack_url"].asString(); if (!velopack_url.empty()) { - LL_INFOS("VVM") << "Velopack update URL: " << velopack_url << LL_ENDL; + LL_INFOS("VVM") << "Velopack update URL: " << velopack_url + << " required: " << update_required << LL_ENDL; velopack_set_update_url(velopack_url); - velopack_check_for_updates(); + + std::string update_version = result["version"].asString(); + LLCoros::instance().launch("VelopackUpdateCheck", + [update_required, update_version, relnotes]() + { + velopack_check_for_updates(update_required, update_version, relnotes); + }); } else #endif @@ -149,7 +168,6 @@ namespace } // Post release notes URL to the relnotes event pump - std::string relnotes = result["more_info"].asString(); if (!relnotes.empty()) { LL_INFOS("VVM") << "Release notes URL: " << relnotes << LL_ENDL; |
