download latest loader resource if folder doesnt exist and the version doesnt exist

This commit is contained in:
altalk23 2023-09-16 15:38:14 +03:00
parent 4b9b72f541
commit 28480a6dc4

View file

@ -740,14 +740,12 @@ void Loader::Impl::tryDownloadLoaderResources(
.expect([this, tryLatestOnError](std::string const& info, int code) {
// if the url was not found, try downloading latest release instead
// (for development versions)
if (code == 404 && tryLatestOnError) {
this->downloadLoaderResources(true);
if (code == 404) {
log::warn("Unable to download resources: {}", info);
}
else {
ResourceDownloadEvent(
UpdateFailed("Unable to download resources: " + info)
).post();
}
})
.progress([](auto&, double now, double total) {
ResourceDownloadEvent(
@ -768,7 +766,6 @@ void Loader::Impl::updateSpecialFiles() {
}
void Loader::Impl::downloadLoaderResources(bool useLatestRelease) {
if (!useLatestRelease) {
web::AsyncWebRequest()
.join("loader-tag-exists-check")
.userAgent("github_api/1.0")
@ -783,21 +780,10 @@ void Loader::Impl::downloadLoaderResources(bool useLatestRelease) {
this->getVersion().toString()
), true);
})
.expect([this](std::string const& info, int code) {
.expect([=](std::string const& info, int code) {
if (code == 404) {
log::debug("Loader version {} does not exist on Github, not downloading the resources", this->getVersion().toString());
ResourceDownloadEvent(
UpdateFinished()
).post();
}
else {
ResourceDownloadEvent(
UpdateFailed("Unable to check if tag exists: " + info)
).post();
}
});
}
else {
if (useLatestRelease) {
log::debug("Loader version {} does not exist on Github, downloading latest resources", this->getVersion().toString());
fetchLatestGithubRelease(
[this](json::Value const& raw) {
auto json = raw;
@ -827,6 +813,19 @@ void Loader::Impl::downloadLoaderResources(bool useLatestRelease) {
}
);
}
else {
log::debug("Loader version {} does not exist on Github, not downloading the resources", this->getVersion().toString());
}
ResourceDownloadEvent(
UpdateFinished()
).post();
}
else {
ResourceDownloadEvent(
UpdateFailed("Unable to check if tag exists: " + info)
).post();
}
});
}
bool Loader::Impl::verifyLoaderResources() {
@ -844,7 +843,7 @@ bool Loader::Impl::verifyLoaderResources() {
ghc::filesystem::is_directory(resourcesDir)
)) {
log::debug("Resources directory does not exist");
this->downloadLoaderResources();
this->downloadLoaderResources(true);
return false;
}