diff --git a/CHANGELOG.md b/CHANGELOG.md index a461584f..3de1626b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] +### Fixed +- Remote upload: the standalone restore script upload is no longer silent — its result is now checked and logged, and a failed restore-script upload marks the backup as `warning` (previously the result was discarded, so a missing restore script on the remote went unreported while the archive still showed success). (#226) ## [02.58.00] --- 2026-07-06 diff --git a/source/packages/com_mokosuitebackup/src/Engine/BackupEngine.php b/source/packages/com_mokosuitebackup/src/Engine/BackupEngine.php index d9105d32..71f014ab 100644 --- a/source/packages/com_mokosuitebackup/src/Engine/BackupEngine.php +++ b/source/packages/com_mokosuitebackup/src/Engine/BackupEngine.php @@ -304,7 +304,18 @@ class BackupEngine $this->log(' Upload complete: ' . $result['message']); if (!empty($restoreScriptPath) && is_file($restoreScriptPath)) { - $uploader->upload($restoreScriptPath, basename($restoreScriptPath)); + $scriptName = basename($restoreScriptPath); + $this->log(' Uploading restore script: ' . $scriptName . '...'); + $scriptResult = $uploader->upload($restoreScriptPath, $scriptName); + + if (!empty($scriptResult['success'])) { + $this->log(' Restore script uploaded: ' . ($scriptResult['message'] ?? $scriptName)); + } else { + /* Never silent: a missing restore script makes the archive + much harder to restore, so surface it as a warning. */ + $uploadFailed = true; + $this->log(' WARNING: Restore script upload failed: ' . ($scriptResult['message'] ?? 'unknown error')); + } } } else { $uploadFailed = true;