gitea-actions[bot]
e4d704dd84
chore(version): auto-bump 01.01.06-dev [skip ci]
development
2026-06-04 19:13:45 +00:00
Jonathan Miller
a805351dd1
fix: move postinstall string to package sys.ini
...
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: Auto Version Bump / Version Bump (push) Failing after 4s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 3s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Update Server / Update Server (push) Successful in 12s
COM_MOKOBACKUP_POSTINSTALL_UPDATE_SITE was showing as a raw key
after install because the component language file isn't loaded
during package installation. Moved to PKG_MOKOBACKUP_POSTINSTALL_UPDATE_SITE
in pkg_mokobackup.sys.ini where the installer can resolve it.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 14:13:32 -05:00
Jonathan Miller
c5d4445bc1
fix: rewrite Makefile for CI-based releases
...
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Universal: Auto Version Bump / Version Bump (push) Failing after 3s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Remove local build/package targets — all packaging is handled by
the pre-release and auto-release CI workflows. The release target
now dispatches the pre-release workflow via Gitea API. Added
release-rc target and validate-xml check.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 13:40:29 -05:00
Jonathan Miller
5460c7b211
chore: consolidate changelog entries to minor versions only
...
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Failing after 3s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Collapsed all patch-level entries (01.00.00, 01.01.01–01.01.04) into
two minor version sections: 01.00 and 01.01. Deduplicated and grouped
entries by Added/Changed/Fixed within each.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 12:56:34 -05:00
gitea-actions[bot]
5ab6296ad5
chore(version): auto-bump 01.01.05-dev [skip ci]
2026-06-04 16:29:55 +00:00
Jonathan Miller
c1521cb235
feat: add dashboard view and console, content, actionlog plugins ( #24 , #25 , #26 , #27 )
...
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Failing after 4s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Update Server / Update Server (push) Successful in 10s
Dashboard view becomes the default landing page with status cards,
quick actions (backup now w/ profile selector), and system health
checks. Three new plugins round out the package:
- plg_console_mokobackup: CLI commands (run, list, profiles, restore, cleanup)
- plg_content_mokobackup: auto-backup before extension install/update
- plg_actionlog_mokobackup: logs backup and profile actions to User Action Logs
BackupEngine now dispatches onMokoBackupAfterRun for plugin listeners.
Package manifest and install script updated to include and auto-enable
the new plugins.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 11:26:45 -05:00
jmiller
25e06fd08c
chore: sync .mokogitea/workflows/pr-check.yml from moko-platform [skip ci]
2026-06-04 15:56:54 +00:00
jmiller
61abf72437
chore: sync .mokogitea/workflows/pr-check.yml from moko-platform [skip ci]
2026-06-04 15:39:23 +00:00
jmiller
8c5ed1ed76
chore: sync .mokogitea/workflows/pr-check.yml from moko-platform [skip ci]
2026-06-04 15:30:34 +00:00
jmiller
e9d7889417
chore: remove updates.xml [skip ci]
2026-06-04 15:27:07 +00:00
jmiller
4c15f12426
chore: sync .mokogitea/workflows/pr-check.yml from moko-platform [skip ci]
2026-06-04 15:14:33 +00:00
gitea-actions[bot]
8d082de47f
chore: update development channel 01.01.04-dev [skip ci]
2026-06-04 14:44:23 +00:00
gitea-actions[bot]
41c1bb5d68
chore(version): pre-release bump to 01.01.04-dev [skip ci]
2026-06-04 14:44:22 +00:00
jmiller
4f14009003
feat(update): migrate update server URL to Gitea Pages [skip ci]
2026-06-04 14:34:10 +00:00
jmiller
8e51abee54
chore: sync .mokogitea/workflows/auto-release.yml from moko-platform [skip ci]
2026-06-04 14:21:21 +00:00
Jonathan Miller
f884314e28
fix: consolidate admin files into single files block
...
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Auto Version Bump / Version Bump (push) Failing after 4s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 7s
Universal: PR Check / Validate PR (pull_request) Successful in 7s
Update Server / Update Server (push) Failing after 7s
Joomla core components use a single <files folder="admin"> block with
<folder> entries for all subdirectories. Our manifest had multiple
separate <files folder="..."> blocks which may not be fully processed
by the component installer. Consolidate to match the Joomla standard
pattern using <files folder="."> with folder entries.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 09:20:54 -05:00
gitea-actions[bot]
e495c786fb
chore: update development channel 01.01.04-dev [skip ci]
2026-06-04 14:02:49 +00:00
gitea-actions[bot]
c3cbad1a00
chore: update development channel 01.01.04-dev [skip ci]
2026-06-04 13:57:48 +00:00
gitea-actions[bot]
a34b715cff
chore(version): auto-bump 01.01.04-dev [skip ci]
2026-06-04 13:57:46 +00:00
Jonathan Miller
3ded91608a
fix: remove orphaned scriptfile from component manifest
...
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 6s
Universal: Auto Version Bump / Version Bump (push) Failing after 4s
Universal: PR Check / Validate PR (pull_request) Successful in 5s
Update Server / Update Server (push) Successful in 11s
The component manifest declared <scriptfile>script.php</scriptfile> but
no script.php exists in the component sub-package. The install script
belongs at the package level (pkg_mokobackup.xml) only. This caused
Joomla to abort component installation before copying files or running
SQL, producing the "SQL File not found" error.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 08:57:30 -05:00
gitea-actions[bot]
119379bb16
chore: update release-candidate channel 01.01.03-dev [skip ci]
2026-06-04 13:17:50 +00:00
gitea-actions[bot]
8eab341c1e
chore(version): pre-release bump to 01.01.03-dev [skip ci]
2026-06-04 13:17:49 +00:00
gitea-actions[bot]
70df427cfe
chore: update development channel 01.01.03-dev [skip ci]
2026-06-04 13:16:02 +00:00
gitea-actions[bot]
2aee667d00
chore(version): auto-bump 01.01.03-dev [skip ci]
2026-06-04 13:16:01 +00:00
Jonathan Miller
6bab1ad5fa
fix: add SQL update migration and error handling for PR review
...
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 3s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: Auto Version Bump / Version Bump (push) Failing after 3s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 6s
Universal: PR Check / Validate PR (pull_request) Successful in 6s
Update Server / Update Server (push) Successful in 10s
- Add sql/updates/mysql/01.01.01.sql to rename include_kickstart
column to include_mokorestore for existing installations
- Wrap checkUpdateSite() in try/catch to prevent dashboard crash
- Use COM_MOKOBACKUP_UPDATE_SITE_MISSING when no update site found
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 08:15:48 -05:00
gitea-actions[bot]
5ee4f7a578
chore: update development channel 01.01.02-dev [skip ci]
2026-06-04 13:02:06 +00:00
gitea-actions[bot]
44e309c57f
chore(version): auto-bump 01.01.02-dev [skip ci]
2026-06-04 13:02:04 +00:00
Jonathan Miller
6ed0eee4a1
feat: add update site notice on dashboard and post-install
...
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: Auto Version Bump / Version Bump (push) Failing after 4s
Update Server / Update Server (push) Successful in 12s
Link directly to the Joomla Update Sites record for pkg_mokobackup
on the Backups dashboard and after install/update, so users can
configure their download key without a license warning popup.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 08:01:52 -05:00
gitea-actions[bot]
3d88281e72
chore: update development channel 01.01.01-dev [skip ci]
2026-06-04 12:41:02 +00:00
gitea-actions[bot]
1f225689ba
chore(version): auto-bump 01.01.01-dev [skip ci]
2026-06-04 12:40:59 +00:00
Jonathan Miller
e5ca71f2c5
chore: sync workflows from moko-platform + fix SQL install path
...
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 3s
Universal: Auto Version Bump / Version Bump (push) Failing after 10s
Update Server / Update Server (push) Successful in 21s
- Sync all universal workflows from moko-platform v09.23.00
- Add pre-release.yml for dev/alpha/beta/rc builds
- Add auto-bump.yml, branch-cleanup.yml, issue-branch.yml, update-server.yml
- Fix mokobackup.xml: include install/uninstall SQL files in <files> section
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-04 07:40:04 -05:00
Jonathan Miller
610f875ad9
refactor: rename Kickstart to MokoRestore
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Replace all Akeeba Kickstart branding with MokoRestore:
- Rename Kickstart.php to MokoRestore.php
- Rename class Kickstart to MokoRestore
- Update DB column: include_kickstart → include_mokorestore
- Update form field and language string keys
- Update all variable names, log messages, and comments
- Update CHANGELOG references
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-03 04:37:27 -05:00
jmiller
507b2c9448
chore: sync .mokogitea/workflows/repo-health.yml from moko-platform [skip ci]
2026-06-03 03:11:26 +00:00
Jonathan Miller
aa36a01a7f
chore: bump version to 01.01.00-dev for next development cycle
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 21:58:43 -05:00
Jonathan Miller
f411099363
Merge remote main — resolve CI workflow conflicts (accept remote)
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 20:32:10 -05:00
Jonathan Miller
edd129ed1e
Merge dev into main for v01.00.00 release
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
MokoJoomBackup — Full-site backup and restore for Joomla
Features:
- Backup engine (full/database/files/differential)
- Database dumper + importer
- File scanner + restorer with differential support
- Restore engine with JPA format support
- Kickstart self-extracting archives
- FTP, Google Drive, and S3 remote storage
- AES-256 encryption
- SHA-256 integrity verification
- Joomla Scheduled Tasks integration
- Email notifications
- Admin dashboard quickicon widget
- Akeeba Backup Pro importer with auto-disable
- REST API (MCP-compatible)
- CLI script
- AJAX step-based engine for shared hosting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 20:26:10 -05:00
Jonathan Miller
0136a5a24b
chore: release prep v01.00.00
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
- Remove -dev suffix from all version strings
- Convert CHANGELOG [Unreleased] section to 01.00.00
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 20:05:13 -05:00
Jonathan Miller
63997252bf
feat: dashboard widget ( #18 ), differential backups ( #19 ), JPA import ( #20 )
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
#18 — Dashboard Quickicon Widget:
- plg_quickicon_mokobackup: shows backup status on admin dashboard
- Displays: last backup time, total count, storage used
- Warning states: no backups, recent failures, stale (>7 days)
- Links to backup records view
#19 — Differential Backups:
- New backup_type: "differential" — only backs up changed/new files
- DifferentialScanner: builds manifest (path+size+mtime) on full backups
- Compares current filesystem against base manifest on differential runs
- Manifest stored in backup record (LONGTEXT column)
- Falls back to full backup if no base manifest exists
- Database is always fully dumped (no incremental DB)
#20 — JPA Format Import:
- JpaUnarchiver: parses Akeeba JPA binary format
- Handles: archive header, file entities, gzip decompression, permissions
- RestoreEngine auto-detects JPA vs ZIP by reading signature bytes
- Enables restoring from existing Akeeba .jpa backup files
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 18:56:21 -05:00
jmiller
a928362508
chore: add .mokogitea/workflows/auto-release.yml from moko-platform [skip ci]
2026-06-02 23:48:05 +00:00
Jonathan Miller
9d311f30e0
feat: AES-256 archive encryption ( #17 )
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
- Per-profile encryption_password field in archive settings
- BackupEngine encrypts all files in ZIP using ZipArchive::EM_AES_256
(WinZip-compatible, requires PHP 7.2+ with libzip 1.2.0+)
- Encryption runs after ZIP creation, before checksum computation
- RestoreEngine accepts password parameter for decryption
- BackupsController passes encryption_password to restore
- Kickstart restore.php: password input field in Step 2, passed to
ZipArchive::setPassword() before extraction
- Clear error messages for wrong password or missing AES support
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 18:46:23 -05:00
Jonathan Miller
74ee3ea3ab
feat: SHA-256 checksums ( #15 ) and S3 storage backend ( #16 )
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
#15 — Backup Integrity Verification:
- Compute SHA-256 hash after archive creation, store in checksum column
- "Verify Integrity" toolbar button re-computes and compares
- Hash logged in backup step log
#16 — S3-Compatible Storage:
- S3Uploader with AWS Signature V4 (no SDK dependency, pure cURL)
- Single PUT for files <= 100 MB, multipart upload for larger files
- Multipart: 10 MB parts, abort on failure, XML completion
- Works with AWS S3, Wasabi, Backblaze B2, MinIO (custom endpoints)
- Profile form fields: endpoint, region, access key, secret key, bucket, path
- showon conditional visibility (only shown when remote_storage=s3)
- Akeeba importer maps S3 credentials from Akeeba profiles
- Added to BackupEngine createUploader() factory
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 18:38:23 -05:00
jmiller
24fd066caf
chore: sync .mokogitea/workflows/pr-check.yml from moko-platform [skip ci]
2026-06-02 21:52:16 +00:00
Jonathan Miller
7650026aac
docs: update CHANGELOG for #14 and #21
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 16:36:05 -05:00
Jonathan Miller
1f4471e088
feat: email notifications on backup success/failure ( #14 )
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
- NotificationSender: sends email via Joomla's mailer on backup
complete or fail, with site info, duration, size, and log excerpt
- Per-profile settings: notify_email (comma-separated), notify_on_success,
notify_on_failure (default: on)
- Notifications tab added to profile editor
- Wired into BackupEngine for both success and failure paths
- Failure emails include last 30 lines of backup log for debugging
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 16:19:31 -05:00
Jonathan Miller
c0ee2608f1
feat: Akeeba Backup Pro settings importer with auto-disable
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Import Akeeba profiles, filters, remote storage settings, and backup
history into MokoJoomBackup. After successful import, Akeeba plugins
and scheduled tasks are automatically disabled.
- AkeebaImporter: reads #__ak_profiles and #__ak_stats tables
- Parses both INI-format and JSON-format Akeeba configuration
- Maps backup types (dbonly→database, filesonly→files)
- Maps remote storage (ftp, googledrive) with credential transfer
- Parses Akeeba filter format (per-root, nested) to newline lists
- Imports backup history with profile ID remapping
- "Import from Akeeba" button auto-detected in Profiles view toolbar
- Disables Akeeba plugins + scheduled tasks (does NOT uninstall)
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 15:48:31 -05:00
Jonathan Miller
40402bb6a0
feat: add profile selector to backup records view
...
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
The Backup Now button was hardcoded to profile 1. Now the backups
view shows a profile dropdown with all published profiles, displaying
name and type (full/database/files). The selected profile is passed
to the stepped backup engine.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-02 15:40:13 -05:00
Moko Consulting
8a2a6bf067
chore(ci): add CI issue reporter for auto-filing gate failures
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-02 20:38:50 +00:00
Moko Consulting
4b34707dde
chore(ci): add CI issue reporter for auto-filing gate failures
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-02 20:38:49 +00:00
Moko Consulting
1f026df742
chore(ci): add CI issue reporter for auto-filing gate failures
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-02 20:38:48 +00:00
Moko Consulting
a70db024e7
chore(ci): add CI issue reporter for auto-filing gate failures
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-02 20:38:47 +00:00