diff --git a/app/src/handlers/updatehandler.cpp b/app/src/handlers/updatehandler.cpp index 7de49c5ffbc81a9882633007c4c57f4e1b6449ba..90e57db172c79c75af0ab2b12c261a42d43aecdc 100644 --- a/app/src/handlers/updatehandler.cpp +++ b/app/src/handlers/updatehandler.cpp @@ -160,14 +160,28 @@ void UpdateHandler::updateAppImage(const QString &itemKey) metadata["installed_item_obj"] = installedItem; metadata["new_filename"] = filename; + QString assembledNewFilename = ""; + QString rawNewFilename = ""; + auto updateInformation = updater->describeAppImage(); for (const auto &info : updateInformation.split("\n")) { if (info.endsWith(".zsync", Qt::CaseInsensitive)) { - metadata["new_filename"] = info.split("|").last().split("/").last().replace(".zsync", "", Qt::CaseInsensitive); - break; + if (info.startsWith("Assembled ZSync URL:", Qt::CaseInsensitive)) { + assembledNewFilename = info.split("/").last().replace(".zsync", "", Qt::CaseInsensitive); + } + else if (info.startsWith("Raw update information:", Qt::CaseInsensitive)) { + rawNewFilename = info.split("|").last().split("/").last().replace(".zsync", "", Qt::CaseInsensitive); + } } } + if (!assembledNewFilename.isEmpty()) { + metadata["new_filename"] = assembledNewFilename; + } + else if (!rawNewFilename.isEmpty() && !rawNewFilename.contains("*")) { + metadata["new_filename"] = rawNewFilename; + } + metadataSet_[itemKey] = metadata; emit updateStarted(itemKey, true);