fix(plugin): pre-update backup notifies on success too, not only failure
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 3s
Generic: Project CI / Lint & Validate (pull_request) Successful in 17s
Universal: PR Check / Secret Scan (pull_request) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 44s
Universal: PR Check / Validate PR (pull_request) Failing after 1m5s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 1m13s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 3s
Generic: Project CI / Lint & Validate (pull_request) Successful in 17s
Universal: PR Check / Secret Scan (pull_request) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 44s
Universal: PR Check / Validate PR (pull_request) Failing after 1m5s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 1m13s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
runPreActionBackup() only enqueued a message when the backup failed, so a successful pre-update backup produced no admin notification at all. Now it surfaces every outcome via the BackupRunner status: complete -> success, warning (archive made but remote upload failed) -> warning, fail -> error. Refs #192 Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
This commit is contained in:
@@ -2,6 +2,9 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
- Pre-update backup now shows an admin notification on **every** outcome (success / warning / failure) — previously a *successful* pre-update backup fired nothing, so it looked like the notification wasn't working. (#192)
|
||||
|
||||
### Changed
|
||||
- Component admin CSS now loads via the Joomla **Web Asset Manager** (`media/com_mokosuitebackup/` + `joomla.asset.json`) instead of an inline `<style>` block.
|
||||
- "Keep local copy" is configured **per remote destination** (in the Add/Edit Destination modal); the redundant profile-level field and its "Remote" tab are removed.
|
||||
|
||||
@@ -390,12 +390,28 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
|
||||
|
||||
try {
|
||||
$result = (new BackupRunner())->run($profileId, $description, 'preaction');
|
||||
$app = Factory::getApplication();
|
||||
$status = $result['status'] ?? (!empty($result['success']) ? 'complete' : 'fail');
|
||||
|
||||
if (!$result['success']) {
|
||||
Factory::getApplication()->enqueueMessage(
|
||||
'MokoSuiteBackup: ' . $description . ' failed — ' . $result['message'],
|
||||
/* Always surface the outcome so the pre-update backup is visible in the
|
||||
admin — previously only failures produced a message, so a successful
|
||||
pre-update backup fired no notification at all. */
|
||||
if ($status === 'warning') {
|
||||
$app->enqueueMessage(
|
||||
'MokoSuiteBackup: ' . $description . ' completed with warnings — '
|
||||
. ($result['message'] ?: 'the local archive was created but a remote upload failed; see the backup log.'),
|
||||
'warning'
|
||||
);
|
||||
} elseif ($status === 'fail' || empty($result['success'])) {
|
||||
$app->enqueueMessage(
|
||||
'MokoSuiteBackup: ' . $description . ' failed — ' . ($result['message'] ?: 'unknown error'),
|
||||
'error'
|
||||
);
|
||||
} else {
|
||||
$app->enqueueMessage(
|
||||
'MokoSuiteBackup: ' . $description . ' completed successfully.',
|
||||
'message'
|
||||
);
|
||||
}
|
||||
} catch (\Throwable $e) {
|
||||
error_log('MokoSuiteBackup: ' . $description . ' failed: ' . $e->getMessage());
|
||||
|
||||
Reference in New Issue
Block a user