gitea-actions[bot]
cc92e5ddd6
chore(release): build 01.02.00 [skip ci]
2026-06-07 02:21:55 +00:00
Jonathan Miller
026b72deed
fix: address all PR review findings — error handling, security, validation
...
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
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (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
Generic: Repo Health / Release configuration (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Generic: Repo Health / Site Health (pull_request) Has been cancelled
Generic: Repo Health / Access control (pull_request) Has been cancelled
Joomla: Extension CI / Release Readiness Check (pull_request) Has been cancelled
Joomla: Extension CI / Lint & Validate (pull_request) Has been cancelled
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Security:
- browseDir restricted to JPATH_ROOT and current user $HOME (not all /home/)
- MokoRestore db_prefix validated with regex to prevent SQL injection
- MokoRestore DB import returns failure when zero statements succeed
Error handling (fatal — would produce corrupt backups):
- BackupEngine/SteppedEngine mkdir() checked, returns error on failure
- SteppedSession save() checked, throws on write failure
- SteppedEngine SQL dump file_put_contents checked, throws on failure
- MokoRestore configuration.php write checked, throws on failure
Error handling (logged — secondary operations):
- BackupEngine dispatchAfterRun catch block logs to error_log
- BackupEngine/SteppedEngine log file write failures logged
- NotificationSender user group email resolution logged
- script.php download key save/restore logged
Operational fixes:
- Cleanup plugin: don't delete DB record if file unlink fails (prevents orphans)
- BackupEngine: count and log skipped unreadable files
- BackupEngine: handle MokoRestore rename failure gracefully
- SteppedEngine: add S3Uploader to stepUpload match (feature parity)
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 21:10:11 -05:00
gitea-actions[bot]
b3c7044156
chore(version): pre-release bump to 01.01.21-dev [skip ci]
2026-06-07 01:10:13 +00:00
gitea-actions[bot]
6064dc1cfa
chore(version): pre-release bump to 01.01.20-dev [skip ci]
2026-06-06 23:05:19 +00:00
Jonathan Miller
05d160b169
fix: ActionlogsHelper::getIp() does not exist in Joomla 5
...
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
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Replace with direct REMOTE_ADDR fetch from input server.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 18:03:46 -05:00
gitea-actions[bot]
e23496819f
chore(version): pre-release bump to 01.01.19-dev [skip ci]
2026-06-06 22:59:49 +00:00
Jonathan Miller
ca7ab8f363
feat: JS placeholder resolution in FolderPicker for portable profiles
...
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
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
FolderPickerField now resolves [site_name], [host], [date], etc. in
JavaScript before browsing directories, and reverse-replaces actual
values back to placeholders when user selects a path. This makes
profiles portable across sites.
Default placeholder hint uses [host] for directory paths.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 17:54:20 -05:00
gitea-actions[bot]
f6c9f9b78d
chore(version): pre-release bump to 01.01.18-dev [skip ci]
2026-06-06 22:41:42 +00:00
Jonathan Miller
40a0ffdffe
Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoJoomBackup into dev
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
Generic: Repo Health / Access control (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
2026-06-06 17:26:00 -05:00
Jonathan Miller
8338eabf81
fix: replace showUpdateSiteNotice with warnMissingLicenseKey (MokoWaaS pattern)
2026-06-06 17:25:38 -05:00
gitea-actions[bot]
df319f9bb3
chore(version): pre-release bump to 01.01.17-dev [skip ci]
2026-06-06 21:40:43 +00:00
Jonathan Miller
2b5648101a
fix: suppress license warning when download key is already configured
...
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
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
checkUpdateSite() now checks extra_query for dlid= before showing
the notice. If a download key is present, no message is displayed.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 16:38:55 -05:00
gitea-actions[bot]
e5c6ab5e2a
chore(version): pre-release bump to 01.01.16-dev [skip ci]
2026-06-06 21:35:14 +00:00
Jonathan Miller
67329507f4
feat: beforeunload warning during backup, placeholder-aware directory checks
...
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
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
- Browser warns before closing/navigating while backup is in progress
- FolderPickerField shows info status for paths with [placeholders]
instead of "Directory not found"
- Dashboard health check skips filesystem check when backup_dir uses
placeholders (resolved at backup time by PlaceholderResolver)
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 16:33:31 -05:00
gitea-actions[bot]
2e1ec426ce
chore(version): pre-release bump to 01.01.15-dev [skip ci]
2026-06-06 20:46:31 +00:00
gitea-actions[bot]
0225baa53d
chore(version): pre-release bump to 01.01.14-dev [skip ci]
2026-06-06 20:44:26 +00:00
Jonathan Miller
95cf065264
fix: rename class files to match PSR-4 class names
...
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
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
MokoBackup*.php files renamed to MokoJoomBackup*.php to match the
class names inside. Joomla's PSR-4 autoloader requires filename=classname.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 15:43:27 -05:00
gitea-actions[bot]
4d64459b96
chore(version): pre-release bump to 01.01.13-dev [skip ci]
2026-06-06 20:38:36 +00:00
Jonathan Miller
9975d92ca2
feat: web cron trigger for shared hosting without crontab
...
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
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Add URL-based backup trigger for external cron services:
index.php?mokojoombackup_cron=SECRET&profile_id=1
- System plugin intercepts onAfterInitialise (before auth)
- Secret word, enable toggle, and IP whitelist in component config
- Timing-safe secret comparison with hash_equals
- Returns JSON response with success/failure and timestamp
Also fix: INSERT IGNORE for default profile to prevent duplicate key
error when updating an existing installation.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 15:37:19 -05:00
gitea-actions[bot]
fae2ea5567
chore(version): pre-release bump to 01.01.12-dev [skip ci]
2026-06-06 20:15:02 +00:00
gitea-actions[bot]
f03bb54d4a
chore(version): pre-release bump to 01.01.11-dev [skip ci]
2026-06-06 20:11:23 +00:00
Jonathan Miller
a0c6332372
fix: flatten nested package directories from rename
...
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
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
The mokobackup→mokojoombackup rename created double-nested directories
(e.g. com_mokojoombackup/com_mokojoombackup/). Joomla installer could
not find files at the expected paths. Flattened all packages.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 15:11:07 -05:00
gitea-actions[bot]
a10827294a
chore(version): pre-release bump to 01.01.10-dev [skip ci]
2026-06-06 20:02:10 +00:00
Jonathan Miller
37d325f1ed
chore: rename mokobackup to mokojoombackup throughout
...
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
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Full rename of all extension elements, namespaces, language keys,
database tables, file names, and directory names:
- pkg_mokobackup → pkg_mokojoombackup
- com_mokobackup → com_mokojoombackup
- plg_*_mokobackup → plg_*_mokojoombackup
- MokoBackup namespace → MokoJoomBackup
- #__mokobackup_ tables → #__mokojoombackup_
- COM_MOKOBACKUP_ keys → COM_MOKOJOOMBACKUP_
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 14:54:04 -05:00
gitea-actions[bot]
7c609dd3f1
chore(version): pre-release bump to 01.01.09-dev [skip ci]
2026-06-06 19:32:38 +00:00
gitea-actions[bot]
8aae10d1ec
chore(version): pre-release bump to 01.01.08-dev [skip ci]
2026-06-06 19:17:29 +00:00
Jonathan Miller
be52bc048f
feat: Joomla-styled standalone installer with provisioning wizard
...
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
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
Complete rewrite of MokoRestore restore.php generator:
- 7-step wizard UI matching Joomla installer look and feel
- Pre-flight checks (PHP, extensions, disk space, backup detection)
- Archive extraction with password support and config pre-fill
- Database connection test and SQL import with error reporting
- Create or update configuration.php with fresh Joomla secret
- Super admin dropdown with bcrypt password reset
- Client provisioning: reset hits, clear sessions/cache/keys/tokens/logs
- Zero innerHTML — all DOM built with safe createElement/textContent
- Fully self-contained single PHP file, no external dependencies
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 12:48:42 -05:00
Jonathan Miller
a13f7ca6a6
chore: rename src/ to source/ per MokoStandards convention
...
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
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
Update all references in Makefile, manifest.xml, .gitignore, and CI
workflows (ci-joomla, pr-check, repo-health) to use source/ as the
primary directory with src/ as a fallback for compatibility.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-06 08:08:33 -05:00