jmiller
745f85d512
chore(rebrand): gitea -> git (MokoGIT brand, .mokogitea -> .mokogit)
...
Case-sensitive gitea->git: brand MokoGitea->MokoGIT, MOKOGITEA_TOKEN->
MOKOGIT_TOKEN, GITEA_URL/ORG/REPO->GIT_*, gitea-actions[bot]->git-actions,
ntfy gitea-*->git-*, .mokogitea/->.mokogit/. Protected: literal .gitea and
git.mokoconsulting.tech.
Claude-Session: https://claude.ai/code/session_01DQEMmJPe61ya7HDfA6BHP8
2026-07-14 20:21:34 -05:00
jmiller
823a36edbb
chore: sync version-set.yml from Template-Joomla [skip ci]
2026-07-14 21:16:41 +00:00
jmiller
96b811a95c
chore: sync standards-compliance.yml from Template-Joomla [skip ci]
2026-07-14 21:16:40 +00:00
jmiller
b16970a857
chore: sync repo-health.yml from Template-Joomla [skip ci]
2026-07-14 21:16:39 +00:00
jmiller
fe74431b7e
chore: sync rc-revert.yml from Template-Joomla [skip ci]
2026-07-14 21:16:38 +00:00
jmiller
6cad0ed325
chore: sync pre-release.yml from Template-Joomla [skip ci]
2026-07-14 21:16:37 +00:00
jmiller
6fcd18742e
chore: sync pr-metadata-check.yml from Template-Joomla [skip ci]
2026-07-14 21:16:36 +00:00
jmiller
204fbe9349
chore: sync pr-check.yml from Template-Joomla [skip ci]
2026-07-14 21:16:35 +00:00
jmiller
8228e2b851
chore: sync notify.yml from Template-Joomla [skip ci]
2026-07-14 21:16:34 +00:00
jmiller
5d053e3a23
chore: sync issue-branch.yml from Template-Joomla [skip ci]
2026-07-14 21:16:33 +00:00
jmiller
52d4f56158
chore: sync gitleaks.yml from Template-Joomla [skip ci]
2026-07-14 21:16:32 +00:00
jmiller
f31f90eb86
chore: sync cleanup.yml from Template-Joomla [skip ci]
2026-07-14 21:16:31 +00:00
jmiller
6e068ebd1d
chore: sync ci-joomla.yml from Template-Joomla [skip ci]
2026-07-14 21:16:30 +00:00
jmiller
117816e5a5
chore: sync ci-issue-reporter.yml from Template-Joomla [skip ci]
2026-07-14 21:16:29 +00:00
jmiller
31948f3e16
chore: sync ci-generic.yml from Template-Joomla [skip ci]
2026-07-14 21:16:28 +00:00
jmiller
18804ab76e
chore: sync cascade-dev.yml from Template-Joomla [skip ci]
2026-07-14 21:16:27 +00:00
jmiller
ef69edb18d
chore: sync branch-cleanup.yml from Template-Joomla [skip ci]
2026-07-14 21:16:26 +00:00
jmiller
e97a5c17c7
chore: sync auto-release.yml from Template-Joomla [skip ci]
2026-07-14 21:16:25 +00:00
jmiller
4ea1d311ac
chore: sync auto-bump.yml from Template-Joomla [skip ci]
2026-07-14 21:16:24 +00:00
gitea-actions[bot]
78d120d428
chore: promote changelog [Unreleased] → [02.64.00]
Generic: Standards Compliance / Secret Scanning (push) Failing after 4s
Generic: Standards Compliance / License Header Validation (push) Successful in 3s
Generic: Standards Compliance / Repository Structure Validation (push) Successful in 3s
Generic: Standards Compliance / Coding Standards Check (push) Successful in 4s
Generic: Standards Compliance / Workflow Configuration Check (push) Failing after 4s
Generic: Standards Compliance / Documentation Quality Check (push) Successful in 3s
Generic: Standards Compliance / README Completeness Check (push) Failing after 3s
Generic: Standards Compliance / Git Repository Hygiene (push) Successful in 4s
Generic: Standards Compliance / Script Integrity Validation (push) Successful in 5s
Generic: Standards Compliance / Line Length Check (push) Successful in 3s
Generic: Standards Compliance / File Naming Standards (push) Successful in 4s
Generic: Standards Compliance / Version Consistency Check (push) Successful in 41s
Generic: Standards Compliance / Insecure Code Pattern Detection (push) Successful in 4s
Generic: Standards Compliance / Dead Code Detection (push) Successful in 6s
Generic: Standards Compliance / File Size Limits (push) Successful in 4s
Generic: Standards Compliance / Binary File Detection (push) Successful in 6s
Generic: Standards Compliance / TODO/FIXME Tracking (push) Successful in 3s
Generic: Standards Compliance / Code Complexity Analysis (push) Successful in 43s
Generic: Standards Compliance / Code Duplication Detection (push) Successful in 41s
Generic: Standards Compliance / Broken Link Detection (push) Successful in 3s
Generic: Standards Compliance / API Documentation Coverage (push) Successful in 3s
Generic: Standards Compliance / Accessibility Check (push) Successful in 4s
Generic: Standards Compliance / Performance Metrics (push) Successful in 3s
Generic: Standards Compliance / Dependency Vulnerability Scanning (push) Successful in 41s
Generic: Standards Compliance / Unused Dependencies Check (push) Successful in 50s
Generic: Standards Compliance / Enterprise Readiness Check (push) Failing after 42s
Generic: Standards Compliance / Terraform Configuration Validation (push) Successful in 10s
Generic: Standards Compliance / Repository Health Check (push) Failing after 45s
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 25s
Generic: Standards Compliance / Compliance Summary (push) Has been cancelled
2026-07-14 20:33:23 +00:00
gitea-actions[bot]
aa2473e4ac
chore(release): build 02.64.00 [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-14 20:33:14 +00:00
jmiller
78556d2775
Merge pull request 'Release: dev -> main (runbackup UX + safety)' ( #273 ) from dev into main
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 10s
Universal: PR Check / Validate PR (pull_request) Failing after 8s
Generic: Standards Compliance / Secret Scanning (push) Failing after 5s
Generic: Standards Compliance / License Header Validation (push) Successful in 4s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 10s
Generic: Standards Compliance / Repository Structure Validation (push) Successful in 4s
Generic: Standards Compliance / Coding Standards Check (push) Successful in 5s
Generic: Standards Compliance / Workflow Configuration Check (push) Failing after 4s
Generic: Standards Compliance / Documentation Quality Check (push) Successful in 4s
Generic: Standards Compliance / README Completeness Check (push) Failing after 5s
Generic: Standards Compliance / Git Repository Hygiene (push) Successful in 6s
Generic: Standards Compliance / Script Integrity Validation (push) Successful in 6s
Generic: Standards Compliance / Line Length Check (push) Successful in 5s
Generic: Standards Compliance / File Naming Standards (push) Successful in 3s
Generic: Standards Compliance / Insecure Code Pattern Detection (push) Successful in 3s
Generic: Standards Compliance / Version Consistency Check (push) Successful in 50s
Generic: Standards Compliance / Dead Code Detection (push) Successful in 5s
Generic: Standards Compliance / File Size Limits (push) Successful in 3s
Generic: Standards Compliance / Binary File Detection (push) Successful in 6s
Generic: Standards Compliance / TODO/FIXME Tracking (push) Successful in 4s
Generic: Standards Compliance / Code Complexity Analysis (push) Successful in 50s
Generic: Standards Compliance / Code Duplication Detection (push) Successful in 50s
Generic: Standards Compliance / Broken Link Detection (push) Successful in 3s
Generic: Standards Compliance / API Documentation Coverage (push) Successful in 4s
Generic: Standards Compliance / Accessibility Check (push) Successful in 4s
Generic: Standards Compliance / Performance Metrics (push) Successful in 4s
Generic: Standards Compliance / Dependency Vulnerability Scanning (push) Successful in 44s
Generic: Standards Compliance / Unused Dependencies Check (push) Successful in 50s
Generic: Standards Compliance / Terraform Configuration Validation (push) Successful in 8s
Generic: Standards Compliance / Enterprise Readiness Check (push) Failing after 42s
Generic: Standards Compliance / Repository Health Check (push) Failing after 42s
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
Generic: Standards Compliance / Compliance Summary (push) Has been cancelled
2026-07-14 20:32:59 +00:00
mokogitea-actions[bot]
46dabae61c
chore(version): pre-release bump to 02.63.11-dev [skip ci]
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 27s
2026-07-14 20:32:52 +00:00
gitea-actions[bot]
e21574a917
chore(version): auto-bump patch 02.63.10-dev [skip ci]
2026-07-14 20:32:41 +00:00
jmiller
79a914f930
Merge remote-tracking branch 'origin/dev' into dev
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
2026-07-14 15:32:27 -05:00
jmiller
fe90f0024b
@
...
chore: back-merge main into dev (reconcile release version stamps)
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-14 15:31:52 -05:00
mokogitea-actions[bot]
e9eb94ccfd
chore(version): pre-release bump to 02.63.09-dev [skip ci]
2026-07-14 20:30:44 +00:00
jmiller
7e1a76a7cb
Merge pull request 'fix(runbackup): failed pre-update backup blocks the update' ( #272 ) from fix/no-update-on-error into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
2026-07-14 20:30:15 +00:00
jmiller
c48fd3b8eb
fix(runbackup): a failed pre-update backup blocks the update
...
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Generic: Project CI / Tests (pull_request) Failing after 7s
Generic: Project CI / Lint & Validate (pull_request) Successful in 11s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 21s
Universal: PR Check / Validate PR (pull_request) Failing after 18s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
If the pre-update/uninstall backup fails, the update must not run. The
completion screen no longer offers "Continue without backup" on error —
the only options are Retry (re-run the backup) or Back to dashboard (bail
out without updating). The status message makes clear the update was not
started.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-14 15:30:03 -05:00
mokogitea-actions[bot]
f5423bab5f
chore(version): pre-release bump to 02.63.07-dev [skip ci]
2026-07-14 20:18:42 +00:00
jmiller
4b17842496
Merge pull request 'feat(runbackup): cancel button with double confirmation' ( #271 ) from feat/runbackup-cancel into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 22s
2026-07-14 20:18:25 +00:00
jmiller
85c0967e89
feat(runbackup): cancel button with double confirmation
...
Generic: Project CI / Lint & Validate (pull_request) Successful in 9s
Generic: Project CI / Tests (pull_request) Failing after 5s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
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 / Secret Scan (pull_request) Successful in 5s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 7s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 16s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Adds a "Cancel backup" button on the backup progress screen (visible while
the backup runs). Cancelling requires TWO confirmations; on confirm it
stops the stepped-backup loop, best-effort cancels the record server-side
(ajax.cancelBackup), and returns to the dashboard WITHOUT continuing any
pending update. The button is hidden once the backup completes or fails.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-14 15:17:38 -05:00
mokogitea-actions[bot]
d89812cbfb
chore(version): pre-release bump to 02.63.06-dev [skip ci]
2026-07-14 15:35:56 +00:00
jmiller
79efde483e
Merge pull request 'feat(runbackup): do-not-close warning + update-running overlay' ( #270 ) from feat/runbackup-dontclose-warning into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
2026-07-14 15:35:39 +00:00
jmiller
c567890bfa
feat(runbackup): "do not close window" warning + "update is running" overlay
...
Generic: Project CI / Lint & Validate (pull_request) Successful in 10s
Generic: Project CI / Tests (pull_request) Failing after 5s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 7s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 17s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
- Backup progress screen shows a prominent warning not to close or switch
windows until the backup finishes (hidden once it completes/errors).
- After the backup hands back to an extension update, a full-screen
"update is running — please wait" overlay is shown while the re-fired
update POST processes, so the user knows it is working (not stuck).
Adds language strings (component + plugin) and a cfg.updateRunningText option.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-14 10:35:23 -05:00
mokogitea-actions[bot]
ba070f004d
chore(version): pre-release bump to 02.63.05-dev [skip ci]
2026-07-14 15:13:02 +00:00
jmiller
ce15cecf85
Merge pull request 'fix(installer): extension update auto-continues after pre-update backup' ( #269 ) from fix/extension-refire into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 21s
2026-07-14 15:12:30 +00:00
jmiller
2b4af3ce28
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 21s
Generic: Project CI / Tests (pull_request) Failing after 5s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 9s
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 8s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 18s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
fix(installer): extension update now auto-continues after pre-update backup
Two bugs in the client-side resume path made the extension update return
to the selection screen (requiring a manual re-select + re-submit) instead
of continuing after the backup:
1. The re-fire clicked the OUTER <joomla-toolbar-button> (which carries the
task attr), but the web component binds its click handler to the INNER
<button>. Clicking the wrapper did nothing. Now clicks the inner element.
2. list-selection toolbar buttons start DISABLED and only enable when
boxchecked fires a `change` event. We set boxchecked.value but never
dispatched change, so the button stayed disabled and executeTask() no-opd.
2026-07-14 10:11:32 -05:00
jmiller
a1cba42f43
chore: sync version-set.yml from Template-Joomla [skip ci]
2026-07-14 04:45:47 +00:00
jmiller
9eef484585
chore: sync repo-health.yml from Template-Joomla [skip ci]
2026-07-14 04:45:46 +00:00
jmiller
ff14a1dcba
chore: sync rc-revert.yml from Template-Joomla [skip ci]
2026-07-14 04:45:45 +00:00
jmiller
925b27f2dc
chore: sync pre-release.yml from Template-Joomla [skip ci]
2026-07-14 04:45:44 +00:00
jmiller
4e519b4e7c
chore: sync pr-metadata-check.yml from Template-Joomla [skip ci]
2026-07-14 04:45:43 +00:00
jmiller
118c1cbe2f
chore: sync pr-check.yml from Template-Joomla [skip ci]
2026-07-14 04:45:42 +00:00
jmiller
05aec9b315
chore: sync notify.yml from Template-Joomla [skip ci]
2026-07-14 04:45:40 +00:00
jmiller
b345e42cd0
chore: sync gitleaks.yml from Template-Joomla [skip ci]
2026-07-14 04:45:39 +00:00
jmiller
f99e39efa3
chore: sync ci-joomla.yml from Template-Joomla [skip ci]
2026-07-14 04:45:38 +00:00
jmiller
ae5e1f48dd
chore: sync ci-issue-reporter.yml from Template-Joomla [skip ci]
2026-07-14 04:45:36 +00:00
jmiller
2ddd6c27cd
chore: sync ci-generic.yml from Template-Joomla [skip ci]
2026-07-14 04:45:35 +00:00
jmiller
362e75a9a8
chore: sync cascade-dev.yml from Template-Joomla [skip ci]
2026-07-14 04:45:34 +00:00
jmiller
cb4c227853
chore: sync branch-cleanup.yml from Template-Joomla [skip ci]
2026-07-14 04:45:33 +00:00
jmiller
b8e8487f6b
chore: sync auto-release.yml from Template-Joomla [skip ci]
2026-07-14 04:45:32 +00:00
jmiller
7abe3ef035
chore: sync auto-bump.yml from Template-Joomla [skip ci]
2026-07-14 04:45:31 +00:00
jmiller
344881809d
Merge pull request 'chore(ci): remove template-only sync workflows from root' ( #268 ) from chore/remove-template-sync-leaks into main
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Cascade Main -> Dev / Cascade main -> dev (push) Has been cancelled
Generic: Standards Compliance / Secret Scanning (push) Has been cancelled
Generic: Standards Compliance / License Header Validation (push) Has been cancelled
Generic: Standards Compliance / Repository Structure Validation (push) Has been cancelled
Generic: Standards Compliance / Coding Standards Check (push) Has been cancelled
Generic: Standards Compliance / Version Consistency Check (push) Has been cancelled
Generic: Standards Compliance / Workflow Configuration Check (push) Has been cancelled
Generic: Standards Compliance / Documentation Quality Check (push) Has been cancelled
Generic: Standards Compliance / README Completeness Check (push) Has been cancelled
Generic: Standards Compliance / Git Repository Hygiene (push) Has been cancelled
Generic: Standards Compliance / Script Integrity Validation (push) Has been cancelled
Generic: Standards Compliance / Line Length Check (push) Has been cancelled
Generic: Standards Compliance / File Naming Standards (push) Has been cancelled
Generic: Standards Compliance / Insecure Code Pattern Detection (push) Has been cancelled
Generic: Standards Compliance / Code Complexity Analysis (push) Has been cancelled
Generic: Standards Compliance / Code Duplication Detection (push) Has been cancelled
Generic: Standards Compliance / Dead Code Detection (push) Has been cancelled
Generic: Standards Compliance / File Size Limits (push) Has been cancelled
Generic: Standards Compliance / Binary File Detection (push) Has been cancelled
Generic: Standards Compliance / TODO/FIXME Tracking (push) Has been cancelled
Generic: Standards Compliance / Dependency Vulnerability Scanning (push) Has been cancelled
Generic: Standards Compliance / Unused Dependencies Check (push) Has been cancelled
Generic: Standards Compliance / Broken Link Detection (push) Has been cancelled
Generic: Standards Compliance / API Documentation Coverage (push) Has been cancelled
Generic: Standards Compliance / Accessibility Check (push) Has been cancelled
Generic: Standards Compliance / Performance Metrics (push) Has been cancelled
Generic: Standards Compliance / Enterprise Readiness Check (push) Has been cancelled
Generic: Standards Compliance / Repository Health Check (push) Has been cancelled
Generic: Standards Compliance / Terraform Configuration Validation (push) 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: Standards Compliance / Compliance Summary (push) Has been cancelled
2026-07-13 20:46:34 +00:00
jmiller
47d4023108
chore(ci): remove template-only sync workflows from root
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 24s
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Generic: Project CI / Tests (pull_request) Has been cancelled
Joomla: Extension CI / Lint & Validate (pull_request) Has been cancelled
Joomla: Extension CI / Release Readiness Check (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Generic: Repo Health / Access control (pull_request) Has been cancelled
Generic: Repo Health / Site Health (pull_request) Has been cancelled
Generic: Standards Compliance / Secret Scanning (pull_request) Has been cancelled
Generic: Standards Compliance / License Header Validation (pull_request) Has been cancelled
Generic: Standards Compliance / Repository Structure Validation (pull_request) Has been cancelled
Generic: Standards Compliance / Coding Standards Check (pull_request) Has been cancelled
Generic: Standards Compliance / Version Consistency Check (pull_request) Has been cancelled
Generic: Standards Compliance / Workflow Configuration Check (pull_request) Has been cancelled
Generic: Standards Compliance / Documentation Quality Check (pull_request) Has been cancelled
Generic: Standards Compliance / README Completeness Check (pull_request) Has been cancelled
Generic: Standards Compliance / Git Repository Hygiene (pull_request) Has been cancelled
Generic: Standards Compliance / Script Integrity Validation (pull_request) Has been cancelled
Generic: Standards Compliance / Line Length Check (pull_request) Has been cancelled
Generic: Standards Compliance / File Naming Standards (pull_request) Has been cancelled
Generic: Standards Compliance / Insecure Code Pattern Detection (pull_request) Has been cancelled
Generic: Standards Compliance / Code Complexity Analysis (pull_request) Has been cancelled
Generic: Standards Compliance / Code Duplication Detection (pull_request) Has been cancelled
Generic: Standards Compliance / Dead Code Detection (pull_request) Has been cancelled
Generic: Standards Compliance / File Size Limits (pull_request) Has been cancelled
Generic: Standards Compliance / Binary File Detection (pull_request) Has been cancelled
Generic: Standards Compliance / TODO/FIXME Tracking (pull_request) Has been cancelled
Generic: Standards Compliance / Dependency Vulnerability Scanning (pull_request) Has been cancelled
Generic: Standards Compliance / Unused Dependencies Check (pull_request) Has been cancelled
Generic: Standards Compliance / Broken Link Detection (pull_request) Has been cancelled
Generic: Standards Compliance / API Documentation Coverage (pull_request) Has been cancelled
Generic: Standards Compliance / Accessibility Check (pull_request) Has been cancelled
Generic: Standards Compliance / Performance Metrics (pull_request) Has been cancelled
Generic: Standards Compliance / Enterprise Readiness Check (pull_request) Has been cancelled
Generic: Standards Compliance / Repository Health Check (pull_request) Has been cancelled
Generic: Standards Compliance / Terraform Configuration Validation (pull_request) Has been cancelled
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Generic: Standards Compliance / Compliance Summary (pull_request) Has been cancelled
Template-only (gated Template-*), dead no-ops in child repos, inherited at scaffold. Real sync lives in templates' workflows/custom/.
2026-07-13 20:46:29 +00:00
jmiller
373662b0d3
chore: sync standards-compliance.yml from Template-Generic [skip ci]
2026-07-13 19:51:49 +00:00
jmiller
c7ea43edcf
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-13 16:22:34 +00:00
jmiller
dbdb3a0e8a
chore: sync cascade-dev.yml from Template-Generic [skip ci]
2026-07-13 16:22:32 +00:00
jmiller
1127b23d1e
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-07-13 16:22:30 +00:00
mokogitea-actions[bot]
1c41cdc03b
chore(version): pre-release bump to 02.63.02-dev [skip ci]
2026-07-13 15:56:55 +00:00
jmiller
79b23215eb
Merge pull request 'feat(runbackup): record link new window + harden leave warning' ( #267 ) from feat/runbackup-record-newtab into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 24s
2026-07-13 15:56:37 +00:00
jmiller
bd2effd89c
@
...
Generic: Project CI / Tests (pull_request) Failing after 5s
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 1s
Generic: Project CI / Lint & Validate (pull_request) Successful in 8s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 7s
Universal: PR Check / Validate PR (pull_request) Failing after 17s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
feat(runbackup): open record link in new window; harden leave warning
- The "View backup record" link on the pre-update completion screen now
opens in a new window (target=_blank rel=noopener), so viewing the
record does not leave the "Continue the update" flow.
- beforeunload leave-warning now also returns the message (broader browser
support) so closing the window mid-backup reliably prompts a warning.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-13 10:56:29 -05:00
jmiller
1c646332e2
chore: sync workflow-sync-trigger.yml from Template-Generic [skip ci]
2026-07-13 15:50:07 +00:00
jmiller
2deaa4faa4
chore: sync version-set.yml from Template-Generic [skip ci]
2026-07-13 15:50:07 +00:00
jmiller
629b8be470
chore: sync sync-on-merge.yml from Template-Generic [skip ci]
2026-07-13 15:50:06 +00:00
jmiller
d2dd8a8da4
chore: sync standards-compliance.yml from Template-Generic [skip ci]
2026-07-13 15:50:05 +00:00
jmiller
ba90ce3365
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-07-13 15:50:04 +00:00
jmiller
2de8ab942b
chore: sync rc-revert.yml from Template-Generic [skip ci]
2026-07-13 15:50:04 +00:00
jmiller
3ccad868bf
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-07-13 15:50:03 +00:00
jmiller
4606f21a05
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-13 15:50:02 +00:00
jmiller
aae23b46f0
chore: sync notify.yml from Template-Generic [skip ci]
2026-07-13 15:50:01 +00:00
jmiller
08135beaf0
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-13 15:50:01 +00:00
jmiller
2cd83e0369
chore: sync gitleaks.yml from Template-Generic [skip ci]
2026-07-13 15:50:00 +00:00
jmiller
a52ed25325
chore: sync cleanup.yml from Template-Generic [skip ci]
2026-07-13 15:49:59 +00:00
jmiller
3c00fc2422
chore: sync ci-issue-reporter.yml from Template-Generic [skip ci]
2026-07-13 15:49:58 +00:00
jmiller
c08015c324
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-07-13 15:49:58 +00:00
jmiller
90aa2cd58b
chore: sync cascade-dev.yml from Template-Generic [skip ci]
2026-07-13 15:49:57 +00:00
jmiller
f17367456a
chore: sync branch-cleanup.yml from Template-Generic [skip ci]
2026-07-13 15:49:57 +00:00
jmiller
92c4818410
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-07-13 15:49:56 +00:00
jmiller
a5db8fba5b
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-07-13 15:49:55 +00:00
jmiller
a133d80f5f
chore: sync standards-compliance.yml from Template-Generic [skip ci]
2026-07-13 15:29:14 +00:00
mokogitea-actions[bot]
6da7ef0b69
chore(version): pre-release bump to 02.63.01-dev [skip ci]
2026-07-13 15:06:15 +00:00
jmiller
65cf9fbf9f
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-13 10:12:01 +00:00
gitea-actions[bot]
29e5a8c85b
chore(release): build 02.63.00 [skip ci]
2026-07-13 09:51:34 +00:00
mokogitea-actions[bot]
cbc8627fb7
chore(version): pre-release bump to 02.62.05-dev [skip ci]
2026-07-13 09:50:29 +00:00
gitea-actions[bot]
f1dfc18f3d
chore(version): auto-bump patch 02.62.04-dev [skip ci]
2026-07-13 09:50:15 +00:00
jmiller
17ff3ce702
Merge pull request 'Release: dev -> main' ( #265 ) from dev into main
Sync Workflows to Repos / sync (push) Has been skipped
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 3s
Generic: Project CI / Lint & Validate (pull_request) Successful in 9s
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 1s
Generic: Project CI / Tests (pull_request) Failing after 5s
Universal: PR Check / Secret Scan (pull_request) Successful in 4s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 7s
Universal: PR Check / Validate PR (pull_request) Failing after 19s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
2026-07-13 09:39:38 +00:00
mokogitea-actions[bot]
20fcd1c39c
Merge remote-tracking branch 'origin/main' into dev
...
Generic: Project CI / Tests (pull_request) Failing after 6s
Generic: Project CI / Lint & Validate (pull_request) Successful in 9s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 6s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Failing after 5s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 7s
Universal: PR Check / Validate PR (pull_request) Failing after 18s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 22s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 25s
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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
# Conflicts:
# .mokogitea/workflows/issue-branch.yml
2026-07-13 04:39:03 -05:00
mokogitea-actions[bot]
3fb82bc03c
chore(version): pre-release bump to 02.62.03-dev [skip ci]
2026-07-13 09:37:20 +00:00
mokogitea-actions[bot]
499436a8d0
chore(version): pre-release bump to 02.62.02-dev [skip ci]
2026-07-13 09:36:51 +00:00
jmiller
a004b9c0d9
chore(sync): CI notify retry + JEXEC whole-file scan from Template-Generic
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 24s
2026-07-13 09:31:49 +00:00
jmiller
5b1cf9ea8e
chore(sync): CI notify retry + JEXEC whole-file scan from Template-Generic
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
2026-07-13 09:31:48 +00:00
jmiller
86fe470158
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-13 09:28:49 +00:00
jmiller
a6e196ffd0
chore: sync notify.yml from Template-Generic [skip ci]
2026-07-13 09:28:48 +00:00
jmiller
d43b9405c0
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-13 09:28:47 +00:00
mokogitea-actions[bot]
8506573898
chore(version): pre-release bump to 02.62.01-dev [skip ci]
2026-07-13 08:47:36 +00:00
jmiller
6ad5046f82
Merge pull request 'chore(sync): cascade main -> dev' ( #264 ) from main into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
2026-07-13 08:47:20 +00:00
gitea-actions[bot]
20a760097b
chore(release): build 02.62.00 [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-13 08:47:15 +00:00
jmiller
b378794a05
Merge pull request 'Release: dev → main (auto-continue checkbox + PHP 8.3)' ( #263 ) from dev into main
Sync Workflows to Repos / sync (push) Has been skipped
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 2s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Generic: Project CI / Tests (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 10s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 8s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
2026-07-13 08:46:59 +00:00
mokogitea-actions[bot]
dc23f4dd5e
chore(version): pre-release bump to 02.61.06-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 23s
2026-07-13 01:52:14 +00:00
mokogitea-actions[bot]
9a5f4dbbb2
chore(version): pre-release bump to 02.61.05-dev [skip ci]
2026-07-13 01:51:29 +00:00
mokogitea-actions[bot]
45066237b0
chore(version): pre-release bump to 02.61.04-dev [skip ci]
2026-07-13 01:51:05 +00:00
jmiller
2296c2f754
Merge pull request 'fix: require PHP 8.3 (Joomla 6)' ( #262 ) from fix/php83-v2 into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
2026-07-13 01:47:12 +00:00
jmiller
7416c30925
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 4s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Generic: Project CI / Tests (pull_request) Failing after 5s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 8s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 9s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
docs: update CLAUDE.md MVC/DI notes from Joomla 4/5 to Joomla 6
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 20:46:35 -05:00
jmiller
186a75681a
@
...
fix: require PHP 8.3 (Joomla 6) across code, composer, docs
Joomla 6 requires PHP 8.3+, and the MokoGitea repo metadata php_minimum
is 8.3, but the extension still enforced/declared 8.1:
- DashboardModel health check: PHP_VERSION >= 8.1.0 -> 8.3.0
- MokoRestore preflight check: 8.1 -> 8.3 (hint now "Joomla 6 requires PHP 8.3+")
- composer.json require php: >=8.1 -> >=8.3
- .mokogitea/CLAUDE.md: PHP 8.1+ -> 8.3+ (both places)
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 20:46:35 -05:00
jmiller
0a60436f3d
Merge pull request 'feat(runbackup): opt-in auto-continue + manual continue' ( #261 ) from feat/runbackup-autocontinue into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
2026-07-13 01:44:55 +00:00
jmiller
a2362d5400
@
...
Generic: Project CI / Tests (pull_request) Failing after 4s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 8s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 7s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
feat(runbackup): opt-in auto-continue + manual continue on pre-update screen
The pre-update/uninstall full-screen backup now shows an "Automatically
continue the update when the backup finishes" checkbox (ticked by
default, so the seamless flow is unchanged). If unticked, the screen
stops on completion and offers a link to the new backup record plus a
"Continue the update" button, so the user can hand back to Joomla
manually — a reliable fallback when auto-continue does not fire.
Also drop the hard-to-read `small` text class from the progress screen.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 20:44:10 -05:00
mokogitea-actions[bot]
6f1d270818
chore(version): pre-release bump to 02.61.01-dev [skip ci]
2026-07-13 01:02:13 +00:00
jmiller
7aa1f2eb43
Merge pull request 'chore(sync): cascade main -> dev' ( #259 ) from main into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
2026-07-13 01:01:57 +00:00
gitea-actions[bot]
4339c223a1
chore(release): build 02.61.00 [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-13 00:58:56 +00:00
jmiller
cb56430e37
Merge pull request 'Release: dev → main (runbackup CSS fixes)' ( #258 ) from dev into main
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 2s
Sync Workflows to Repos / sync (push) Has been skipped
2026-07-13 00:58:38 +00:00
mokogitea-actions[bot]
67611604e2
chore(version): pre-release bump to 02.60.06-dev [skip ci]
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 23s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
2026-07-13 00:58:35 +00:00
gitea-actions[bot]
00c1add0cd
chore(version): auto-bump patch 02.60.05-dev [skip ci]
2026-07-13 00:58:23 +00:00
jmiller
1e3f963beb
Merge remote-tracking branch 'origin/dev' into dev
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 20s
2026-07-12 19:58:07 -05:00
jmiller
c280229b90
@
...
chore: back-merge main into dev (reconcile release version stamps)
Absorbs main (previous release) into dev ahead of the next release.
All conflicts were VERSION-stamp comments/tags in manifests, SECURITY.md
and issue-branch.yml — kept dev's current line. No functional changes.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 19:57:54 -05:00
mokogitea-actions[bot]
fbf0a2de76
chore(version): pre-release bump to 02.60.04-dev [skip ci]
2026-07-13 00:54:57 +00:00
jmiller
30b8e66eca
Merge pull request 'style(runbackup): gray card via bg-body-secondary class' ( #257 ) from style/runbackup-card-bg-class into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 48s
2026-07-13 00:54:14 +00:00
jmiller
83b261db02
@
...
Generic: Project CI / Lint & Validate (pull_request) Successful in 8s
Generic: Project CI / Tests (pull_request) Failing after 5s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
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 / Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 7s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
style(runbackup): gray card via bg-body-secondary utility class
Move the card background off a custom CSS rule and onto a Bootstrap
utility class (bg-body-secondary) on the card element itself, so the gray
panel background is declared in the markup. Supersedes the .card
background-color rule added in the previous change.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 19:54:01 -05:00
mokogitea-actions[bot]
e0285f112f
chore(version): pre-release bump to 02.60.03-dev [skip ci]
2026-07-13 00:52:32 +00:00
jmiller
f5538ade88
Merge pull request 'style(runbackup): gray card panel' ( #256 ) from style/runbackup-gray-card into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 20s
2026-07-13 00:52:15 +00:00
jmiller
2d27385ac9
@
...
Generic: Project CI / Lint & Validate (pull_request) Successful in 9s
Generic: Project CI / Tests (pull_request) Failing after 11s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
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 / Secret Scan (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 7s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
style(runbackup): gray card panel on the black backdrop
Set the backup card (.msb-runbackup > .card) to a gray background so it
reads as a panel against the black full-screen backdrop instead of stark
white.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 19:52:06 -05:00
mokogitea-actions[bot]
a3eb713d81
chore(version): pre-release bump to 02.60.02-dev [skip ci]
2026-07-13 00:06:00 +00:00
jmiller
7106ece393
Merge pull request 'fix(css): reliably load component stylesheets (progress bar unstyled)' ( #255 ) from fix/runbackup-css-load into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
2026-07-13 00:05:45 +00:00
mokogitea-actions[bot]
394ad0d607
chore(version): pre-release bump to 02.60.01-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-13 00:05:33 +00:00
jmiller
f5bcc7c457
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
fix(css): reliably load component stylesheets (progress bar was unstyled)
The full-screen backup progress bar lost all styling after the CSS moved
to the Web Asset Manager: this component's WAM style assets do not emit a
<link> on the admin document. The asset resolves without error (Joomla
lazily registers media/com_mokosuitebackup/joomla.asset.json, so useStyle
does not throw) yet no stylesheet tag is rendered — and the same was
already silently true of com_mokosuitebackup.admin (it was just cosmetic,
so unnoticed). Confirmed live: neither runbackup.css nor admin.css loads,
body stays white, the bar has no track/fill.
Attach the external media stylesheets directly to the document
(addStyleSheet), which renders reliably via <jdoc:include type="styles">.
The joomla.asset.json + useStyle calls are kept so the WAM path resumes
automatically if/when it starts emitting. Fixes both runbackup and the
profile edit screen.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 19:05:15 -05:00
gitea-actions[bot]
69c70d4480
chore(release): build 02.60.00 [skip ci]
2026-07-12 23:33:41 +00:00
jmiller
89f1869120
Merge pull request 'Release: dev → main (02.59.x)' ( #253 ) from dev into main
Cascade Main -> Dev / Cascade main -> dev (push) Has been cancelled
Sync Workflows to Repos / sync (push) Has been cancelled
2026-07-12 23:33:28 +00:00
mokogitea-actions[bot]
0c845fe807
chore(version): pre-release bump to 02.59.09-dev [skip ci]
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 21s
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been cancelled
2026-07-12 23:33:14 +00:00
jmiller
a60f7ac032
Merge pull request 'docs(ajax): correct preupdateAck docblock' ( #254 ) from docs/preupdateack-docblock into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Generic: Project CI / Tests (pull_request) Has been cancelled
Joomla: Extension CI / Lint & Validate (pull_request) Has been cancelled
Joomla: Extension CI / Release Readiness Check (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Generic: Repo Health / Access control (pull_request) Has been cancelled
Generic: Repo Health / Site Health (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
2026-07-12 23:33:00 +00:00
jmiller
f62b1ec72e
@
...
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (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
docs(ajax): correct preupdateAck docblock to one-shot skip semantics
The docblock still described the removed 10-minute throttle ("arms BOTH
keys"). It now sets a one-shot, action-keyed skip flag consumed once by
the system plugin. Comment-only; no behaviour change.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 18:28:54 -05:00
mokogitea-actions[bot]
0562d3effd
chore(version): pre-release bump to 02.59.08-dev [skip ci]
2026-07-12 23:25:09 +00:00
gitea-actions[bot]
1c5c511c06
chore(version): auto-bump patch 02.59.07-dev [skip ci]
2026-07-12 23:24:59 +00:00
jmiller
444cfa3fdb
Merge remote-tracking branch 'origin/dev' into dev
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
2026-07-12 18:24:40 -05:00
jmiller
1e6d9ba078
@
...
chore: back-merge main into dev (release 02.59.00 version stamps)
Reconciles main (released 02.59.00) into dev ahead of the next release.
All conflicts were VERSION-stamp comments/tags in manifests, SECURITY.md
and issue-branch.yml — kept dev's current 02.59.05 line. No functional
changes. Clears the dev -> main merge conflict for the release PR.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 18:24:12 -05:00
mokogitea-actions[bot]
9ee800b151
chore(version): pre-release bump to 02.59.06-dev [skip ci]
2026-07-12 23:18:54 +00:00
jmiller
25991c474b
Merge pull request 'refactor(runbackup): move screen CSS into the Web Asset Manager' ( #252 ) from fix/runbackup-css-wam into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
2026-07-12 23:18:41 +00:00
mokogitea-actions[bot]
059cbfe058
chore(version): pre-release bump to 02.59.05-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
2026-07-12 23:18:27 +00:00
jmiller
d658019007
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
refactor(runbackup): move screen CSS into the Web Asset Manager
All full-screen backup CSS now loads through Joomla WAM instead of an
inline <style> block (and the redundant inline style="width:0"):
- New media/css/runbackup.css holds the whole stylesheet.
- Registered as asset com_mokosuitebackup.runbackup in joomla.asset.json.
- tmpl/runbackup/default.php loads it via
getDocument()->getWebAssetManager()->useStyle(com_mokosuitebackup.runbackup),
matching the existing com_mokosuitebackup.admin pattern.
The css folder already ships via the manifest <folder>css</folder>, so no
manifest change is needed.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 18:18:08 -05:00
mokogitea-actions[bot]
8237f85056
chore(version): pre-release bump to 02.59.04-dev [skip ci]
2026-07-12 23:14:28 +00:00
jmiller
14cc00f93f
Merge pull request 'style(runbackup): black backdrop on the full-screen backup screen' ( #251 ) from fix/runbackup-black-bg into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
2026-07-12 23:14:15 +00:00
mokogitea-actions[bot]
d1ccb8d419
chore(version): pre-release bump to 02.59.03-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
2026-07-12 23:14:09 +00:00
jmiller
8a783aa25a
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
style(runbackup): black backdrop on the full-screen backup screen
Set html/body background to #000 so the full-screen pre-update / Backup
Now progress screen runs on a black backdrop (the card + Atum-coloured
progress bar sit on top).
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 18:13:51 -05:00
mokogitea-actions[bot]
d9d6ee9181
chore(version): pre-release bump to 02.59.02-dev [skip ci]
2026-07-12 22:48:45 +00:00
jmiller
f02c4d4c9d
Merge pull request 'fix: pre-action backup fires for every extension (not one per 10 min)' ( #250 ) from fix/preaction-per-action-backup into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
2026-07-12 22:48:33 +00:00
mokogitea-actions[bot]
2df4b280eb
chore(version): pre-release bump to 02.59.01-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
2026-07-12 22:48:27 +00:00
jmiller
3eb2562abd
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
fix: pre-action backup fires for every extension, not one per 10 min
Root cause of "pre-update backup only fires on the backup extension":
a coarse 600s session throttle. Whenever ANY pre-action backup ran
(including updating MokoSuiteBackup itself, or a core Joomla update), the
key mokosuitebackup.preaction_backup_before_update was armed for 10
minutes. onBeforeCompileHead read it as `recentBackup` and DISABLED the
client-side interceptor for all extensions, and runPreActionBackup was
throttled by the same window. So after updating one extension, every
other extension update silently skipped its backup for 10 minutes.
Replace the time window with "one backup per Update action":
- runPreActionBackup dedupes per-request (a batch update fires the event
once per extension in a single request -> back up once) via instance
flags, and consumes a ONE-SHOT session skip flag for the re-fired
client update/uninstall (skip once, next distinct action backs up).
- ajax.preupdateAck sets the one-shot flag for the SPECIFIC action
(update|uninstall), passed from installer-backup.js via &msb_action and
surfaced by Runbackup HtmlView -> CFG.action. A core update passes no
action, so it never suppresses an extension backup.
- onBeforeCompileHead drops the recentBackup time-suppression (the
re-fire loop is already guarded client-side by window.__msbResuming).
- The core Joomla update path uses its own key
(mokosuitebackup.core_update_backed_up), decoupled from extensions.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 17:48:09 -05:00
gitea-actions[bot]
9a02b7d903
chore(release): build 02.59.00 [skip ci]
2026-07-12 22:19:05 +00:00
jmiller
d4fca16a13
Merge pull request 'Release: dev → main (02.58.x)' ( #248 ) from dev into main
Cascade Main -> Dev / Cascade main -> dev (push) Has been cancelled
Sync Workflows to Repos / sync (push) Has been cancelled
2026-07-12 22:18:48 +00:00
jmiller
90f08207ea
@
...
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 22s
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been cancelled
chore: back-merge main into dev (absorb workflow template syncs)
Reconciles the 5 [skip ci] Template-Generic workflow syncs that landed on
main with dev ahead of the release. Only conflict was the VERSION comment
stamp in issue-branch.yml (kept dev's 02.58.37 over the template
placeholder 01.00.00); no functional workflow changes. Clears the
dev -> main merge conflict for the release PR.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 17:18:28 -05:00
mokogitea-actions[bot]
3ef9bdaa48
chore(version): pre-release bump to 02.58.37-dev [skip ci]
2026-07-12 22:14:58 +00:00
jmiller
7a7e804647
Merge pull request 'fix(review): open-redirect + btoa + honest duplicate-mode txn' ( #249 ) from fix/prerelease-review into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Joomla: Extension CI / Lint & Validate (pull_request) Has been cancelled
Joomla: Extension CI / Release Readiness Check (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Generic: Repo Health / Access control (pull_request) Has been cancelled
Generic: Repo Health / Site Health (pull_request) Has been cancelled
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
2026-07-12 22:14:43 +00:00
mokogitea-actions[bot]
498f62e975
chore(version): pre-release bump to 02.58.36-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
2026-07-12 22:14:30 +00:00
jmiller
f9c1c6b186
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
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
fix(review): open-redirect, btoa UTF-8 safety, honest duplicate-mode txn
Pre-release review findings on dev -> main:
- Return-URL open-redirect (MED): a base64 returnurl like "/\evil.com"
passed the root-relative allow-list (raw[1] is "\", not "/"), and a
browser normalises leading "/\" to "//", yielding a protocol-relative
redirect off-site. Reject any backslash or control char in the decoded
return URL outright — legitimate Joomla admin URLs never contain them.
- installer-backup.js btoa() (LOW): btoa() throws on non-Latin1 input
(e.g. a UTF-8 filter value in the list query string), and the throw was
uncaught after preventDefault(), leaving the toolbar button dead. Build
the redirect (UTF-8-safe base64) BEFORE swallowing the click; if it
still fails, bail without preventing so Joomla proceeds normally.
- Snapshot duplicate-mode transaction (HIGH): restore() wrapped duplicate
mode in transactionStart()/Rollback(), but duplicate mode writes via
Joomla Table API whose Nested tables (categories/tags) issue LOCK
TABLES, which implicitly COMMITS the open transaction in MySQL — so the
rollback promise was illusory and a mid-inject failure left a slave
half-updated. Run only the raw-DB modes (replace/create/merge) inside
the transaction; duplicate mode runs outside it, matching its existing
per-item defensive design (bad item skipped + logged, never fatal).
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 17:14:10 -05:00
mokogitea-actions[bot]
d84ccfca31
chore(version): pre-release bump to 02.58.35-dev [skip ci]
2026-07-12 21:43:00 +00:00
jmiller
8a428c6cbb
Merge pull request 'style(runbackup): full-width backup card' ( #247 ) from fix/runbackup-fw2 into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
2026-07-12 21:42:36 +00:00
jmiller
4d476fde5d
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
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
style(runbackup): drop max-width/margin so the card spans full width
The backup screen was centred in a 720px column; unset max-width and the
auto margins so it fills the available width. Keeps the horizontal padding.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 16:41:47 -05:00
mokogitea-actions[bot]
2c12fdc176
chore(version): pre-release bump to 02.58.32-dev [skip ci]
2026-07-12 21:14:11 +00:00
mokogitea-actions[bot]
39495e5b12
chore(version): pre-release bump to 02.58.31-dev [skip ci]
2026-07-12 21:08:47 +00:00
jmiller
44ed98d3c3
Merge pull request 'fix: reliably intercept extension update/uninstall + polish backup screen' ( #245 ) from fix/extension-intercept-ui into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
2026-07-12 21:08:34 +00:00
mokogitea-actions[bot]
9aab873750
chore(version): pre-release bump to 02.58.30-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
2026-07-12 21:07:56 +00:00
jmiller
4bc8b47d05
@
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
fix: reliably intercept extension update/uninstall + polish backup screen
The full-screen pre-action backup did not fire for extension
updates/uninstalls because Joomla 6 renders the com_installer toolbar
Update/Uninstall buttons as `<button task="update.update">` web
components, not inline onclick="Joomla.submitbutton(...)". Wrapping
Joomla.submitbutton never caught them.
installer-backup.js now uses a capture-phase document click listener on
any `[task]` element matching update.update / manage.remove(/uninstall),
so it runs before the toolbar web component. It captures the checked
cid[] selection, runs the full-screen backup, and on return restores the
selection, sets the boxchecked list-guard field, and re-fires the real
toolbar button with __msbResuming set so it is not re-intercepted.
Also polishes the runbackup screen: the progress bar is now a full-bleed
strip along the bottom edge of the card (edge-to-edge, clipped to the
rounded corners) instead of a boxed bar crowding the status text, and it
is coloured from the Atum template CSS custom properties
(--template-link-color / --template-special-color / --template-success-color
/ --template-danger-color) with Bootstrap and literal fallbacks.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
@
2026-07-12 16:07:36 -05:00
mokogitea-actions[bot]
d6078ef528
chore(version): pre-release bump to 02.58.29-dev [skip ci]
2026-07-12 20:51:25 +00:00
jmiller
3e4bb03165
Merge pull request 'feat: seamless auto-continue on Joomla Update after pre-update backup' ( #244 ) from fix/joomlaupdate-seamless into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
2026-07-12 20:50:59 +00:00
jmiller
59607a11cb
feat: seamless auto-continue on Joomla Update after pre-update backup
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 20s
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
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
After the full-screen pre-update backup returns to the Joomla Update
confirm page (layout=update&is_backed_up=1), inject a small script that
ticks Joomla's 'I have taken a backup' checkbox (#joomlaupdate-confirm-
backup) and clicks the Install button (.emptystate-btnadd) so the update
continues automatically — no second manual click. Injected via
onBeforeCompileHead, super-user only, gated on backup_before_update.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-12 15:50:23 -05:00
mokogitea-actions[bot]
1326ab3fc8
chore(version): pre-release bump to 02.58.26-dev [skip ci]
2026-07-12 20:27:45 +00:00
jmiller
efc1e19b27
Merge pull request 'fix: pre-update backup fires on Joomla Update (match layout=update)' ( #243 ) from fix/preupdate-layout-update into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
2026-07-12 20:27:33 +00:00
jmiller
86381a5319
fix: pre-update backup fires on Joomla Update (match layout=update)
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 3s
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
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
The 'Install the update' button posts to
option=com_joomlaupdate&layout=update (Joomla's confirm/updating page),
carrying only layout=update -- no view, no task. The redirect matched
view=update / update.install, so it never fired on the Joomla Update page.
Match layout=update (plus view=update and legacy update.install), and
return the browser to the same layout flagged is_backed_up=1.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-12 15:27:08 -05:00
mokogitea-actions[bot]
165e9bb34a
chore(version): pre-release bump to 02.58.24-dev [skip ci]
2026-07-10 21:08:16 +00:00
jmiller
3587a05630
Merge pull request 'feat( #237 ): snapshot transfer + master→slave injection (all conflict modes)' ( #241 ) from feature/237-snapshot-transfer into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 49s
2026-07-10 21:07:31 +00:00
gitea-actions[bot]
50fbe683d9
chore(version): auto-bump patch 02.58.23-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (pull_request) Has been cancelled
2026-07-10 17:00:55 +00:00
jmiller
4e07eabc0f
feat( #237 ): implement duplicate snapshot mode (insert as new, remapped IDs)
...
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Finishes the deferred 'duplicate' conflict mode. Inserts snapshot content
as brand-new records with remapped IDs, leaving existing content
untouched — for master->slave 'push as new copies'.
- Uses Joomla's Table API (bootComponent MVCFactory) for Article,
Category and Module so assets, UCM entries, category/tag nested-sets
and alias uniqueness are handled by core rather than hand-rolled.
- Remaps category parent_id (parents first), article catid, module menu
assignments, and custom-field-value item_id; re-features articles.
- Tags are reused/created by title (resolveTagIds) and assigned via the
article table's newTags so UCM/tag-map stay correct.
- uniqueAlias() avoids alias collisions per scope.
- DEFENSIVE: every item is wrapped in try/catch — a bad item is skipped
and logged, never fatal — so an untested/partial import degrades
gracefully instead of corrupting content.
NOTE: still needs a real test pass on a dev site before relying on it.
Refs #237
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-10 12:00:45 -05:00
gitea-actions[bot]
2408476908
chore(version): auto-bump patch 02.58.22-dev [skip ci]
2026-07-10 16:41:28 +00:00
jmiller
49fcd5e63c
feat( #237 ): portable snapshot transfer + master->slave injection API
...
Universal: Auto Version Bump / Version Bump (push) Successful in 16s
Adds the first increment of snapshot transfer:
- SnapshotPortable engine: package a snapshot into a portable .msbsnap
(zip of manifest.json + snapshot.json + sha256), and ingest one back
(from a zip upload or an inline payload) by materialising a local
snapshot record.
- Admin: per-row 'Download portable snapshot' + an Import modal
(upload .msbsnap) on the Snapshots page.
- API: POST /snapshot/inject — master pushes a snapshot payload into a
slave's Web Services API; gated by a new 'Allow Snapshot Injection'
option. Route added to the webservices plugin.
- Restore engine: new 'create' mode (skip existing, insert only new) and
mode-name normalisation (overwrite->replace, create, duplicate). The
'duplicate' (insert-as-new-with-remapped-IDs) mode returns a clear
'not yet available' — deferred to a dedicated, tested pass.
- Options: 'Snapshot Transfer' fieldset — default conflict mode +
allow-inject toggle. Language keys added (en-GB fallback).
Reuses the existing mokosuitebackup.snapshot.manage ACL. NOTE: untested
end-to-end (no dev build this session) — verify download/import/inject
on a dev build.
Refs #237
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-10 11:40:51 -05:00
mokogitea-actions[bot]
92d680d333
chore(version): pre-release bump to 02.58.21-dev [skip ci]
2026-07-10 16:14:24 +00:00
jmiller
9e64ffe017
Merge pull request 'feat: full-screen backup for all updates + uninstalls (Joomla 6 core + extensions)' ( #240 ) from fix/preupdate-j6-viewupdate into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
2026-07-10 16:14:09 +00:00
mokogitea-actions[bot]
4e5bf99f61
chore(version): pre-release bump to 02.58.20-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-10 15:54:02 +00:00
jmiller
7a0636606e
feat: full-screen backup for extension update/uninstall + view-record button
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
Extend the full-screen backup screen beyond core Joomla updates:
- Extension updates/uninstalls (com_installer): update.update and
manage.remove are POST + checkToken with a checked cid[] list, so a
server-side GET redirect can't resume them. New client-side interceptor
(installer-backup.js, injected via onBeforeCompileHead on the update and
manage views) wraps Joomla.submitbutton, stores the selection, sends the
browser to view=runbackup, and on return restores the selection and
re-submits the real POST form. Gated by backup_before_update /
backup_before_uninstall, super-user only, skipped within the throttle
window.
- runbackup: on manual 'Backup Now' completion, show a 'View backup
record' button (links to view=backup&id=<record_id>); not shown for the
pre-update/uninstall flow (which hands back to Joomla). SteppedBackup
Engine now returns record_id in its step result.
- runbackup arms the pre-action throttles on success (ajax.preupdateAck,
now arming both update+uninstall keys) so the following server-side
onExtensionBefore(Update|Uninstall) backup is skipped (no duplicate).
- Plugin manifest re-registers media/js.
NOTE: untested end-to-end (no dev build available this session) — verify
the com_installer resume flow on a dev build before relying on it.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-10 10:53:46 -05:00
mokogitea-actions[bot]
a63b87d97c
chore(version): pre-release bump to 02.58.19-dev [skip ci]
2026-07-09 23:23:12 +00:00
jmiller
e56a1fd8f6
fix: pre-update full-screen backup fires on Joomla 4/5/6 (view=update)
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
The redirect only matched task=update.install, which Joomla 4/5/6 do not
use. Their 'Install the update' flow server-side-redirects to the updating
page (view=update), which then extracts the downloaded package from
JavaScript (AJAX to com_joomlaupdate/extract.php). So the view=update page
LOAD is the last server-side moment before any files change.
Intercept that page load (in onAfterRoute, before com_joomlaupdate renders
it), redirect to the full-screen backup with a returnurl back to
view=update&is_backed_up=1, then the browser returns and the JS extraction
runs. update.finalise is deliberately NOT intercepted -- by then the files
are already extracted, too late for a pre-update backup. Legacy
task=update.install (Joomla 3) still handled.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-09 18:17:07 -05:00
mokogitea-actions[bot]
5574e8569a
chore(version): pre-release bump to 02.58.17-dev [skip ci]
2026-07-07 14:10:28 +00:00
gitea-actions[bot]
482e876932
chore(version): auto-bump patch 02.58.16-dev [skip ci]
2026-07-07 14:10:17 +00:00
jmiller
132701035f
chore(repo): refine .gitignore rules and update MokoSuiteClient submodule
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
2026-07-07 08:40:33 -05:00
jmiller
b894c95f6b
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-07-06 17:04:53 +00:00
jmiller
8a4c4efaad
Merge pull request 'fix: installer postflight is honest about a partial/failed install' ( #239 ) from fix/installer-honesty into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 12s
2026-07-06 15:50:35 +00:00
mokogitea-actions[bot]
38160e9ae9
chore(version): pre-release bump to 02.58.15-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-06 15:50:17 +00:00
jmiller
6b4f98869a
fix: installer postflight honest about partial/failed install
...
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 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 37s
Generic: Project CI / Lint & Validate (pull_request) Successful in 33s
Universal: PR Check / Validate PR (pull_request) Failing after 28s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 32s
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
Joomla logs a failed child extension but still runs the package
postflight, so the 'installed successfully' message could appear on a
broken install. In postflight, before the success/next-steps messages:
- verify every bundled child declared in the package manifest actually
registered in #__extensions (match element+type, and folder=group for
plugins), and
- verify the component's schema tables (parsed dynamically from the
installed install.mysql.sql) exist in the DB.
If anything is missing, enqueue an error listing it and RETURN before the
success message. Fail-open (try/catch -> nothing missing) so a transient
manifest/DB/IO glitch can't fail a good install. Unconditional
housekeeping (download-key restore, menu fixes) still runs regardless.
Names escaped with htmlspecialchars; table/child lists derived
dynamically, never hard-coded.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-06 10:49:49 -05:00
mokogitea-actions[bot]
0d832e60e9
chore(version): pre-release bump to 02.58.14-dev [skip ci]
2026-07-06 03:58:23 +00:00
jmiller
746629bf02
Merge pull request 'feat: full-screen backup screen for pre-update + Backup Now (Akeeba-style), fixes white screen' ( #238 ) from feat/fullscreen-backup-screen into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
2026-07-06 03:58:05 +00:00
jmiller
4311ec8f99
fix(security): enforce scheme allow-list on runbackup return URL
...
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
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 / Secret Scan (pull_request) Successful in 9s
Generic: Project CI / Lint & Validate (pull_request) Successful in 14s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 14s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 1m8s
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
The pre-update return URL is assigned to window.location.href, so a
javascript:/data: URI (empty host) would have passed the host-only check
and executed. Require an absolute http(s) same-host URL or a single-slash
root-relative path; reject javascript:/data:/vbscript: and protocol-relative
//host.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 22:57:40 -05:00
jmiller
8cfa46d985
feat: full-screen backup screen for pre-update + Backup Now (Akeeba-style)
...
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Generic: Project CI / Lint & Validate (pull_request) Successful in 12s
Universal: PR Check / Validate PR (pull_request) Failing after 13s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 49s
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
Replace the popup-modal pre-update approach with a dedicated full-page
backup screen, modelled on Akeeba Backup-on-Update, and fix the white
screen caused by running a backup synchronously inside the update request.
- New view=runbackup (View/Runbackup + tmpl/runbackup): full-screen
progress page that auto-starts the stepped backup (ajax.init -> loop
ajax.step), then redirects to a validated returnurl on completion or
shows a completion/retry panel. Auto-resolved by MVCFactory.
- System plugin: on com_joomlaupdate task=update.install (when
backup_before_update is on), redirect to the full-screen backup screen
with returnurl back to update.install&is_backed_up=1; on return, arm the
throttle so onExtensionBeforeUpdate does not run a duplicate backup. No
synchronous backup in the update request.
- Dashboard 'Backup Now' navigates to the full-screen screen instead of
the inline modal; the inline modal + stepped JS are removed.
- Retire the popup modal: delete media/js/update-backup.js, remove the
plugin <media> element and the preupdate_auto_intercept param.
- Dashboard: warn when Global Config live_site is empty (CLI/scheduled
backup naming + URL generation depend on it).
Refs #196
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 22:55:28 -05:00
jmiller
e3bd4a36ff
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-06 03:50:41 +00:00
jmiller
da9265e329
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-06 03:50:41 +00:00
jmiller
b9c0ddf2b9
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-07-06 03:50:40 +00:00
jmiller
41e8bffd26
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-07-06 03:50:39 +00:00
mokogitea-actions[bot]
85c16b4af4
chore(version): pre-release bump to 02.58.13-dev [skip ci]
2026-07-06 03:34:43 +00:00
jmiller
094787d26d
Merge pull request 'fix: raise resource limits for synchronous pre-update backup (white screen)' ( #236 ) from fix/preupdate-wsod-limits into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 28s
2026-07-06 03:34:19 +00:00
mokogitea-actions[bot]
064963da9c
chore(version): pre-release bump to 02.58.12-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
2026-07-06 03:34:09 +00:00
jmiller
49463eb747
fix: raise resource limits for synchronous pre-update backup (WSOD)
...
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 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 36s
Generic: Project CI / Lint & Validate (pull_request) Successful in 54s
Universal: PR Check / Validate PR (pull_request) Failing after 52s
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
The pre-update/uninstall backup runs synchronously inside the extension
update request. Without raising limits, a large site exceeds
max_execution_time/memory_limit mid-backup and the update page
white-screens. Raise set_time_limit(0)/memory_limit/ignore_user_abort
like the web-cron path.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 22:33:43 -05:00
mokogitea-actions[bot]
07cbe5de52
chore(version): pre-release bump to 02.58.11-dev [skip ci]
2026-07-06 03:04:04 +00:00
jmiller
fbf97b2cdb
Merge pull request 'fix: CLI backups no longer named joomla.invalid (host placeholder)' ( #235 ) from fix/cli-host-placeholder into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 36s
2026-07-06 03:03:33 +00:00
mokogitea-actions[bot]
7cb0b08cfe
chore(version): pre-release bump to 02.58.10-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-06 03:03:24 +00:00
jmiller
5ffcbcc2f1
fix: CLI backups no longer named joomla.invalid (host placeholder)
...
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 2s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 40s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Generic: Project CI / Lint & Validate (pull_request) Successful in 17s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 16s
Universal: PR Check / Validate PR (pull_request) Failing after 50s
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
Joomla's console fills $_SERVER['HTTP_HOST'] with the reserved sentinel
'joomla.invalid', which the [HOST] placeholder resolver used verbatim
because its unusable-host check only knew about empty/localhost. Treat
'joomla.invalid' as unusable too, falling back to live_site then the
system hostname, so CLI/console/scheduled backups get a real name.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 22:02:46 -05:00
mokogitea-actions[bot]
a47a9e5deb
chore(version): pre-release bump to 02.58.09-dev [skip ci]
2026-07-06 02:14:34 +00:00
jmiller
7165da4999
Merge pull request 'feat: pre-update modal phase 2 — auto-run backup on Update click ( #196 )' ( #233 ) from feat/preupdate-auto-intercept into dev
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 24s
2026-07-06 02:14:16 +00:00
jmiller
c0ecf6ce73
feat: pre-update modal phase 2 — auto-run backup on Update click ( #196 )
...
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
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 / Secret Scan (pull_request) Successful in 4s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 9s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 31s
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
Opt-in param preupdate_auto_intercept (off by default). When enabled the
injected update-page script wraps window.Joomla.submitbutton so clicking
the toolbar Update button first pops the progress modal, runs the
pre-update backup, and re-issues the original update task on success.
- Matches only update.update / update.install (not Find Updates /
Clear Cache, which also start with 'update').
- Reuses the phase-1 overlay + ajax.preupdateAck throttle so the
subsequent server-side onExtensionBeforeUpdate backup is skipped.
- The manual 'Back up now' notice remains a fallback for flows that
don't route through submitbutton (e.g. some com_joomlaupdate paths).
Refs #196
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 21:13:35 -05:00
mokogitea-actions[bot]
6060979ce8
chore(version): pre-release bump to 02.58.08-dev [skip ci]
2026-07-06 01:58:00 +00:00
jmiller
da71057079
Merge pull request 'feat: pre-update backup notice + live-progress modal on update pages ( #196 )' ( #232 ) from feat/preupdate-modal-notice into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 31s
2026-07-06 01:57:41 +00:00
jmiller
8dc4eaa384
feat: pre-update backup notice + live-progress modal on update pages
...
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Generic: Project CI / Lint & Validate (pull_request) Successful in 15s
Universal: PR Check / Validate PR (pull_request) Failing after 12s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 48s
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
The server-side onExtensionBeforeUpdate backup runs synchronously and
cannot drive a browser modal, so nothing ever 'popped'. Add a client
notice + on-demand live-progress modal on com_joomlaupdate and
com_installer(view=update):
- plg_system_mokosuitebackup gains onBeforeCompileHead, which injects a
'back up before you update' notice + Back up now button on the update
pages (gated by show_update_notice + backup_before_update), plus a new
media JS asset that runs the same stepped backup as the dashboard
(ajax.init then a loop of ajax.step) with a dependency-free progress
overlay.
- New AjaxController::preupdateAck() arms the same 10-min throttle key
runPreActionBackup() checks, so proceeding with Joomla's update after a
modal backup does not run a duplicate server-side backup.
- Plugin manifest registers the new media/js folder; language keys added.
Phase-1 baseline (notice + on-demand). Auto-intercepting the Update
button is the planned phase-2 follow-up (#196 ).
Refs #196
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 20:56:50 -05:00
mokogitea-actions[bot]
4027c727d9
chore(version): pre-release bump to 02.58.07-dev [skip ci]
2026-07-06 01:36:07 +00:00
jmiller
b729aa5052
Merge pull request 'feat: prune remote backups on retention + consolidate backup helpers ( #229 , #230 )' ( #231 ) from fix/retention-remote-shared-helper into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 32s
2026-07-06 01:35:45 +00:00
mokogitea-actions[bot]
7a829b6eca
chore(version): pre-release bump to 02.58.06-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
2026-07-06 01:34:49 +00:00
jmiller
447f7b572e
feat: prune remote backups on retention + consolidate backup helpers
...
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 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Universal: PR Check / Validate PR (pull_request) Failing after 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 40s
Generic: Project CI / Lint & Validate (pull_request) Successful in 52s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 1m8s
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
Retention (RetentionManager and the plugin's hourly cleanup) only ever
deleted local files; remote archives grew unbounded. Add an idempotent
delete() to RemoteUploaderInterface + all four uploaders and have
RetentionManager remove each pruned archive from the profile's enabled
remotes (best-effort; failures logged). The shared restore.php is left
in place since every backup overwrites it. (#229 )
Consolidate duplicated plumbing (#230 ):
- New RemoteUploaderFactory replaces the createUploaderFromParams copy
duplicated in BackupEngine and SteppedBackupEngine.
- RetentionManager becomes the single retention authority (global-default
fallback + pruneOrphans()); the system plugin delegates to it and its
duplicate doCleanup()/deleteBackupRecord() logic is removed.
- Backend controller, API controller and legacy cli/mokosuitebackup.php
now run through the shared BackupRunner instead of BackupEngine directly.
Refs #229 #230
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 20:34:04 -05:00
mokogitea-actions[bot]
f56c1bfbd1
chore(version): pre-release bump to 02.58.05-dev [skip ci]
2026-07-06 01:17:22 +00:00
jmiller
aeb9d18ccb
Merge pull request 'fix: restore missing str_replace subject arg in MokoRestore standalone gen ( #226 )' ( #228 ) from fix/mokorestore-str-replace-args into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 29s
2026-07-06 01:17:01 +00:00
mokogitea-actions[bot]
0a51ed75da
chore(version): pre-release bump to 02.58.04-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
2026-07-06 01:16:02 +00:00
jmiller
0ae9bfd93a
fix: restore missing subject arg in MokoRestore str_replace (standalone gen)
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 30s
MokoRestore::generateStandaloneScript() rewrites the 'Backup Archive'
pre-check via str_replace(ORIG, REPL) but was missing the third
$php subject argument, so every standalone-mode backup fatally errored
with 'str_replace() expects at least 3 arguments, 2 given' at the
'Generating standalone restore.php...' step. The archive still finalized
and uploaded, but no restore.php was produced -- the underlying cause of
#226 (restore script missing on the remote).
Refs #226
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 20:15:30 -05:00
mokogitea-actions[bot]
1c0a87ca4a
chore(version): pre-release bump to 02.58.03-dev [skip ci]
2026-07-06 00:40:33 +00:00
jmiller
2cb8527c25
Merge pull request 'fix(engine): check + log restore-script remote upload ( fixes #226 )' ( #227 ) from fix/restore-script-upload-result into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 24s
2026-07-06 00:40:18 +00:00
mokogitea-actions[bot]
35febb8854
chore(version): pre-release bump to 02.58.02-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-06 00:39:57 +00:00
jmiller
bf91611b97
fix(engine): check + log restore-script remote upload (no longer silent)
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 21s
The standalone restore script was uploaded to each remote with the result
discarded and nothing logged, so a failed second upload left the restore script
missing from the remote with no warning while the archive still recorded
'complete'. Capture the result: log success, and on failure set uploadFailed
(-> warning status) and log the reason.
Fixes #226
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 19:39:37 -05:00
mokogitea-actions[bot]
9bc0fc8ad8
chore(version): pre-release bump to 02.58.01-dev [skip ci]
2026-07-06 00:33:03 +00:00
jmiller
e75a58709b
Merge pull request 'chore(sync): cascade main -> dev' ( #225 ) from main into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 43s
2026-07-06 00:32:12 +00:00
gitea-actions[bot]
8be1e332c6
chore(release): build 02.58.00 [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-06 00:32:07 +00:00
jmiller
ba91f74edc
Merge pull request 'release: promote dev → main (installer + admin-menu + UI fixes)' ( #224 ) from dev into main
Sync Workflows to Repos / sync (push) Has been skipped
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 9s
Universal: PR Check / Branch Policy (pull_request) Successful in 9s
Universal: PR Check / Secret Scan (pull_request) Successful in 29s
Universal: PR Check / Validate PR (pull_request) Failing after 54s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 1m31s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
2026-07-06 00:30:29 +00:00
mokogitea-actions[bot]
387bfbdeda
chore(version): pre-release bump to 02.57.13-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 1m53s
2026-07-06 00:17:00 +00:00
jmiller
f7d8d82a4e
Merge pull request 'refactor(ui): modal padding via Bootstrap container, drop msbackup class' ( #223 ) from fix/modal-container-padding into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 27s
2026-07-06 00:16:33 +00:00
mokogitea-actions[bot]
9e5a942800
chore(version): pre-release bump to 02.57.12-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
2026-07-06 00:16:10 +00:00
jmiller
dad3ce2db3
refactor(ui): modal padding via Bootstrap container, drop msbackup class
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 20s
Per feedback, wrap the destination modal content in a Bootstrap .container-fluid
and give that a 1rem frame in the WAM stylesheet, instead of a custom
.msbackup class on .modal-content. Inner header/body/footer drop their own
horizontal padding so the frame isn't doubled.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 19:15:49 -05:00
mokogitea-actions[bot]
8325afb03a
chore(version): pre-release bump to 02.57.11-dev [skip ci]
2026-07-06 00:06:23 +00:00
jmiller
662918db38
Merge pull request 'feat(ui): SFTP key file upload + msbackup modal padding frame' ( #222 ) from fix/modal-msbackup-class into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 27s
2026-07-06 00:04:47 +00:00
jmiller
1ab99daaba
feat(ui): SFTP key file upload; msbackup modal padding frame
...
Generic: Project CI / Lint & Validate (pull_request) Successful in 18s
Universal: PR Check / Branch Policy (pull_request) Successful in 3s
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 / Secret Scan (pull_request) Successful in 8s
Universal: PR Check / Validate PR (pull_request) Failing after 14s
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 5s
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
- Add/Edit Destination modal: SFTP key can now be UPLOADED as a file (read into
the key textarea client-side via FileReader) instead of copy/paste; pasting
still works.
- Give .modal-content a "msbackup" class with a 1rem padding frame — Bootstrap's
.modal-content has no padding of its own, which made the modal feel cramped.
Styling lives in the WAM stylesheet (media/.../admin.css), scoped to .msbackup.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 19:04:05 -05:00
mokogitea-actions[bot]
c84dcf2864
chore(version): pre-release bump to 02.57.10-dev [skip ci]
2026-07-05 23:59:02 +00:00
jmiller
e1f5afb301
Merge pull request 'fix(plugin): pre-update backup notifies on success, not only failure' ( #221 ) from fix/preupdate-notification into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 42s
2026-07-05 23:58:21 +00:00
mokogitea-actions[bot]
dfd4e77ade
chore(version): pre-release bump to 02.57.09-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
2026-07-05 23:58:13 +00:00
jmiller
1a1c81550c
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
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
2026-07-05 18:57:42 -05:00
mokogitea-actions[bot]
9571b3759a
chore(version): pre-release bump to 02.57.08-dev [skip ci]
2026-07-05 23:49:26 +00:00
jmiller
115ccfb069
Merge pull request 'fix(ui): WAM-loaded CSS, per-destination keep-local, tidy destination modal' ( #220 ) from fix/remote-modal-cleanup into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 28s
2026-07-05 23:49:04 +00:00
mokogitea-actions[bot]
2d538d3372
chore(version): pre-release bump to 02.57.07-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-07-05 23:48:51 +00:00
jmiller
97e8d0cbe9
fix(ui): WAM-loaded CSS, per-destination keep-local, tidy destination modal
...
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 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 25s
Generic: Project CI / Lint & Validate (pull_request) Successful in 12s
Universal: PR Check / Validate PR (pull_request) Failing after 47s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 54s
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
- Move component admin CSS to the Joomla Web Asset Manager: new
media/com_mokosuitebackup/css/admin.css + media/joomla.asset.json, a <media>
entry in the manifest, and useStyle('com_mokosuitebackup.admin') in the
profile edit view. Removes the inline <style> block (no more inline CSS).
- Remove the profile-level "Keep local copy" field/"Remote" fieldset from
forms/profile.xml — it is now per remote destination (modal remoteKeepLocal).
- Clean up the Add/Edit Destination modal padding/margins (in admin.css).
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 18:48:33 -05:00
mokogitea-actions[bot]
8d5b33a74d
chore(version): pre-release bump to 02.57.06-dev [skip ci]
2026-07-05 23:32:04 +00:00
jmiller
77bfaff8cd
Merge pull request 'fix(installer): self-heal admin menu + alias collision + short-constant label' ( #219 ) from fix/admin-menu-selfheal into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 26s
2026-07-05 23:31:41 +00:00
mokogitea-actions[bot]
1c420b2277
chore(version): pre-release bump to 02.57.05-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
2026-07-05 23:31:24 +00:00
jmiller
2af2641712
fix(installer): self-heal admin menu; fix alias collision; short-constant label
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 22s
Fallout of the duplicate-component element bug:
- Preflight now runs removeOrphanedComponent() BEFORE the component install
recreates its menu, so the orphan's "Backup" menu (alias "backup") no longer
collides ("The alias backup is already being used by the Backup menu item").
- ensureSubmenuItems() recreates the top-level "Backup" menu when it is missing
(via new createTopMenu()) instead of bailing out — so a failed install that
deleted the parent menu no longer leaves Backup gone from the admin menu (which
also broke the cPanel module and MokoSuiteClient component detection).
- The top-level menu label now uses the short constant COM_MOKOJOOMBACKUP_SHORT
(manifest <menu> + enforced/normalized in the script).
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 18:31:06 -05:00
mokogitea-actions[bot]
a3c7183374
chore(version): pre-release bump to 02.57.04-dev [skip ci]
2026-07-05 23:15:31 +00:00
jmiller
4f91d1e432
Merge pull request 'chore(sync): cascade main -> dev' ( #212 ) from main into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 39s
2026-07-05 23:03:57 +00:00
jmiller
604412f82f
Merge chore/normalize-docs: normalize doc/config refs
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 3s
Generic: Project CI / Lint & Validate (pull_request) Successful in 15s
Universal: PR Check / Secret Scan (pull_request) Successful in 11s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 15s
Universal: PR Check / Validate PR (pull_request) Failing after 50s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
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
2026-07-05 22:50:52 +00:00
jmiller
94ff15c128
chore(docs): normalize refs — MokoStandards->org wiki, moko-platform->mokocli, residual MokoGitea/MokoSuite
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 34s
Non-workflow docs/config only (CLAUDE.md, README, branch-protection, ISSUE_TEMPLATE/config.yml,
ci-issue-reporter). Workflow files, manifest schema, and Makefile install paths left for the
forge-rebrand gate. Authored-by: Moko Consulting
2026-07-05 22:50:50 +00:00
mokogitea-actions[bot]
a92f423767
chore(version): pre-release bump to 02.57.02-dev [skip ci]
2026-07-05 22:44:13 +00:00
jmiller
ba2cda1385
Merge pull request 'fix(installer): drop legacy remote columns in PHP, not PREPARE-based SQL' ( #218 ) from fix/sql-prepared-statement-protocol into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 21s
2026-07-05 22:43:53 +00:00
mokogitea-actions[bot]
72aeea6955
chore(version): pre-release bump to 02.57.01-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
2026-07-05 22:41:55 +00:00
jmiller
8a85370e32
fix(installer): drop legacy remote columns in PHP, not PREPARE-based SQL
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 34s
02.56.01.sql used PREPARE/EXECUTE/DEALLOCATE to conditionally drop the 26 legacy
remote_storage/ftp_*/sftp_*/gdrive_*/s3_* columns portably. Joomla's installer
rejects those statements on MySQL 8 (error 1295: "This command is not supported
in the prepared statement protocol yet"), aborting the whole component install
when updating from an old schema.
Neutralize 02.56.01.sql (now a no-op comment) and move the purge into
Pkg_MokoSuiteBackupInstallerScript::dropLegacyRemoteColumns(): gate on
INFORMATION_SCHEMA, then issue one plain ALTER dropping only the columns that
still exist — portable on MariaDB and MySQL 8, idempotent, non-fatal.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 17:41:26 -05:00
gitea-actions[bot]
ea91b49e50
chore(release): build 02.57.00 [skip ci]
2026-07-05 22:30:31 +00:00
jmiller
99d8e954bd
Merge pull request 'feat: BackupRunner helper — unify backup run/status/notification' ( #214 ) from feat/backup-runner-helper into main
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
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 15s
Generic: Project CI / Lint & Validate (pull_request) Successful in 55s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 59s
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
2026-07-05 22:29:38 +00:00
jmiller
28ca110d7b
docs(changelog): add BackupRunner entry ( #214 )
...
Universal: PR Check / Branch Policy (pull_request) Failing after 4s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 11s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Failing after 8s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Universal: PR Check / Secret Scan (pull_request) Successful in 11s
Branch Cleanup / Delete merged branch (pull_request) Successful in 4s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 15s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 15s
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 51s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 17:29:28 -05:00
jmiller
307067580c
feat: BackupRunner helper — unify backup run/status/notification
...
Every non-interactive backup trigger used a slightly different path, so
final status and notification gating behaved inconsistently depending on
what started the backup (this is why pre-update backups did not gate
notifications the way "Backup Now" does).
Add src/Service/BackupRunner.php as the single synchronous entry point.
It delegates to BackupEngine (which already sends notifications gated by
the profile's notify_on_success/notify_on_failure and applies retention —
so there is exactly ONE notification layer), and normalises the result,
including the real complete/warning/fail status the engine records but did
not return. BackupRunner self-loads BackupEngine so callers require one file.
Routed through BackupRunner:
- plg_system runPreActionBackup() (preaction) + web-cron handler (webcron)
- plg_content triggerAutoBackup() (pre-install)
- plg_task scheduled task run
- plg_console RunCommand (cli)
The dashboard AJAX/stepped "Backup Now" flow is unchanged (it is the
interactive equivalent). The installer progress popup is deferred — the
installer request cannot drive the AJAX modal (TODO(#196 ) noted in code).
php -l clean on all changed files.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 17:28:59 -05:00
jmiller
7f5f041588
Merge pull request 'fix(release): idempotent changelog promote (no duplicate version headers)' ( #217 ) from fix/changelog-promote-idempotent into main
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 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 14s
Sync Workflows to Repos / sync (push) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 14s
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m6s
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
2026-07-05 22:28:19 +00:00
jmiller
129be7ef9d
fix(release): idempotent changelog promote + dedupe 02.56.11 header
...
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: PR Check / Require Docs Update (pull_request) Failing after 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 11s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 35s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 1m13s
Universal: PR Check / Validate PR (pull_request) Failing after 1m11s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 1m22s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Guard the promote so it only inserts a version header when absent (stops the
empty duplicate headers each build was appending), and remove the duplicate
02.56.11 header the non-idempotent promote just created.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 17:28:08 -05:00
jmiller
14392de078
Merge pull request 'docs(changelog): backfill 02.56.07 + 02.56.08 (shipped with empty changelogs)' ( #215 ) from fix/changelog-backfill into main
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
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 / Secret Scan (pull_request) Successful in 10s
Generic: Project CI / Lint & Validate (pull_request) Successful in 15s
Universal: PR Check / Validate PR (pull_request) Failing after 13s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 5s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 14s
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
2026-07-05 22:26:17 +00:00
jmiller
8bdadb68c2
docs(changelog): backfill 02.56.07/08 + dedupe blank duplicate headers
...
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Require Docs Update (pull_request) Failing after 5s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 31s
Generic: Project CI / Lint & Validate (pull_request) Successful in 52s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 56s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 58s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 17:26:05 -05:00
gitea-actions[bot]
bcc4054ced
chore: promote changelog [Unreleased] → [02.56.11]
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
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 / Secret Scan (pull_request) Successful in 9s
Generic: Project CI / Lint & Validate (pull_request) Successful in 13s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 3s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 10s
Universal: PR Check / Validate PR (pull_request) Failing after 33s
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
2026-07-05 22:23:35 +00:00
gitea-actions[bot]
0cba7f81e8
chore(release): build 02.56.11 [skip ci]
2026-07-05 22:23:26 +00:00
jmiller
2688ea352b
Merge pull request 'fix(installer): self-heal orphaned com_component-mokosuitebackup on update' ( #216 ) from fix/orphan-component-cleanup into main
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 2s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 4s
Sync Workflows to Repos / sync (push) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Generic: Project CI / Lint & Validate (pull_request) Successful in 49s
Universal: PR Check / Validate PR (pull_request) Failing after 46s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 58s
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
2026-07-05 22:23:08 +00:00
mokogitea-actions[bot]
39d94a31d6
chore(version): pre-release bump to 02.56.11-dev [skip ci]
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 31s
2026-07-05 22:14:22 +00:00
jmiller
1029e40908
fix(installer): self-heal orphaned com_component-mokosuitebackup on update
...
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Generic: Project CI / Lint & Validate (pull_request) Successful in 16s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 3s
Universal: PR Check / Require Docs Update (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 13s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 52s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 50s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 29s
Universal: Build & Release / Promote to RC (pull_request) Failing after 15s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
The old "Type - Name" component <name> made Joomla register a duplicate
component under element com_component-mokosuitebackup (its own extension row,
admin menu, schema rows and administrator/ folder), orphaning the real
com_mokosuitebackup on the old version. The manifest fix (#213 ) prevents new
occurrences; this reconciles already-affected sites automatically.
Package postflight now removes any component whose element matches
%component%mokosuitebackup% (excluding com_mokosuitebackup): deletes its
#__menu, #__schemas and #__update_sites_extensions rows, the #__extensions
record, and the stray admin folder. Idempotent and non-fatal.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 17:11:51 -05:00
gitea-actions[bot]
ec3094385f
chore: promote changelog [Unreleased] → [02.56.08]
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
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 4s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 17s
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m17s
Universal: PR Check / Validate PR (pull_request) Failing after 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
2026-07-05 22:02:08 +00:00
gitea-actions[bot]
4a2bb1b19d
chore(release): build 02.56.08 [skip ci]
2026-07-05 22:01:48 +00:00
jmiller
3c5ad43e97
Merge pull request 'fix(manifest): component <name> must be element-safe (com_mokosuitebackup)' ( #213 ) from fix/component-element-name into main
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
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 / Secret Scan (pull_request) Successful in 8s
Generic: Project CI / Lint & Validate (pull_request) Successful in 15s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Failing after 14s
Sync Workflows to Repos / sync (push) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 14s
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
2026-07-05 22:01:17 +00:00
mokogitea-actions[bot]
f92e5227dc
chore(version): pre-release bump to 02.56.08-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 53s
2026-07-05 21:58:57 +00:00
jmiller
9db54ac60c
fix(manifest): component <name> must be element-safe (com_mokosuitebackup)
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 34s
The "Type - Name" convention (commit d155958 ) set the component <name> to
"Component - MokoSuiteBackup". Joomla derives a component's element from its
<name> (com_ + sanitized name), so this produced element
`com_component-mokosuitebackup` instead of `com_mokosuitebackup`. On update,
Joomla registered a NEW component (new element + folder) at the current
version and orphaned the real `com_mokosuitebackup` at its old version — which
is what `?option=com_mokosuitebackup` and the admin menu still load. Net
effect: the component appears "stuck" on the old version with the old UI.
Revert the component <name> to "MokoSuiteBackup" (-> com_mokosuitebackup) and
document why the display convention must not be applied to a component's
<name>. Packages are exempt (they use <packagename>); plugins/modules are
exempt (<name> is only a display label there).
Refs #171-area remote tab reports; fixes the duplicate-component registration.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 16:58:37 -05:00
jmiller
0c7c3552ed
chore: sync workflow-sync-trigger.yml from Template-Generic [skip ci]
2026-07-05 21:49:42 +00:00
jmiller
351321161a
chore: sync version-set.yml from Template-Generic [skip ci]
2026-07-05 21:49:40 +00:00
jmiller
d2cc234fce
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-07-05 21:49:37 +00:00
jmiller
2389df8670
chore: sync rc-revert.yml from Template-Generic [skip ci]
2026-07-05 21:49:34 +00:00
jmiller
55f29498b0
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-07-05 21:49:31 +00:00
jmiller
a5397c0f16
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-05 21:49:28 +00:00
jmiller
c0792a6ba0
chore: sync notify.yml from Template-Generic [skip ci]
2026-07-05 21:49:26 +00:00
jmiller
7a3f0f914e
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-05 21:49:24 +00:00
jmiller
cc7f18ae45
chore: sync gitleaks.yml from Template-Generic [skip ci]
2026-07-05 21:49:22 +00:00
jmiller
4cf8f8243d
chore: sync cleanup.yml from Template-Generic [skip ci]
2026-07-05 21:49:20 +00:00
jmiller
efb28fa386
chore: sync ci-issue-reporter.yml from Template-Generic [skip ci]
2026-07-05 21:49:17 +00:00
jmiller
68043c9a37
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-07-05 21:49:15 +00:00
jmiller
e5558fad26
chore: sync cascade-dev.yml from Template-Generic [skip ci]
2026-07-05 21:49:12 +00:00
jmiller
60c5c00333
chore: sync branch-cleanup.yml from Template-Generic [skip ci]
2026-07-05 21:49:10 +00:00
jmiller
f9169fd9f7
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-07-05 21:49:07 +00:00
jmiller
d69db6fac3
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-07-05 21:49:05 +00:00
gitea-actions[bot]
1f7c2ef1ba
chore: promote changelog [Unreleased] → [02.56.07]
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
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 / Secret Scan (pull_request) Successful in 7s
Generic: Project CI / Lint & Validate (pull_request) Successful in 12s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 4s
Universal: PR Check / Validate PR (pull_request) Failing after 12s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 11s
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
2026-07-05 21:34:17 +00:00
gitea-actions[bot]
24d7dc0064
chore(release): build 02.56.07 [skip ci]
2026-07-05 21:34:06 +00:00
jmiller
f4bc1d128c
Merge pull request 'fix: security + data-integrity fixes (P0/P1)' ( #211 ) from fix/security-integrity-p0p1 into main
Sync Workflows to Repos / sync (push) Has been skipped
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 5s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 49s
Universal: PR Check / Validate PR (pull_request) Failing after 48s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 54s
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
2026-07-05 21:33:49 +00:00
gitea-actions[bot]
6ab31c12be
chore(version): pre-release bump to 02.56.07-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 32s
2026-07-05 21:33:32 +00:00
jmiller
99b844e04a
fix: security + data-integrity fixes (P0/P1)
...
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Failing after 8s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 13s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 28s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 46s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 50s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Security (P0):
- #169 mask FTP password in AjaxController maskSecrets()/mergeExistingSecrets()
- #187 stop leaking absolute_path in API item view (JsonapiView)
- #182 SftpUploader StrictHostKeyChecking=no -> accept-new (MITM)
Data integrity / correctness (P1):
- #179 DatabaseDumper: real newline after DROP TABLE (was literal backslash-n)
- #180 profile-picker forms ORDER BY id (the 'ordering' column is dropped on
upgraded sites, breaking the query) — run_profile.xml + plg_content xml
- #181 uninstall.mysql.sql: add missing DROP for snapshots table
- #184 CLI snapshot delete uses data_file column (file_path does not exist,
so snapshot files were never deleted)
- #186 remove duplicate pre-update backup: content plugin no longer subscribes
to onExtensionBeforeUpdate (owned by the system plugin); keeps pre-install
- #188 DatabaseImporter now collects non-fatal statement errors
(getErrors()/hasErrors()) so restores are no longer silent and callers can
surface a warning status
Also folds in the .mokogitea/CLAUDE.md mokoplatform -> mokocli fix (stale repo
name after the rename).
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 16:32:56 -05:00
jmiller
75bbb55e29
chore: sync workflow-sync-trigger.yml from Template-Generic [skip ci]
2026-07-05 21:10:07 +00:00
jmiller
11b0ea3c21
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-05 21:10:04 +00:00
jmiller
bcb4368bd1
chore: sync version-set.yml from Template-Generic [skip ci]
2026-07-05 20:46:36 +00:00
jmiller
8ac3bedff3
chore: sync sync-on-merge.yml from Template-Generic [skip ci]
2026-07-05 20:46:35 +00:00
jmiller
4ab9ab3806
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-07-05 20:46:33 +00:00
jmiller
4740a09d79
chore: sync rc-revert.yml from Template-Generic [skip ci]
2026-07-05 20:46:31 +00:00
jmiller
26121e3628
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-07-05 20:46:29 +00:00
jmiller
478adfcde8
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-05 20:46:27 +00:00
jmiller
f4b6e23d58
chore: sync gitleaks.yml from Template-Generic [skip ci]
2026-07-05 20:46:25 +00:00
jmiller
af215482bd
chore: sync ci-issue-reporter.yml from Template-Generic [skip ci]
2026-07-05 20:46:22 +00:00
jmiller
cd721d450e
chore: sync cascade-dev.yml from Template-Generic [skip ci]
2026-07-05 20:46:20 +00:00
jmiller
b38ddb5b62
chore: sync branch-cleanup.yml from Template-Generic [skip ci]
2026-07-05 20:46:18 +00:00
jmiller
6e66de4c65
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-07-05 20:46:16 +00:00
jmiller
b2d35bc9b3
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-07-05 20:46:14 +00:00
jmiller
d780e10a2f
chore: sync notify.yml from Template-Generic [skip ci]
2026-07-05 00:06:25 +00:00
jmiller
b2770df80f
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-05 00:06:23 +00:00
jmiller
1c643b097f
chore: sync cleanup.yml from Template-Generic [skip ci]
2026-07-05 00:06:21 +00:00
gitea-actions[bot]
ee293e8038
chore: promote changelog [Unreleased] → [02.56.05]
2026-07-05 00:03:28 +00:00
gitea-actions[bot]
8e3e473426
chore(release): build 02.56.05 [skip ci]
2026-07-05 00:03:11 +00:00
jmiller
2a7fb74ef9
Merge pull request 'fix(sql): purge stranded legacy remote-storage columns (MySQL 8 safe)' ( #210 ) from fix/purge-legacy-remote-columns into main
Sync Workflows to Repos / sync (push) Failing after 3s
2026-07-05 00:02:28 +00:00
gitea-actions[bot]
c7a57116a7
chore(version): pre-release bump to 02.56.05-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 44s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 9m41s
2026-07-05 00:02:14 +00:00
jmiller
6a62868881
fix(sql): purge stranded legacy remote-storage columns (MySQL 8 safe)
...
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 8s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 34s
Universal: PR Check / Validate PR (pull_request) Failing after 15s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 15s
Universal: Build & Release / Promote to RC (pull_request) Failing after 17s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 1m6s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
02.52.25.sql used `DROP COLUMN IF EXISTS` (MariaDB-only), which errors on
Oracle MySQL 8.x — so on MySQL 8 installs the 26 legacy remote_storage/ftp_*/
sftp_*/gdrive_*/s3_* columns were never dropped, yet Joomla recorded the schema
as applied (confirmed on suite.dev: MySQL 8.0.41, all 26 columns still present,
0 profiles with legacy remote data).
New 02.56.01 migration removes them portably: an INFORMATION_SCHEMA-gated
prepared-statement ALTER that drops all 26 columns where present (plain
DROP COLUMN, valid on MySQL 8 + MariaDB) and is a no-op where already gone
(so it's safe on already-migrated installs too). Validated non-destructively
against suite.dev (gate=1, ALTER PREPAREs cleanly).
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-04 19:01:50 -05:00
jmiller
0926e82465
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-07-04 23:28:45 +00:00
gitea-actions[bot]
e37a52df4e
chore: promote changelog [Unreleased] → [02.56.00]
2026-07-04 22:01:21 +00:00
gitea-actions[bot]
a7611d17d9
chore(release): build 02.56.00 [skip ci]
2026-07-04 22:01:12 +00:00
jmiller
183b2d2d6f
Merge pull request 'fix: remote destinations tab broken (Add Destination + stuck loading)' ( #208 ) from fix/remote-destinations-modal into main
2026-07-04 22:00:44 +00:00
jmiller
4ca9e23630
fix(profile): remote destinations tab broken — lazy-init Bootstrap modal
...
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 11s
Universal: PR Check / Branch Policy (pull_request) Successful in 3s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 14s
Generic: Repo Health / Access control (pull_request) Successful in 3s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 39s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 45s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
The remote destinations table stayed stuck at "Loading…" and the "Add
Destination" button did nothing. Root cause: the profile-edit DOMContentLoaded
handler instantiated the Bootstrap modal eagerly at the top
(`bootstrap.Modal.getOrCreateInstance`). In Joomla 6, Bootstrap loads as a
deferred ES module, so `bootstrap` is undefined at DOMContentLoaded — the
reference threw a ReferenceError that aborted the entire handler, so
loadRemotes() never ran and the Add button was never bound. (The purge and
stepped-backup modals worked because they resolve the modal lazily inside
click handlers.)
- Resolve the modal lazily via getModal() at click-time (matches the working modals)
- Explicitly load the bootstrap.modal web asset so window.bootstrap.Modal is registered
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-04 17:00:15 -05:00
jmiller
d0ce09abf0
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-04 21:52:23 +00:00
gitea-actions[bot]
1dde736225
chore: promote changelog [Unreleased] → [02.56.00]
2026-07-04 21:51:30 +00:00
gitea-actions[bot]
6074aa55ae
chore(release): build 02.56.00 [skip ci]
2026-07-04 21:51:20 +00:00
jmiller
939964bff9
Merge pull request 'chore: remove stray root services/provider.php' ( #207 ) from chore/remove-stray-provider into main
Sync Workflows to Repos / sync (push) Failing after 3s
2026-07-04 21:50:47 +00:00
gitea-actions[bot]
5363a85b92
chore(version): pre-release bump to 02.55.03-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 30s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 4m44s
2026-07-04 21:50:36 +00:00
jmiller
c12d207a96
chore: remove stray root services/provider.php
...
Universal: PR Check / Branch Policy (pull_request) Successful in 3s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 12s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Universal: PR Check / Secret Scan (pull_request) Successful in 11s
Generic: Project CI / Lint & Validate (pull_request) Successful in 18s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 34s
Universal: Build & Release / Promote to RC (pull_request) Failing after 12s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 41s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 45s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
The canonical webservices provider lives in
source/packages/plg_webservices_mokosuitebackup/services/provider.php.
This root-level copy is an orphaned duplicate — nothing references it and
it is not part of any packaged extension. Recovered from a stash of
previously-set-aside cleanup.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-04 16:50:11 -05:00
jmiller
ee11ec8ef7
Merge pull request 'docs(changelog): document 02.53.00–02.55.00 releases' ( #205 ) from docs/changelog-update into main
2026-07-04 20:54:58 +00:00
jmiller
0c9d9a6336
docs(changelog): document 02.53.00–02.55.00 and pending remote-storage removal [skip ci]
...
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 3m24s
Populate the empty CI-generated version sections and dedupe headers:
- 02.53.00: short-name branding
- 02.54.00: per-profile retention enforcement, Purge button fix, manifest naming convention
- 02.55.00: installer licensing + install-completion pattern
- Unreleased: legacy single-remote storage removal (#204 )
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-04 15:54:17 -05:00
jmiller
882cb2c48c
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-04 20:40:14 +00:00
gitea-actions[bot]
0578f2deed
chore: promote changelog [Unreleased] → [02.55.00]
2026-07-04 20:37:49 +00:00
gitea-actions[bot]
eecb8c8c72
chore(release): build 02.55.00 [skip ci]
2026-07-04 20:37:39 +00:00
jmiller
f0fa645e51
Merge pull request 'Remove legacy single-remote storage in favor of remotes table' ( #204 ) from fix/remote-storage-cleanup into main
Sync Workflows to Repos / sync (push) Failing after 4s
2026-07-04 20:36:31 +00:00
jmiller
6f7dc6766d
Merge CI version bump (superseded by main's 02.55.00)
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 41s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m11s
Universal: PR Check / Validate PR (pull_request) Failing after 1m5s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 1m14s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 1m8s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 41s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 8m24s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
2026-07-04 15:36:16 -05:00
jmiller
6cef8fa9f7
Merge remote-tracking branch 'origin/main' into fix/remote-storage-cleanup
...
# Conflicts:
# SECURITY.md
# source/packages/MokoSuiteClient
# source/packages/com_mokosuitebackup/mokosuitebackup.xml
# source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml
# source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_system_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_task_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_webservices_mokosuitebackup/mokosuitebackup.xml
# source/pkg_mokosuitebackup.xml
# source/script.php
2026-07-04 15:34:41 -05:00
jmiller
278c572e0f
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-04 20:28:29 +00:00
gitea-actions[bot]
5615468042
chore: promote changelog [Unreleased] → [02.55.00]
2026-07-04 20:28:12 +00:00
gitea-actions[bot]
4dc8bc6912
chore(release): build 02.55.00 [skip ci]
2026-07-04 20:28:01 +00:00
jmiller
23fa4884bd
Merge pull request 'Apply standard licensing + install-completion installer script pattern' ( #202 ) from chore/installer-script-template into main
2026-07-04 20:27:26 +00:00
gitea-actions[bot]
772f2b75a1
chore(release): build 02.54.00 [skip ci]
2026-07-04 20:27:20 +00:00
jmiller
1758694893
fix(installer): apply standard licensing + install-completion script pattern
...
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 11s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 6s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 45s
Universal: PR Check / Validate PR (pull_request) Failing after 40s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 49s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 31s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 3m0s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Adopts the Template-Joomla package-script pattern for download-key handling
and post-install messaging, while preserving all MokoSuiteBackup-specific
postflight steps (plugins, webcron secret, scheduled task, submenus,
client_id fix, icon sync, backup_dir migration).
- preflight (update): backupDownloadKey() caches the bare dlid value
- postflight (update): restoreDownloadKey() re-writes extra_query as dlid=<key>
- postflight (install): installSuccessful() + warnMissingLicenseKey()
- postflight (update): installSuccessful()
- License nag now runs on install only (a fresh install never has a key),
removing the previous always-run "is a key present?" guard
- Licensing methods log via Joomla\CMS\Log\Log instead of error_log
2026-07-04 15:27:05 -05:00
jmiller
2de2c5f917
Merge pull request 'Enforce per-profile retention and repair Purge Old Backups button' ( #203 ) from fix/backup-retention-purge into main
2026-07-04 20:26:20 +00:00
jmiller
5c5af532bb
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-04 20:26:05 +00:00
jmiller
03bf5dff7b
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-04 20:26:04 +00:00
jmiller
10248b284a
fix: enforce per-profile retention and repair Purge Old Backups button
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 12s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 27s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 39s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 30s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 4m0s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Two related backup-management fixes.
Retention (records/days to keep):
- The retention fieldset was defined in profile.xml but never rendered
in the profile editor, so retention_days/retention_count were invisible.
Render the retention fieldset on the Archive tab.
- retention_days/retention_count were read by nothing, so they pruned no
backups. Add RetentionManager::prune(), called from completeRecord() in
both BackupEngine and SteppedBackupEngine after a backup finishes.
Policy: delete a completed/warning backup when EITHER it is older than
retention_days OR it falls outside the newest retention_count copies
(0 = unlimited for that rule). Deleting a record also removes its
archive and log file.
- Correct misleading language/schema text ("use global default" — no such
global backup-retention setting exists) to "0 = unlimited".
Purge Old Backups button:
- The modal only opened via a fragile selector match on the toolbar
button's inline onclick, which Joomla 6's Atum toolbar does not render,
so the button did nothing. Wrap Joomla.submitbutton to open the modal
for the backups.purgeModal task, keeping the selector as a fallback.
2026-07-04 15:25:43 -05:00
gitea-actions[bot]
4b2bb8b655
chore: promote changelog [Unreleased] → [02.54.00]
2026-07-04 20:25:31 +00:00
gitea-actions[bot]
2e5b57fe5d
chore(release): build 02.54.00 [skip ci]
2026-07-04 20:25:20 +00:00
jmiller
bdbbe74021
Merge pull request 'Hardcode manifest names/descriptions and enforce Type - Name convention' ( #201 ) from chore/manifest-naming-convention into main
2026-07-04 20:24:46 +00:00
jmiller
d155958be3
chore(manifests): hardcode names/descriptions and enforce Type - Name convention
...
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Generic: Project CI / Lint & Validate (pull_request) Successful in 11s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 8s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Generic: Repo Health / Access control (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 28s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 45s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 31s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 4m23s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Per the package-XML convention, manifests must not use language strings for
titles/descriptions, and <name> must follow "Type - Name".
- Component <name> "MokoSuiteBackup" → "Component - MokoSuiteBackup"
- Module <name> "mod_mokosuitebackup_cpanel" → "Module - MokoSuiteBackup - cPanel"
- Hardcode every <description> (pkg, com, mod, all 7 plugins) with the literal
text previously stored in the *_DESCRIPTION language constants
- Hardcode the component admin submenu titles (Dashboard, Backup Records,
Content Snapshots, Backup Profiles)
Plugin <name> values already followed the Group - Name format and are
unchanged. All manifests validated as well-formed XML.
2026-07-04 15:24:18 -05:00
jmiller
0df6008a3b
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-04 20:23:20 +00:00
jmiller
145155d06e
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-07-04 20:23:18 +00:00
jmiller
84f37a8b51
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-07-04 20:23:16 +00:00
gitea-actions[bot]
6ff350fb1c
chore: promote changelog [Unreleased] → [02.53.00]
2026-07-04 20:21:10 +00:00
gitea-actions[bot]
c492d30b1c
chore(release): build 02.53.00 [skip ci]
2026-07-04 20:20:57 +00:00
jmiller
23360f4cbc
Merge pull request 'Add COM_MOKOJOOMBACKUP_SHORT and apply short name to views and admin menu' ( #200 ) from chore/short-name-branding into main
Sync Workflows to Repos / sync (push) Failing after 2s
2026-07-04 20:20:37 +00:00
gitea-actions[bot]
d3e3fd25e7
chore(version): pre-release bump to 02.52.30-dev [skip ci]
2026-07-04 20:18:21 +00:00
jmiller
46daabc34f
fix(remote-cleanup): resolve dropped-column references found in review
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Generic: Project CI / Lint & Validate (pull_request) Successful in 13s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 27s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 40s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 41s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Follow-up to the legacy remote-storage removal — three consumers still
referenced columns this branch drops:
- 02.52.25.sql: use plain DROP COLUMN instead of DROP COLUMN IF EXISTS.
IF EXISTS on DROP COLUMN is a MariaDB-only extension and errors on
Oracle MySQL 8.x (which Joomla also supports); the columns always exist
here, so the guard is unnecessary and the migration is now portable.
- AkeebaImporter::mapToMokoProfile(): stop inserting the 19 dropped
remote_storage/ftp_*/gdrive_*/s3_* columns (would fatal with "Unknown
column" on Akeeba import). Remote settings now live in the remotes
table and are re-added on the profile Remote tab after import.
- AjaxController::browseSftpDir() + SftpPathField: remove. These were the
legacy single-SFTP path picker, orphaned when the SftpPath form field
was removed; they read now-dropped sftp_* columns.
Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-04 15:17:54 -05:00
jmiller
ece864329e
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-04 19:39:08 +00:00
jmiller
6cf34ea2ed
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-07-04 19:39:06 +00:00
jmiller
1ee5e6ba9b
chore: sync branch-cleanup.yml from Template-Generic [skip ci]
2026-07-04 19:39:05 +00:00
gitea-actions[bot]
1be16af5a4
chore(version): pre-release bump to 02.52.27-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 35s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 5m7s
2026-07-04 19:21:24 +00:00
jmiller
a808789acb
feat: add COM_MOKOJOOMBACKUP_SHORT and apply short name to views and admin menu
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
- Add COM_MOKOJOOMBACKUP_SHORT="Backup" to the component .ini and .sys.ini
(en-GB + en-US) so both view titles and the admin sidebar menu resolve it.
- Prefix every admin view's toolbar title with the short brand via the
constant (e.g. "Backup: Dashboard", "Backup: Records"), and tighten the
view title strings that redundantly led with "Backup"/"MokoSuiteBackup".
- Admin sidebar top-level menu now shows the short name. Hardcoded as
"Backup" in the manifest per the package-xml convention (no language
strings in package XML).
2026-07-04 14:20:54 -05:00
jmiller
406b666486
chore: sync sync-on-merge.yml from Template-Generic [skip ci]
2026-07-04 19:06:42 +00:00
jmiller
77d93602d6
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-07-04 19:06:41 +00:00
jmiller
c5f4daa2e6
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-07-04 19:06:40 +00:00
jmiller
caaedfdff5
chore: sync notify.yml from Template-Generic [skip ci]
2026-07-04 19:06:39 +00:00
jmiller
6792688740
chore: sync cleanup.yml from Template-Generic [skip ci]
2026-07-04 19:06:38 +00:00
jmiller
318b1469e3
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-07-04 19:06:37 +00:00
jmiller
b6b101be3a
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-07-04 19:06:36 +00:00
gitea-actions[bot]
5d4662342f
chore(version): pre-release bump to 02.52.25-dev [skip ci]
2026-07-04 18:23:15 +00:00
jmiller
68605ffc05
refactor(remote): remove legacy single-remote storage in favor of remotes table
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 25s
Drops the per-profile remote_storage column and all legacy FTP/SFTP/S3/
Google Drive credential columns. Remote destinations are now sourced
exclusively from #__mokosuitebackup_remotes (multi-remote), which is
created at install time — so the backward-compat fallback branches in
BackupEngine, SteppedBackupEngine and loadRemoteDestinations are removed.
- sql: drop 26 legacy columns (install.mysql.sql + 02.52.25.sql migration)
- forms/profile.xml: remove legacy remote fields and ftp/gdrive/s3 fieldsets
- tmpl/profile/edit.php: drop legacy UI, add save-first prompt, use
getOrCreateInstance for the modal, read item.params (was item.config)
- PreflightCheck: validate credentials from the remotes table; curl
warning now applies to ntfy only
- SteppedSession: drop remoteStorage property
- language: add backup-record delete-count strings
- script.php: simplify postflight license-key prompt
2026-07-04 13:22:44 -05:00
jmiller
13af787c13
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-30 19:19:09 +00:00
gitea-actions[bot]
481e395624
chore: promote changelog [Unreleased] → [02.52.24]
2026-06-30 19:18:28 +00:00
gitea-actions[bot]
202a26847b
chore(release): build 02.52.24 [skip ci]
2026-06-30 19:18:21 +00:00
jmiller
7b38e238f5
Merge pull request 'fix: use warning status when backup succeeds but upload fails' ( #199 ) from fix/upload-fail-warning-status into main
2026-06-30 19:18:06 +00:00
gitea-actions[bot]
9820d75212
chore(version): pre-release bump to 02.52.24-dev [skip ci]
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 24s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 2m56s
2026-06-30 19:17:57 +00:00
jmiller
9c0c6eae15
docs: add warning status changes to changelog
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 6s
Generic: Repo Health / Access control (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 6s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Generic: Project CI / Lint & Validate (pull_request) Successful in 16s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 36s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-30 14:17:34 -05:00
gitea-actions[bot]
1daa6869cc
chore(version): pre-release bump to 02.52.23-dev [skip ci]
2026-06-30 19:14:33 +00:00
jmiller
aefa46e0c4
fix: use warning status when backup succeeds but remote upload fails
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
Previously a successful backup with a failed remote upload was marked
as "complete", hiding the upload failure. Now these records get a
"warning" status with a yellow badge so operators can see at a glance
which backups didn't reach their remote destination.
Warning-status records are treated as usable backups throughout:
- Downloadable, browsable, and restorable (the archive is intact)
- Counted in dashboard stats, storage totals, and success streaks
- Included in purge operations and differential base lookups
- Shown with yellow "warning" badge in list, detail, and cpanel module
- Filterable via the status dropdown on Backup Records
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-30 14:14:06 -05:00
jmiller
ed55ab068b
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-30 18:56:24 +00:00
gitea-actions[bot]
765e6feea6
chore: promote changelog [Unreleased] → [02.52.22]
2026-06-30 18:53:53 +00:00
gitea-actions[bot]
007036301d
chore(release): build 02.52.22 [skip ci]
2026-06-30 18:53:45 +00:00
jmiller
1db4015003
Merge pull request 'fix: cancel stalled backups with ACL + auto-timeout failsafe' ( #197 ) from fix/cancel-stalled-backup into main
2026-06-30 18:53:15 +00:00
gitea-actions[bot]
8dac5a7448
chore(version): pre-release bump to 02.52.22-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 22s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 11m45s
2026-06-30 18:53:06 +00:00
jmiller
4560ffb84b
docs: update changelog with cancel stalled and pre-update modal
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Generic: Project CI / Lint & Validate (pull_request) Successful in 11s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 11s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 29s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 34s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-30 13:52:42 -05:00
gitea-actions[bot]
5be922613f
chore(version): pre-release bump to 02.52.21-dev [skip ci]
2026-06-30 18:50:40 +00:00
jmiller
b26a21820b
fix: auto-cancel stalled backups after 30 min timeout
...
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 29s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Failing after 14s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 13s
Generic: Project CI / Lint & Validate (pull_request) Successful in 43s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 47s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
PreflightCheck now auto-cancels "running" backup records that have
exceeded 30 minutes, treating them as stalled. Partial archive files
are cleaned up. The auto-cancelled records are surfaced as warnings
so the user knows what happened.
Records younger than 30 minutes are assumed to be legitimately running
and still block new backups for the same profile.
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-30 13:50:18 -05:00
gitea-actions[bot]
a56f72b186
chore(version): pre-release bump to 02.52.20-dev [skip ci]
2026-06-30 18:49:16 +00:00
jmiller
1eb1c18bdf
fix: add cancel stalled backup action with ACL permission
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
Backups stuck in "running" status block all future backups for the same
profile via the preflight check. Previously the only fix was a manual
DB update.
Adds a toolbar button and AJAX endpoint to cancel stalled backups:
- New ACL permission: mokosuitebackup.backup.cancel
- BackupsController::cancelStalled() for toolbar (multi-select)
- AjaxController::cancelBackup() for AJAX/API use
- Sets status to "fail", cleans up partial archive files
- Updated preflight error message to mention the cancel action
- Language keys for en-GB and en-US
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-30 13:48:51 -05:00
jmiller
eea1a40265
Merge pull request 'fix: remove orphaned deploy-manual workflow' ( #195 ) from fix/remove-deploy-manual into main
...
fix: remove orphaned deploy-manual workflow [skip ci]
2026-06-30 18:33:51 +00:00
jmiller
ebc692789c
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-30 18:12:34 +00:00
gitea-actions[bot]
983ec77dbd
chore: promote changelog [Unreleased] → [02.52.18]
2026-06-30 18:12:06 +00:00
gitea-actions[bot]
25cf65f4cf
chore(release): build 02.52.18 [skip ci]
2026-06-30 18:11:56 +00:00
jmiller
2d3a697f22
Merge pull request 'fix: remote upload prefix mismatch and restore security file' ( #193 ) from fix/sftp-upload-and-restore-security into main
2026-06-30 18:11:32 +00:00
jmiller
a4df3a651d
fix: remove orphaned deploy-manual workflow [skip ci]
2026-06-30 18:07:18 +00:00
gitea-actions[bot]
3d9c48f40f
chore(version): pre-release bump to 02.52.18-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 33s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 2m23s
2026-06-30 18:00:27 +00:00
jmiller
4093267984
fix: add verbose error_log throughout restore script
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 8s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 8s
Generic: Project CI / Lint & Validate (pull_request) Successful in 16s
Universal: PR Check / Secret Scan (pull_request) Successful in 11s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 30s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 41s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Every action handler now logs entry, key parameters, outcomes, and
failures to PHP error_log. Security file creation logs directory
permissions, PHP user, and the specific error when file_put_contents
fails. Database import logs SQL file size, statement counts, and
individual errors. Cleanup logs each file removal success/failure.
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-30 12:59:59 -05:00
gitea-actions[bot]
236609341f
chore(version): pre-release bump to 02.52.17-dev [skip ci]
2026-06-30 17:53:59 +00:00
jmiller
20ce945e73
fix: recreate security file if missing while verification is pending
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 8s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 11s
Generic: Project CI / Lint & Validate (pull_request) Successful in 13s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 22s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 34s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
The security file was only written inside the code-generation block
(first page load). If the file was deleted or failed to write, it
was never recreated because the session already held the code. Now
file writing is a separate check that runs whenever verification is
pending and the file is missing.
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-30 12:53:36 -05:00
gitea-actions[bot]
f2f424a565
chore(version): pre-release bump to 02.52.16-dev [skip ci]
2026-06-30 17:50:30 +00:00
jmiller
3a6bb1c783
fix: remote upload prefix mismatch and restore security file visibility
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
Remote uploaders (SFTP, FTP, S3, Google Drive) expect type-prefixed
property names (sftp_host, ftp_port, etc.) but createUploaderFromParams
passes unprefixed keys from the remotes table params JSON. Add prefix
mapping in createUploaderFromParams to bridge the naming gap.
Rename .mokorestore-security.php to mokorestore-security.php (no leading
dot) so the file is visible in file managers and not blocked by web
server dotfile rules. Also clean it up in actionCleanup.
Closes #13
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-30 12:50:02 -05:00
jmiller
785ffd85a3
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-06-28 20:10:19 +00:00
jmiller
71da4af64b
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-28 19:39:25 +00:00
jmiller
4d5711c304
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-06-28 19:39:22 +00:00
gitea-actions[bot]
1a4bb32c6c
chore: promote changelog [Unreleased] → [01.45.00]
2026-06-28 19:31:25 +00:00
gitea-actions[bot]
13a526d6be
chore(release): build 01.45.00 [skip ci]
2026-06-28 19:31:21 +00:00
jmiller
babdb9e390
ci: add submodules: recursive to checkout (fixes MokoSuiteClient packaging)
2026-06-28 19:30:15 +00:00
jmiller
57c9ea600b
ci: add submodules: recursive to checkout (fixes MokoSuiteClient packaging)
2026-06-28 19:25:18 +00:00
jmiller
afffef78bd
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-28 19:12:12 +00:00
jmiller
720f008050
Merge pull request 'release: promote dev to main (v01.43.37)' ( #159 ) from dev into main
2026-06-28 19:03:51 +00:00
jmiller
cd1d3241bd
Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup into dev
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 10s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 16s
Generic: Project CI / Lint & Validate (pull_request) Successful in 20s
Universal: PR Check / Validate PR (pull_request) Failing after 8s
Universal: PR Check / Secret Scan (pull_request) Successful in 11s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 16s
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 20s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 17s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 29m21s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
2026-06-28 14:03:25 -05:00
jmiller
e2d88313cf
merge: resolve version conflicts (keep dev's 01.43.37)
...
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-28 14:02:44 -05:00
gitea-actions[bot]
256d79a270
chore(version): pre-release bump to 01.44.01-dev [skip ci]
2026-06-28 18:57:02 +00:00
gitea-actions[bot]
d8d5a1e48e
chore(version): auto-bump patch 01.43.38-dev [skip ci]
2026-06-28 18:56:50 +00:00
jmiller
330cfa9dc5
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-28 18:56:20 +00:00
jmiller
8485f24342
docs: update changelog for v01.43.35, add retention to README
...
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 21s
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-28 13:56:17 -05:00
gitea-actions[bot]
51c4db5115
chore: promote changelog [Unreleased] → [01.44.00]
2026-06-28 18:52:14 +00:00
gitea-actions[bot]
fd33c86157
chore(release): build 01.44.00 [skip ci]
2026-06-28 18:52:07 +00:00
gitea-actions[bot]
ac7673805e
chore(version): pre-release bump to 01.43.37-dev [skip ci]
2026-06-28 18:51:38 +00:00
gitea-actions[bot]
428e217b56
chore(version): auto-bump patch 01.43.36-dev [skip ci]
2026-06-28 18:51:13 +00:00
jmiller
c0ba29aca8
Merge pull request 'release: promote dev to main (v01.43.x)' ( #157 ) from dev into main
2026-06-28 18:50:58 +00:00
jmiller
81a72d466b
merge: resolve workflow file conflicts (take main's v05.02.00)
...
Universal: Auto Version Bump / Version Bump (push) Successful in 16s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m0s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 34s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 11s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 1m0s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 29s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 21m34s
Generic: Project CI / Tests (pull_request) 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
Joomla: Extension CI / Build RC Pre-Release (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 / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-28 13:50:24 -05:00
gitea-actions[bot]
942b33f9ce
chore(version): pre-release bump to 01.43.35-dev [skip ci]
2026-06-28 18:46:50 +00:00
jmiller
60e04cfd0a
Merge pull request 'fix: remove ordering column from profiles table' ( #158 ) from fix/remove-profiles-ordering into dev
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 12s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 44s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 31s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
2026-06-28 18:46:09 +00:00
gitea-actions[bot]
672b953ef5
chore(version): pre-release bump to 01.43.34-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 2s
2026-06-28 18:45:40 +00:00
jmiller
1b481f2e2c
fix: remove ordering column from profiles table
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
The ordering column was unused in the profiles UI — profiles sort by ID.
Drops the column via migration, removes all references from model,
config query, importer, and install SQL.
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-28 13:45:01 -05:00
gitea-actions[bot]
4a027d6245
chore(version): pre-release bump to 01.43.32-dev [skip ci]
2026-06-28 07:49:06 +00:00
jmiller
8af19f875c
chore: add SECURITY.md from Template-Joomla
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Has been cancelled
2026-06-28 07:25:44 +00:00
jmiller
b56e4060bf
chore: add SECURITY.md from Template-Joomla
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 29s
2026-06-28 07:15:34 +00:00
jmiller
9b5d0475f5
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-06-27 20:45:20 +00:00
jmiller
53e11fe9ad
chore: sync rc-revert.yml from Template-Generic [skip ci]
2026-06-27 05:32:40 +00:00
gitea-actions[bot]
9757658c34
chore(version): pre-release bump to 01.43.31-dev [skip ci]
2026-06-27 02:33:25 +00:00
gitea-actions[bot]
c82378128a
chore(version): auto-bump patch 01.43.30-dev [skip ci]
2026-06-27 02:33:14 +00:00
jmiller
f95505704a
fix: add submodule checkout to pre-release workflow
...
Universal: Auto Version Bump / Version Bump (push) Successful in 11s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
The CI checkout step was missing submodules: recursive, causing
MokoSuiteClient to be an empty gitlink during builds. This resulted
in broken MokoSuiteClient.zip and "Install path does not exist" errors.
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-26 21:32:49 -05:00
gitea-actions[bot]
6cdc9b04d0
chore(version): pre-release bump to 01.43.29-dev [skip ci]
2026-06-27 02:20:50 +00:00
jmiller
bad73529ae
Merge pull request 'fix: SSH key indicator, schema alignment, MokoSuiteClient bundle' ( #155 ) from fix/ssh-key-indicator into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
2026-06-27 02:20:30 +00:00
jmiller
288baf41d3
fix: remove duplicate version tags from 8 manifests, align AjaxController to params column
...
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 30s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
CI version_bump was creating duplicate <version> lines in all
sub-extension manifests. Also AjaxController still referenced the old
`config` column and removed `keep_local` column on the remotes table.
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-26 21:19:21 -05:00
gitea-actions[bot]
7d1dcf3e1c
chore(version): pre-release bump to 01.43.26-dev [skip ci]
2026-06-26 21:19:20 -05:00
jmiller
2002c1fcad
fix: remove stray 't' in package manifest and duplicate version in component manifest
...
The CI version_bump wrote 't' instead of a tab before <version> in
pkg_mokosuitebackup.xml, and appended a duplicate <version> line in
mokosuitebackup.xml instead of replacing the existing one.
Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
2026-06-26 21:19:19 -05:00
gitea-actions[bot]
4abe81f916
chore(version): pre-release bump to 01.43.25-dev [skip ci]
2026-06-26 21:19:19 -05:00
jmiller
571b03743f
docs: update README with multi-remote, MokoSuiteClient, sub-extension count
2026-06-26 21:19:18 -05:00
gitea-actions[bot]
7fc1cad305
chore(version): pre-release bump to 01.43.24-dev [skip ci]
2026-06-26 21:19:18 -05:00
jmiller
03a1dd75c9
feat: bundle MokoSuiteClient as nested package in release ZIP
...
- Add MokoSuiteClient as git submodule under source/packages/
- Add pkg_mokosuiteclient entry to pkg_mokosuitebackup.xml
- Fix duplicate <version> tag in package manifest
2026-06-26 21:19:17 -05:00
gitea-actions[bot]
02d8312d1b
chore(version): pre-release bump to 01.43.23-dev [skip ci]
2026-06-26 21:19:16 -05:00
jmiller
c508fcc8d5
fix: align remotes table schema, add restore_script_name column, profile ordering
...
- install.mysql.sql: rename `config` → `params` and drop `keep_local` from remotes
table to match update file 01.41.00 and RemoteTable.php code (fixes Joomla
database maintenance "one problem")
- install.mysql.sql: fix idx_enabled index to use composite (profile_id, enabled)
- install.mysql.sql: add restore_script_name column to profiles table
- 01.43.22.sql: ALTER TABLE to add restore_script_name for existing installs
- DashboardModel: order profile dropdown by ID instead of ordering column
- SteppedBackupEngine: add stack trace logging around MokoRestore standalone
generation to debug str_replace FATAL on SFTP profiles
2026-06-26 21:18:47 -05:00
jmiller
3af3708020
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-06-27 00:49:34 +00:00
jmiller
3098b7ad40
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-25 19:47:25 +00:00
jmiller
d10bda3321
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-25 19:47:24 +00:00
jmiller
12214bade1
chore: sync ci-issue-reporter.yml from Template-Generic [skip ci]
2026-06-25 19:47:22 +00:00
gitea-actions[bot]
d104b7b936
chore(version): pre-release bump to 01.43.22-dev [skip ci]
2026-06-25 17:18:29 +00:00
jmiller
80110ac111
Merge pull request 'fix: SSH key indicator and missing delete language key' ( #154 ) from fix/ssh-key-indicator into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
2026-06-25 17:18:21 +00:00
gitea-actions[bot]
3bd1f63833
chore(version): pre-release bump to 01.43.21-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
2026-06-25 17:18:03 +00:00
jmiller
93f0fa0a47
fix: SSH key indicator detection and missing delete language key
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
- SshKeyField: detect base64-encoded keys from DB so the "Key loaded"
badge displays correctly after initial upload
- Add COM_MOKOJOOMBACKUP_BACKUPS_N_ITEMS_DELETED language keys for
Joomla's AdminController delete feedback message
2026-06-25 12:17:45 -05:00
jmiller
ee1de178b1
chore: sync workflow-sync-trigger.yml from Template-Generic [skip ci]
2026-06-25 17:12:17 +00:00
jmiller
014d659908
chore: sync version-set.yml from Template-Generic [skip ci]
2026-06-25 17:12:17 +00:00
jmiller
113febad3f
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-25 17:12:16 +00:00
jmiller
18a3a524f2
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-06-25 17:12:16 +00:00
jmiller
659fc6e274
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-25 17:12:15 +00:00
jmiller
89af9fa14c
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-25 17:12:14 +00:00
jmiller
d60535ae64
chore: sync deploy-manual.yml from Template-Generic [skip ci]
2026-06-25 17:12:14 +00:00
jmiller
b9ef947feb
chore: sync cleanup.yml from Template-Generic [skip ci]
2026-06-25 17:12:13 +00:00
jmiller
e7ab83c5fb
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-06-25 17:12:12 +00:00
jmiller
dc81cd7cc8
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-25 17:12:11 +00:00
gitea-actions[bot]
268b3d54d7
chore(version): pre-release bump to 01.43.20-dev [skip ci]
2026-06-25 16:27:48 +00:00
jmiller
1cfe7c6c6e
Merge pull request 'fix: add SQL update file to match manifest version' ( #153 ) from fix/schema-version-file-2 into dev
...
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
fix: add SQL update file to match manifest version
2026-06-25 16:26:38 +00:00
jmiller
f0da0c02b4
fix: add SQL update file to match manifest version
...
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 46s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Joomla's Database view requires a SQL update file matching the manifest
version. Missing file causes persistent schema version mismatch warning.
2026-06-25 11:25:56 -05:00
gitea-actions[bot]
2f8a65388c
chore(version): pre-release bump to 01.43.19-dev [skip ci]
2026-06-25 16:13:23 +00:00
gitea-actions[bot]
9978622960
chore(version): pre-release bump to 01.43.18-dev [skip ci]
2026-06-25 16:13:03 +00:00
jmiller
35e5fc1503
Merge pull request 'fix(db): add 01.43.11 schema update file' ( #152 ) from fix/schema-version-file into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
2026-06-25 16:12:46 +00:00
gitea-actions[bot]
2338ba5197
chore(version): pre-release bump to 01.43.17-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
2026-06-25 16:12:33 +00:00
jmiller
e67eedbc93
fix(db): add 01.43.11 schema update file to resolve version mismatch
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
Joomla's database checker requires a SQL update file matching the manifest
version. Missing file caused schema version to stay at 01.41.00.
2026-06-25 11:12:22 -05:00
gitea-actions[bot]
d812aca832
chore(version): pre-release bump to 01.43.15-dev [skip ci]
2026-06-25 16:00:54 +00:00
gitea-actions[bot]
4315f36c6a
chore(version): pre-release bump to 01.43.14-dev [skip ci]
2026-06-25 15:59:41 +00:00
jmiller
10467835ac
Merge pull request 'fix: UI cleanup, custom restore script name, version bump 01.43.11-dev' ( #150 ) from fix/ui-cleanup-restore-name into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
2026-06-25 15:59:30 +00:00
gitea-actions[bot]
f26d58504e
chore(version): pre-release bump to 01.43.13-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-06-25 15:58:38 +00:00
jmiller
07fb4dcc24
fix: remove run/backup buttons, move actions to detail view, custom restore script name, version bump 01.43.11-dev
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
- Remove Run Backup / Backup Now buttons from profiles list, profile edit toolbar, and backup records view
- Move download, browse archive, and view log from backup list rows into individual backup record detail view
- Add download button to backup detail toolbar
- Link profile column in backup records list to profile edit
- Complete restore script filename customization across BackupEngine, SteppedBackupEngine, and MokoRestore
- Remove ordering field from profiles, default sort by ID ascending
- Fix untranslated JFIELD language keys
- Bump all manifests to 01.43.11-dev
2026-06-25 10:54:35 -05:00
gitea-actions[bot]
21a4352b3b
chore(version): pre-release bump to 01.43.10-dev [skip ci]
2026-06-25 15:02:09 +00:00
gitea-actions[bot]
9d26f59f98
chore(version): pre-release bump to 01.43.09-dev [skip ci]
2026-06-25 15:01:45 +00:00
jmiller
3488434f28
Merge pull request 'fix(mokorestore): Joomla detection, multi-zip selector, standalone backup scan' ( #148 ) from fix/mokorestore-improvements into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
2026-06-25 15:01:14 +00:00
gitea-actions[bot]
f97cd30c95
chore(version): pre-release bump to 01.43.08-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-06-25 15:00:33 +00:00
jmiller
836d1bc8b7
fix(mokorestore): add Joomla detection warning, multi-zip selector, and standalone backup scan
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
- Preflight now detects existing Joomla installation (configuration.php / Version.php)
and shows a yellow warning — does not block, but alerts the user
- Standalone mode: backup archive check scans for all ZIPs instead of hardcoded name
- Multi-zip selector integrated into extract step with radio buttons
- Selected backup file passed through to extract action
- Added warn-style CSS class (yellow) for preflight warnings
2026-06-25 10:00:07 -05:00
gitea-actions[bot]
79b3caa35a
chore(version): pre-release bump to 01.43.05-dev [skip ci]
2026-06-25 13:39:28 +00:00
gitea-actions[bot]
6102c8f590
chore(version): pre-release bump to 01.43.04-dev [skip ci]
2026-06-25 13:39:01 +00:00
jmiller
88e53c5698
Merge pull request 'fix: Bootstrap 5 modals, language keys, ntfy default, MokoRestore error handling' ( #146 ) from fix/bootstrap-modals into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
2026-06-25 13:38:43 +00:00
gitea-actions[bot]
ec1c3486c5
chore(version): pre-release bump to 01.43.03-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
2026-06-25 13:38:28 +00:00
jmiller
3742477aef
fix: convert inline modals to Bootstrap 5, fix language keys, ntfy default, and MokoRestore error handling
...
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 29s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
- Convert 10 inline CSS modals to Bootstrap 5 (backups: 7, snapshots: 3)
- Replace style.display show/hide with Bootstrap Modal API
- Fix JFIELD_ORDERING_LABEL_ASC → JFIELD_ORDERING_ASC in profile filter
- Add COM_MOKOJOOMBACKUP_CONFIGURATION key for Options page title
- Change ntfy default server to ntfy.mokoconsulting.tech
- Add profile ID to dropdown labels across backups, dashboard, cpanel module
- Add error handling to MokoRestore post() and runPreflight() to prevent UI stalling
- Remove outdated SSH auth pattern references from field descriptions
2026-06-25 08:35:40 -05:00
jmiller
1c256bba7a
chore: sync version-set.yml from Template-Generic [skip ci]
2026-06-24 11:51:45 +00:00
jmiller
cd4dc6efd2
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-24 11:51:44 +00:00
jmiller
2e6b71ac97
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-24 11:51:41 +00:00
jmiller
5b4f84bad7
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-24 11:51:39 +00:00
jmiller
847bb9bd0f
chore: sync deploy-manual.yml from Template-Generic [skip ci]
2026-06-24 11:51:37 +00:00
jmiller
ebcaf44b63
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-06-24 11:51:32 +00:00
jmiller
17b05f9a13
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-24 11:51:30 +00:00
gitea-actions[bot]
bb8e4a258a
chore(version): pre-release bump to 01.43.02-dev [skip ci]
2026-06-24 11:49:56 +00:00
gitea-actions[bot]
e6d646011a
chore(version): auto-bump patch 01.43.01-dev [skip ci]
2026-06-24 11:49:37 +00:00
jmiller
726291995c
chore: sync main into dev ( #145 )
Universal: Auto Version Bump / Version Bump (push) Successful in 16s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
2026-06-24 11:49:19 +00:00
gitea-actions[bot]
2ac4923d74
chore: promote changelog [Unreleased] → [01.43.00]
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 43s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
2026-06-24 11:49:15 +00:00
gitea-actions[bot]
adc4935587
chore(release): build 01.43.00 [skip ci]
2026-06-24 11:49:12 +00:00
jmiller
8f7b747c59
fix: add missing module entry point for cpanel module install ( #144 )
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 47s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
2026-06-24 11:49:01 +00:00
gitea-actions[bot]
42b7503d7b
chore(version): pre-release bump to 01.42.04-dev [skip ci]
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 17s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 4m51s
2026-06-24 00:05:44 +00:00
jmiller
9ac8757a8c
Merge pull request 'fix: add missing module entry point for cpanel module install' ( #143 ) from fix/cpanel-module-install into dev
...
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
fix: add missing module entry point for cpanel module install (#143 )
2026-06-24 00:05:30 +00:00
gitea-actions[bot]
ef3fde1c39
chore(version): pre-release bump to 01.42.03-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
2026-06-23 23:53:35 +00:00
Jonathan Miller
5750e71d15
fix: add missing module entry point for cpanel module install
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
Joomla's module installer requires a <filename module="..."> element
in the manifest's <files> section. Without it, installation fails with
"No module file specified." Added the stub PHP file and manifest entry.
2026-06-23 18:53:00 -05:00
gitea-actions[bot]
c8e022d46b
chore(version): pre-release bump to 01.42.02-dev [skip ci]
2026-06-23 23:06:28 +00:00
jmiller
21f2ba0eff
Merge pull request 'chore: sync main into dev (preserves dev-only changes)' ( #142 ) from chore/sync-main-to-dev into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
2026-06-23 23:06:15 +00:00
gitea-actions[bot]
821c4bae11
chore(version): pre-release bump to 01.42.01-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
2026-06-23 23:05:52 +00:00
Jonathan Miller
e86c104276
Merge remote-tracking branch 'origin/main' into chore/sync-main-to-dev
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 41s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
2026-06-23 18:05:20 -05:00
gitea-actions[bot]
af2a1a2dae
chore: promote changelog [Unreleased] → [01.42.00]
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 36s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
2026-06-23 23:00:23 +00:00
gitea-actions[bot]
c88b163de0
chore(release): build 01.42.00 [skip ci]
2026-06-23 23:00:20 +00:00
jmiller
358a7eb68a
Merge pull request 'docs: Comprehensive CHANGELOG consolidation + wiki update + testing parameters' ( #140 ) from chore/changelog-wiki-testing into main
2026-06-23 23:00:08 +00:00
Jonathan Miller
898520d1db
chore: sync auto-release.yml from Template-Generic [skip ci]
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 18s
2026-06-23 17:58:49 -05:00
gitea-actions[bot]
e633d0cc0a
chore(version): pre-release bump to 01.41.03-dev [skip ci]
2026-06-23 22:20:21 +00:00
Jonathan Miller
ff7418721d
fix: review findings — key desc, missing changelog, [HOST] domain resolution
...
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (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
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 7s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 11s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 14s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
- Language: "encrypted" → "base64-encoded" for SSH key description
- CHANGELOG: added 3 missing bug fix entries (fields_values scope, CSRF
token on Run Backup, SFTP showon/required)
- [HOST] placeholder: resolve domain from Joomla live_site config when
HTTP_HOST is unavailable (CLI), instead of falling back to system
hostname (joomla.invalid). Applied to both PlaceholderResolver and
FolderPickerField.
2026-06-23 17:20:05 -05:00
gitea-actions[bot]
0b2b885163
chore(version): pre-release bump to 01.41.02-dev [skip ci]
2026-06-23 22:10:35 +00:00
Jonathan Miller
6c47838b30
fix: clean up wordy field descriptions — shorter, punchier text
...
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 13s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 48s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
Backup dir, archive name, MokoRestore, SFTP key, sanitization,
encryption descriptions all shortened. Removed redundant placeholder
lists (now handled by clickable pills and help modal).
2026-06-23 17:09:59 -05:00
gitea-actions[bot]
0f95cb6e9f
chore(version): pre-release bump to 01.41.01-dev [skip ci]
2026-06-23 22:01:24 +00:00
Jonathan Miller
1da2fdb856
docs: comprehensive CHANGELOG consolidation for v01.41.00
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
Consolidated all fragmented changelog entries from the session into
a single clean v01.41.00 release entry organized by feature area.
Covers: multi-remote, snapshots, SFTP, MokoRestore, sanitization,
engine improvements, admin UI, CLI/API, notifications, security.
2026-06-23 17:01:11 -05:00
gitea-actions[bot]
4bafaa519a
chore: promote changelog [Unreleased] → [01.41.00]
2026-06-23 21:54:11 +00:00
gitea-actions[bot]
3c32bd93e9
chore(release): build 01.41.00 [skip ci]
2026-06-23 21:54:07 +00:00
jmiller
ef17873448
Merge pull request 'feat: Multi-remote storage — multiple destinations per profile ( #97 )' ( #139 ) from feat/multi-remote-storage into main
2026-06-23 21:53:51 +00:00
Jonathan Miller
dae30161ae
feat: multi-remote storage — multiple destinations per profile ( #97 )
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 8s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 5s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 41s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 22s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
New #__mokosuitebackup_remotes table stores remote destinations with
JSON params per type (SFTP/S3/GDrive/FTP). Each profile can have
multiple enabled destinations — the engine uploads to all of them.
Database:
- New table with profile_id FK, type, enabled, params JSON, ordering
- Migration auto-converts existing profile remote columns to new table
- RemoteTable, RemoteModel, RemotesModel classes
Engine:
- BackupEngine: loadRemoteDestinations() + createUploaderFromParams()
iterates all enabled remotes, falls back to legacy columns
- SteppedBackupEngine: one upload step per remote destination, persisted
via session.remoteDestinations + remoteIndex
- Local copy only deleted when ALL uploads succeed
UI:
- Profile edit: "Remote Destinations" linked table with AJAX CRUD
- Add/edit modal with type selector showing dynamic fields
- Toggle enabled/disabled, delete with confirmation
- Legacy fields hidden when remotes configured, shown as fallback
- Secrets masked in responses, merged from DB on save
Closes #97
2026-06-23 16:53:08 -05:00
jmiller
8e70bfb723
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-23 21:52:37 +00:00
jmiller
dcd772018e
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-23 21:52:36 +00:00
jmiller
26d765b74e
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 21:52:35 +00:00
jmiller
78b68d2647
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-23 21:52:34 +00:00
gitea-actions[bot]
50a879155d
chore: promote changelog [Unreleased] → [01.40.00]
2026-06-23 19:18:42 +00:00
gitea-actions[bot]
b4fb674566
chore(release): build 01.40.00 [skip ci]
2026-06-23 19:18:28 +00:00
jmiller
1b93d2ac21
Merge pull request 'feat: Complete config.xml, access.xml + ACL enforcement audit ( #137 )' ( #138 ) from feat/config-acl-audit into main
2026-06-23 19:17:48 +00:00
Jonathan Miller
8e5913d706
fix: enforce correct ACL permissions across all controllers ( #137 )
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 11s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 33s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 5s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 54s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
13 ACL fixes across 5 files:
- BackupsController: purge() uses backup.purge (was core.delete)
- SnapshotsController: delete() uses snapshot.manage (was core.delete)
- AjaxController: restoreInit/Step use backup.restore (was backup.run),
browseArchive uses backup.browse (was core.manage),
countPurge uses backup.purge (was core.delete),
compareBackups uses backup.compare (was core.manage)
- API SnapshotsController: displayList/download use snapshot.manage
(was core.manage)
- HtmlView: verify gated by core.manage, compare by backup.compare,
purge separated from delete with backup.purge
Closes #137
2026-06-23 14:16:54 -05:00
Jonathan Miller
1f7def05c1
feat: complete config.xml and access.xml ( #137 )
...
config.xml:
- Defaults fieldset: archive format, MokoRestore mode, sanitization
defaults (passwords, emails, sessions), log retention days
- Global ntfy fieldset: server, topic, token (fallback for profiles)
access.xml:
- mokosuitebackup.backup.purge — bulk delete old backups
- mokosuitebackup.backup.compare — compare two backups
- mokosuitebackup.backup.browse — browse archive file listings
30+ new language strings for all fields and ACL actions.
Partial #137 (ACL enforcement audit in separate commit)
2026-06-23 14:04:12 -05:00
gitea-actions[bot]
95317fb707
chore: promote changelog [Unreleased] → [01.39.01]
2026-06-23 18:37:04 +00:00
gitea-actions[bot]
cb5ff2843d
chore(release): build 01.39.01 [skip ci]
2026-06-23 18:36:54 +00:00
jmiller
4e6369094b
Merge pull request 'fix: Resolve merge conflict markers in script.php' ( #136 ) from fix/script-merge-conflicts into main
2026-06-23 18:32:45 +00:00
Jonathan Miller
0fbcc861d9
fix: resolve merge conflict markers in script.php
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 10s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 44s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 9s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Universal: PR Check / Branch Policy (pull_request) Failing after 3s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 12s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3m49s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
12 conflict markers from a stale stash pop were accidentally
committed to main in PR #135 . Resolved all by keeping the
"Updated upstream" blocks which include both error_log() and
user-facing enqueueMessage() calls.
2026-06-23 13:32:03 -05:00
jmiller
8cea58d1f6
chore: remove security-audit.yml -- handled by MokoGitea
2026-06-23 18:27:10 +00:00
gitea-actions[bot]
4df70531e2
chore(version): pre-release bump to 01.39.02-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 7s
2026-06-23 18:13:45 +00:00
gitea-actions[bot]
845b856cda
chore(version): auto-bump patch 01.28.03-dev [skip ci]
2026-06-23 18:12:45 +00:00
jmiller
84511b08d2
Merge pull request 'feat: Purge, CPanel module, 7z format, SFTP browser ( #119 , #105 , #122 , #98 )' ( #135 ) from feat/final-batch into main
2026-06-23 18:06:23 +00:00
Jonathan Miller
899a33bc58
feat: purge, CPanel module, 7z format, SFTP browser ( #119 , #105 , #122 , #98 )
...
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Failing after 10s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 3s
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 4s
Universal: PR Check / Validate PR (pull_request) Failing after 3s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 13s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 4m50s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
#119 : Manual purge — toolbar button opens modal with date picker,
AJAX count preview, confirmation before bulk delete.
#105 : CPanel admin dashboard module (mod_mokosuitebackup_cpanel) —
backup status, quick action buttons per profile, next scheduled,
stats, and quick links. Registered in package manifest.
#122 : 7z archive format via system 7za/7z CLI binary with optional
password encryption. New SevenZipArchiver engine class.
#98 : SFTP remote file browser — custom SftpPathField with "Browse
Remote" button, modal directory listing via SSH ls, click to navigate,
double-click to select.
Also: CHANGELOG updated, wiki Home updated, #121 verified (encryption
field already visible in Archive Settings tab).
Closes #119 , closes #105 , closes #122 , closes #98 , closes #121
2026-06-23 13:05:42 -05:00
jmiller
633e9b7f1e
chore: remove security-audit.yml -- handled by MokoGitea
Universal: Auto Version Bump / Version Bump (push) Successful in 20s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 43s
2026-06-23 18:05:04 +00:00
gitea-actions[bot]
ec0b7eb8a4
chore(version): auto-bump patch 01.28.02-dev [skip ci]
2026-06-23 18:04:50 +00:00
jmiller
7d119565da
chore: remove deploy-manual.yml -- no longer needed
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 21s
2026-06-23 17:59:42 +00:00
jmiller
7970597fb8
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-23 17:51:32 +00:00
jmiller
13f1c1db5e
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-23 17:51:30 +00:00
jmiller
7ea30aa146
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 17:51:30 +00:00
jmiller
d96f3e7760
chore: sync deploy-manual.yml from Template-Generic [skip ci]
2026-06-23 17:51:29 +00:00
jmiller
10b31fea84
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-23 17:51:28 +00:00
jmiller
997924a107
Merge pull request 'fix: MokoRestore review findings + README rewrite' ( #134 ) from fix/mokorestore-review-findings into main
2026-06-23 17:49:49 +00:00
gitea-actions[bot]
9319abec41
chore(version): pre-release bump to 01.39.01-dev [skip ci]
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Failing after 8s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 4m25s
2026-06-23 17:49:32 +00:00
Jonathan Miller
7e404b0246
fix: MokoRestore review findings + update README
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Universal: Build & Release / Promote to RC (pull_request) Failing after 10s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 42s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 50s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
Review fixes:
- data-only mode uses REPLACE INTO (was INSERT INTO, broke on dupes)
- temporary password is random 16-char hex (was hardcoded "changeme")
README rewritten with all features: snapshots, SFTP, MokoRestore
wizard, sanitization, dashboard, CLI, API.
2026-06-23 12:49:17 -05:00
jmiller
6638577cf5
Merge pull request 'feat: MokoRestore post-restore resets + per-table conflict resolution' ( #133 ) from feat/mokorestore-enhancements into main
2026-06-23 17:37:49 +00:00
Jonathan Miller
114995242d
chore: merge main, resolve conflicts, remove stale files
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 8s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Branch Cleanup / Delete merged branch (pull_request) Failing after 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 7s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 58s
Universal: Build & Release / Build & Release Pipeline (pull_request) Failing after 5s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
2026-06-23 12:37:29 -05:00
jmiller
3d6c0974fa
chore: remove deprecated .mokogitea/workflows/composer-publish.yml [skip ci]
2026-06-23 17:36:30 +00:00
jmiller
8aefc1d702
chore: remove deprecated .mokogitea/workflows/deploy-manual.yml [skip ci]
2026-06-23 17:36:27 +00:00
Jonathan Miller
da52a9d2f9
Merge remote-tracking branch 'origin/main' into feat/mokorestore-enhancements
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Universal: PR Check / Branch Policy (pull_request) Failing after 3s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 17s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 51s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
2026-06-23 12:33:59 -05:00
Jonathan Miller
0dc0eb1bef
feat: MokoRestore post-restore resets + per-table conflict resolution ( #131 , #132 )
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Universal: Build & Release / Promote to RC (pull_request) Failing after 13s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 53s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 1m0s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
#131 : Post-restore actions step in MokoRestore wizard:
- Reset all passwords to temporary "changeme" with requireReset flag
- Reset article hit counters to zero
- Clear content versions (#__history)
- Clear sessions (#__session)
- Clear cache tables and filesystem cache
- Auto-detect sanitized password hashes and prompt for reset
#132 : Per-table conflict resolution during database import:
- New "Tables" step shows all tables from database.sql
- Per-table dropdown: Replace / Skip / Merge / Data Only
- Preset buttons: All Replace, All Skip, Everything except users
- Skip mode skips all statements for that table
- Merge mode uses INSERT IGNORE instead of INSERT INTO
- Data Only skips DROP/CREATE, inserts data only
Wizard now has 9 steps: Pre-check → Extract → Tables → Database →
Config → Admin → Post-Restore → Provisioning → Complete
Closes #131 , closes #132
2026-06-23 12:33:18 -05:00
jmiller
1def73df19
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-23 17:11:33 +00:00
jmiller
48f132ecf9
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-23 17:11:32 +00:00
jmiller
c17349277d
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 17:11:31 +00:00
jmiller
5a6ad02b53
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-23 17:11:29 +00:00
gitea-actions[bot]
29da9776cd
chore: promote changelog [Unreleased] → [01.39.00]
2026-06-23 17:08:24 +00:00
gitea-actions[bot]
09bac755a9
chore(release): build 01.39.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 7s
2026-06-23 17:08:16 +00:00
jmiller
f830dc2ddf
Merge pull request 'feat: Data sanitization — passwords, emails, sessions ( #129 )' ( #130 ) from feat/sanitize-user-passwords into main
2026-06-23 17:06:47 +00:00
Jonathan Miller
5698c074da
feat: data sanitization — passwords, emails, sessions ( #129 )
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 9s
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 6s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 54s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 33s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
New "Data Sanitization" fieldset on profile form with four options:
- Sanitize User Passwords: replaces all bcrypt hashes with invalid sentinel
- Preserve Super Admin: keeps Super Users group passwords intact
- Sanitize User Emails: replaces with user123@sanitized.example.com
- Clear Session Data: excludes #__session table data (default: on)
DatabaseDumper sanitizes rows inline during dump — both in-memory
and file-streaming paths. Super admin detection uses group_id=8
from #__user_usergroup_map with static caching.
Use cases: sharing backups, creating demo/staging sites, GDPR compliance.
Partial #129 (Part 2 — restore script password reset — tracked separately)
2026-06-23 12:06:19 -05:00
gitea-actions[bot]
aaf189b87a
chore: promote changelog [Unreleased] → [01.38.05]
2026-06-23 16:59:10 +00:00
gitea-actions[bot]
61023821e6
chore(release): build 01.38.05 [skip ci]
Publish to Composer / Publish Package (release) Failing after 34s
2026-06-23 16:59:02 +00:00
jmiller
02a6e30db1
Merge pull request 'feat: Comprehensive help modal for backup directory + fix help button' ( #128 ) from fix/folder-picker-tooltip into main
2026-06-23 16:58:45 +00:00
gitea-actions[bot]
5a0cd51df6
chore(version): pre-release bump to 01.38.05-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 5s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 33s
2026-06-23 16:58:33 +00:00
Jonathan Miller
12c832d7fe
feat: comprehensive help modal for backup directory field
...
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 3s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 4s
Universal: Build & Release / Promote to RC (pull_request) Failing after 8s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 43s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
Expanded the help modal with:
- Absolute paths: starts with / or drive letter, used as-is
- Relative paths: ./backups, ../backups, ../../backups with table
showing URL-style conventions and resolved examples
- Placeholder paths: detailed descriptions of each placeholder
with current server values
- Recommended configurations table: single site, multi-site,
date-organized, per-profile, shared hosting
- Security warnings for web-root-accessible paths
- Help button uses JS click handler with Bootstrap 5 fallback
(fixes non-working tooltip icon)
2026-06-23 11:58:20 -05:00
gitea-actions[bot]
65c8820db4
chore: promote changelog [Unreleased] → [01.38.04]
2026-06-23 16:53:45 +00:00
gitea-actions[bot]
0f914c3061
chore(release): build 01.38.04 [skip ci]
Publish to Composer / Publish Package (release) Failing after 42s
2026-06-23 16:53:42 +00:00
jmiller
4191f44c1b
Merge pull request 'feat: Uppercase all placeholders + EXAMPLE prefix in display' ( #127 ) from fix/uppercase-placeholders into main
2026-06-23 16:53:28 +00:00
gitea-actions[bot]
fb99afbeba
chore(version): pre-release bump to 01.38.04-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 1s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 17s
Publish to Composer / Publish Package (release) Failing after 33s
2026-06-23 16:53:16 +00:00
Jonathan Miller
de632e9c5c
feat: uppercase all placeholders + EXAMPLE prefix in resolution display
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 20s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 10s
Universal: PR Check / Validate PR (pull_request) Failing after 11s
Universal: PR Check / Secret Scan (pull_request) Successful in 12s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 14s
Universal: Build & Release / Promote to RC (pull_request) Failing after 10s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 47s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
All placeholders changed from lowercase to UPPERCASE:
[host] → [HOST], [site_name] → [SITE_NAME], [date] → [DATE],
[datetime] → [DATETIME], [profile_id] → [PROFILE_ID], etc.
[HOME] and [DEFAULT_DIR] were already uppercase — now consistent.
SQL migration 01.39.01 updates existing profile data in the database.
Resolution display prefixed with "EXAMPLE:" to clarify these are
example values resolved at backup time.
13 files updated across engines, fields, forms, templates, and SQL.
2026-06-23 11:52:52 -05:00
gitea-actions[bot]
53ff99148c
chore: promote changelog [Unreleased] → [01.38.03]
2026-06-23 16:50:30 +00:00
gitea-actions[bot]
c2ff3b272a
chore(release): build 01.38.03 [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
2026-06-23 16:50:27 +00:00
jmiller
747b68c179
Merge pull request 'fix: Resolve [site_name] and all placeholders in checkDir AJAX' ( #126 ) from fix/site-name-resolution into main
2026-06-23 16:50:07 +00:00
gitea-actions[bot]
cbff40d04c
chore(version): pre-release bump to 01.38.03-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 7s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 6s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 21s
2026-06-23 16:49:45 +00:00
Jonathan Miller
e415e701cd
fix: resolve [site_name] and other placeholders in checkDir AJAX
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 8s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: Build & Release / Promote to RC (pull_request) Failing after 15s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 46s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
BackupDirectory::resolve() only handles [HOME] and [DEFAULT_DIR].
The checkDir AJAX endpoint now uses PlaceholderResolver to also
resolve [site_name], [host], [profile_id], [date], etc. before
checking if the directory exists. This makes the "Resolves to"
display accurate for all placeholder types.
2026-06-23 11:49:21 -05:00
jmiller
d184ed9de0
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-23 16:38:26 +00:00
jmiller
297f27c807
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-23 16:38:26 +00:00
jmiller
30e8d7baa9
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 16:38:25 +00:00
jmiller
efc5754bef
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-23 16:38:23 +00:00
gitea-actions[bot]
e3e422d29e
chore: promote changelog [Unreleased] → [01.38.02]
2026-06-23 16:37:12 +00:00
gitea-actions[bot]
9f5c8c0b5e
chore(release): build 01.38.02 [skip ci]
Publish to Composer / Publish Package (release) Failing after 7s
2026-06-23 16:37:04 +00:00
jmiller
044e57adf3
Merge pull request 'fix: Placeholder resolution display + CSRF token on Run Backup button' ( #125 ) from fix/placeholder-resolution-display into main
2026-06-23 16:36:45 +00:00
gitea-actions[bot]
e7f165ac96
chore(version): pre-release bump to 01.38.02-dev [skip ci]
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Generic: Repo Health / Access control (pull_request) Successful in 3s
Universal: PR Check / Validate PR (pull_request) Failing after 8s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 13s
Universal: PR Check / Secret Scan (pull_request) Successful in 12s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Publish to Composer / Publish Package (release) Failing after 45s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 48s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 31s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3m46s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
2026-06-23 16:36:09 +00:00
Jonathan Miller
fc41e1801a
fix: placeholder resolution display + CSRF token on Run Backup button
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 26s
FolderPickerField: shows resolved placeholder values below input as
badges (e.g. [HOME]=/home/user, [host]=example.com), plus full
resolved path. Updates live as user types.
BackupsController::start(): accept CSRF token from both GET and POST
so the "Run Backup Now" link button on profile edit works without
triggering "security token did not match" error.
2026-06-23 11:35:48 -05:00
gitea-actions[bot]
1aa35dd041
chore: promote changelog [Unreleased] → [01.38.01]
2026-06-23 16:28:19 +00:00
gitea-actions[bot]
6a1f4a8797
chore(release): build 01.38.01 [skip ci]
Publish to Composer / Publish Package (release) Failing after 6s
2026-06-23 16:28:13 +00:00
jmiller
6f6a6c705b
Merge pull request 'fix: include_mokorestore column type — TINYINT cannot store 'standalone'' ( #124 ) from fix/mokorestore-column-type into main
2026-06-23 16:27:48 +00:00
gitea-actions[bot]
e8d7d1d421
chore(version): pre-release bump to 01.38.01-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 7s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 29s
2026-06-23 16:27:27 +00:00
Jonathan Miller
cd31617e21
fix: change include_mokorestore column from TINYINT to VARCHAR(20)
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Universal: Build & Release / Promote to RC (pull_request) Failing after 10s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 45s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 50s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
The column was TINYINT(1) which can only store 0/1. The new
'standalone' mode value causes MySQL to truncate the string to 0,
breaking profile save. Changed to VARCHAR(20) to support all three
modes: '0' (none), '1' (wrapped), 'standalone'.
2026-06-23 11:27:04 -05:00
jmiller
6d9d96d7cd
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-23 16:23:22 +00:00
jmiller
df7c07bec4
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-23 16:23:21 +00:00
jmiller
5b4717bf6f
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 16:23:20 +00:00
jmiller
65d30613b2
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-23 16:23:18 +00:00
gitea-actions[bot]
d5bbab7e72
chore: promote changelog [Unreleased] → [01.38.00]
2026-06-23 16:22:00 +00:00
gitea-actions[bot]
18b65d30ac
chore(release): build 01.38.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 34s
2026-06-23 16:21:52 +00:00
jmiller
f55b032cc9
Merge pull request 'feat: Standalone restore script — separate file that scans for ZIPs ( #107 )' ( #123 ) from feat/standalone-restore-script into main
2026-06-23 16:21:33 +00:00
Jonathan Miller
e62dba8f40
feat: standalone restore script — separate file that scans for ZIPs ( #107 )
...
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Universal: PR Check / Branch Policy (pull_request) Failing after 3s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Generic: Repo Health / Access control (pull_request) Successful in 3s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 16s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 53s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 31s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 8m41s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
New MokoRestore mode: 'standalone' generates restore.php as a separate
file that scans its directory for ZIP backup archives and lets the user
choose which one to restore. Unlike 'wrapped' mode which bundles
restore.php inside the backup ZIP, standalone mode keeps both files
separate — ideal for remote servers where you SCP the backup.
Changes:
- MokoRestore::generateStandalone() — writes restore.php with ZIP scanner
- Profile form: include_mokorestore now a dropdown (none/wrapped/standalone)
- BackupEngine: standalone mode writes restore.php + uploads to remote
- Restore script uses safe DOM methods (no innerHTML with user data)
Closes #107
2026-06-23 11:20:23 -05:00
jmiller
0619825f38
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 16:05:30 +00:00
gitea-actions[bot]
70d7da34b3
chore: promote changelog [Unreleased] → [01.37.00]
2026-06-23 16:04:44 +00:00
gitea-actions[bot]
13c251196b
chore(release): build 01.37.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
2026-06-23 16:04:41 +00:00
jmiller
4841f24eab
Merge pull request 'feat: Profiles UI, snapshot detail, progress warning, action logs' ( #120 ) from feat/batch-ui-fixes into main
2026-06-23 16:03:42 +00:00
Jonathan Miller
64ffbb9d61
feat: profiles UI, snapshot detail, progress warning, action logs ( #100 , #104 , #108 , #110 )
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 10s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 39s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 18s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 4m10s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
#100 : Run Backup button on profiles list (per-row) and edit toolbar,
backup count badge linking to filtered backups view, View Backups
toolbar button on profile edit.
#101 : Profile → filtered backup list link (included in #100 ).
#104 : Snapshot browse modal now shows tabbed view (Articles,
Categories, Modules) with item counts. AjaxController returns
all content types. Categories show indented hierarchy.
#108 : "Do not navigate away or close this window" warning banner
added to both backup and restore progress modals.
#110 : Joomla Action Logs integration — RestoreEngine, SnapshotEngine,
and SnapshotRestoreEngine now dispatch events that the actionlog
plugin logs to #__action_logs.
Closes #100 , closes #101 , closes #104 , closes #108 , closes #110
2026-06-23 11:03:13 -05:00
jmiller
83e91c6fa6
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-23 15:50:28 +00:00
jmiller
b1833825e7
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-23 15:50:27 +00:00
jmiller
bde20e82ad
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 15:50:26 +00:00
jmiller
8348d23fe4
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-23 15:50:25 +00:00
gitea-actions[bot]
d9557489d5
chore: promote changelog [Unreleased] → [01.36.00]
2026-06-23 15:48:58 +00:00
gitea-actions[bot]
089ec69595
chore(release): build 01.36.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 7s
2026-06-23 15:48:50 +00:00
jmiller
7427cbb043
Merge pull request 'feat: Clickable placeholder pills for backup dir and archive name' ( #102 ) from feat/clickable-placeholders into main
2026-06-23 15:48:34 +00:00
Jonathan Miller
456e744d81
feat: clickable placeholder pills for backup dir and archive name fields
...
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Universal: PR Check / Branch Policy (pull_request) Failing after 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 12s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 14s
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 26s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 9m59s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
Both Backup Directory and Archive Name Format fields now show clickable
placeholder tags below the input. Clicking a tag inserts the placeholder
at the current cursor position using selectionStart/End.
- FolderPickerField: pills for [HOME], [DEFAULT_DIR], [host], [site_name],
[date], [profile_id], [profile_name], [type]
- PlaceholderTextField: new custom field type used by archive_name_format,
configurable placeholders via XML attribute
- Cursor position preserved after insert, input event dispatched for
live status updates
2026-06-23 10:47:45 -05:00
gitea-actions[bot]
6d5ef50727
chore: promote changelog [Unreleased] → [01.35.04]
2026-06-23 15:41:32 +00:00
gitea-actions[bot]
00e7963988
chore(release): build 01.35.04 [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
2026-06-23 15:41:29 +00:00
jmiller
bc06657317
Merge pull request 'fix: SFTP fields not showing when SFTP selected' ( #99 ) from fix/sftp-key-upload into main
2026-06-23 15:40:43 +00:00
Jonathan Miller
bda4b0a23d
Merge branch 'fix/sftp-key-upload' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup into fix/sftp-key-upload
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Generic: Repo Health / Access control (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 5s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 9s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 5s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 38s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 44s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 21s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
# Conflicts:
# .mokogitea/workflows/issue-branch.yml
# README.md
# source/packages/com_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_system_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_task_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_webservices_mokosuitebackup/mokosuitebackup.xml
# source/pkg_mokosuitebackup.xml
2026-06-23 10:40:27 -05:00
Jonathan Miller
e327f9cf5c
chore: normalize workflows
2026-06-23 10:40:16 -05:00
Jonathan Miller
5b9351e5f0
Merge remote-tracking branch 'origin/main' into fix/sftp-key-upload
2026-06-23 10:38:26 -05:00
gitea-actions[bot]
5785e9fd1e
chore(version): pre-release bump to 01.35.04-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 32s
2026-06-23 15:37:59 +00:00
Jonathan Miller
1e9c8d54f4
fix: remove required attr from SFTP showon fields — blocks save when not SFTP
...
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 22s
Joomla validates required fields server-side regardless of showon
visibility. SFTP fields with required="true" block saving when
remote_storage is set to None or S3/GDrive because the hidden
fields submit empty values. Validation should be done in
ProfileTable::check() conditionally instead.
2026-06-23 10:37:38 -05:00
jmiller
7515274712
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-23 13:54:34 +00:00
jmiller
0be459fe34
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-23 13:54:33 +00:00
jmiller
11ccdbfde4
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 13:54:32 +00:00
jmiller
fd517c16f3
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-23 13:54:31 +00:00
gitea-actions[bot]
fe76f81b47
chore: promote changelog [Unreleased] → [01.35.03]
2026-06-23 13:53:26 +00:00
gitea-actions[bot]
18127454b5
chore(release): build 01.35.03 [skip ci]
Publish to Composer / Publish Package (release) Failing after 5s
2026-06-23 13:53:23 +00:00
jmiller
7826c315b1
Merge pull request 'feat: SFTP key file upload, auth type dropdown, security hardening' ( #96 ) from fix/sftp-key-upload into main
2026-06-23 13:53:03 +00:00
gitea-actions[bot]
e329dbd99b
chore(version): pre-release bump to 01.35.03-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 7s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 20s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m33s
2026-06-23 13:52:11 +00:00
Jonathan Miller
d6b3e8cff0
feat: SFTP key file upload, auth type dropdown, security hardening
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Generic: Repo Health / Access control (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 6s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 13s
Universal: Build & Release / Promote to RC (pull_request) Failing after 11s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 34s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
SFTP UX improvements:
- SshKeyField: file upload button (FileReader → base64 → hidden field),
key never displayed as readable text, __KEEP_EXISTING__ sentinel
preserves DB value on re-save without re-uploading
- Auth type dropdown: password / key file / key file + passphrase
with conditional field visibility via showon
- Required field markers on host, username, path, password
- Remove insecure FTP option from remote storage dropdown
Security:
- Private key stored base64-encoded in database
- SftpUploader decodes base64 before writing temp file
- ProfileTable::store() handles sentinel to prevent key leakage
- Key content never rendered in HTML form output
2026-06-23 08:51:49 -05:00
gitea-actions[bot]
80c97620a5
chore: promote changelog [Unreleased] → [01.35.01]
2026-06-23 13:33:26 +00:00
gitea-actions[bot]
33d852bacf
chore(release): build 01.35.01 [skip ci]
Publish to Composer / Publish Package (release) Failing after 3s
2026-06-23 13:33:24 +00:00
jmiller
8be0500913
Merge pull request 'fix: SFTP fields not showing when SFTP selected' ( #95 ) from fix/sftp-showon into main
2026-06-23 13:32:53 +00:00
Jonathan Miller
27dded6c62
Merge remote-tracking branch 'origin/main' into fix/sftp-showon
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 14s
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 24s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 46s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 15s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
# Conflicts:
# .mokogitea/workflows/issue-branch.yml
# README.md
# source/packages/com_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_system_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_task_mokosuitebackup/mokosuitebackup.xml
# source/packages/plg_webservices_mokosuitebackup/mokosuitebackup.xml
# source/pkg_mokosuitebackup.xml
2026-06-23 08:32:28 -05:00
gitea-actions[bot]
e465dfa6ee
chore(version): pre-release bump to 01.35.01-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 42s
2026-06-23 13:29:25 +00:00
Jonathan Miller
3ac0318ba3
fix: move SFTP fields into remote fieldset for showon to work
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 7s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Universal: Build & Release / Promote to RC (pull_request) Failing after 12s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 49s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
Joomla's showon JS only finds the controlling field (remote_storage)
within the same rendered fieldset/tab. SFTP fields were in a separate
fieldset so they were never shown. Moved into the remote fieldset
alongside the dropdown.
2026-06-23 08:29:12 -05:00
gitea-actions[bot]
17e4625448
chore: promote changelog [Unreleased] → [01.35.00]
2026-06-23 13:22:50 +00:00
gitea-actions[bot]
eb748323f7
chore(release): build 01.35.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 8s
2026-06-23 13:22:43 +00:00
jmiller
bc3085f74b
Merge pull request 'feat: SFTP remote storage with key file auth + CLI restore options' ( #94 ) from feat/sftp-keyfile into main
2026-06-23 13:22:29 +00:00
Jonathan Miller
f66100f74f
feat: SFTP remote storage with key file auth + CLI restore options
...
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 13s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 9s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 1s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 34s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 27s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
SFTP support:
- SftpUploader uses system scp/ssh binaries with key file auth
- Private key stored as MEDIUMTEXT in profile table (sftp_key_data)
- Key written to temp file (0600) at upload time, deleted after
- Profile form: host, port, username, password, key textarea,
passphrase, remote path — all with showon="remote_storage:sftp"
- SQL migration for 7 new SFTP columns
- Wired into BackupEngine, SteppedBackupEngine, PreflightCheck
- API credential masking includes SFTP fields
CLI restore options:
- --files-only: restore files without touching database
- --db-only: restore database without touching files
- --no-preserve-config: overwrite configuration.php
- --password: decryption password for encrypted archives
2026-06-23 08:21:10 -05:00
jmiller
be8b1f73bf
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-23 12:24:35 +00:00
jmiller
0f2c4fc238
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-23 12:24:34 +00:00
jmiller
d0fe641d5c
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-23 12:24:32 +00:00
jmiller
4a2520a43b
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-23 12:24:30 +00:00
gitea-actions[bot]
54c3a6e2e9
chore: promote changelog [Unreleased] → [01.34.00]
2026-06-23 12:23:11 +00:00
gitea-actions[bot]
a27ec0f0b9
chore(release): build 01.34.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 6s
2026-06-23 12:23:05 +00:00
jmiller
a7c30ad67c
Merge pull request 'feat: Dashboard snapshot widget, backup trend, storage breakdown ( #61 )' ( #93 ) from feat/61-dashboard-widgets into main
2026-06-23 12:22:45 +00:00
Jonathan Miller
ee21f7a373
feat: dashboard snapshot widget, backup trend chart, storage breakdown ( #61 )
...
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 15s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 42s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 25s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3m18s
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
Joomla: Extension CI / Build RC Pre-Release (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
Add three new dashboard widgets:
- Snapshot widget: latest snapshot info, type badges, item counts,
link to snapshots view, total count
- Backup trend: CSS bar chart showing daily backup sizes over 30 days,
red bars for days with failures, tooltips with details
- Storage breakdown: horizontal bars showing space used per profile
with color coding and backup counts
Closes #61
2026-06-23 07:22:04 -05:00
gitea-actions[bot]
5c0ff72d27
chore: promote changelog [Unreleased] → [01.33.00]
2026-06-23 09:40:07 +00:00
gitea-actions[bot]
50c016d707
chore(release): build 01.33.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
2026-06-23 09:40:05 +00:00
jmiller
e4de103a00
Merge pull request 'feat: Selective restore, archive browser, backup comparison + install fix ( #58 , #59 , #64 )' ( #92 ) from feat/batch-58-59-64 into main
2026-06-23 09:39:55 +00:00
Jonathan Miller
8c66fd3260
feat: backup comparison — diff two backup records ( #64 )
...
Universal: PR Check / Branch Policy (pull_request) Failing after 3s
Generic: Repo Health / Access control (pull_request) Successful in 3s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 8s
Universal: PR Check / Validate PR (pull_request) Failing after 8s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 13s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 16s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 1s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 14s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
Select two backups and compare side-by-side:
- AjaxController::compareBackups() returns metadata + deltas
- Compare toolbar button (requires 2 checkboxes)
- Modal shows size, files, tables, duration differences
Closes #64
2026-06-23 04:39:00 -05:00
Jonathan Miller
4213def0ad
feat: backup archive browser — view files without extracting ( #59 )
...
AJAX-powered file browser in backups list and detail views:
- AjaxController::browseArchive() reads ZIP/tar.gz entries
- Browse button on each backup row + detail view
- Modal shows file list with names and sizes (first 500 entries)
Closes #59
2026-06-22 22:21:49 -05:00
Jonathan Miller
8a4ebe1bde
feat: selective article restore from snapshot ( #58 )
...
Browse articles inside a snapshot and restore individual items:
- SnapshotRestoreEngine::restoreSelectedArticles() merges by ID
- AjaxController::browseSnapshot() returns article list as JSON
- SnapshotsController::restoreSelected() handles selective restore
- Browse modal with checkboxes + Restore Selected button
Closes #58
2026-06-22 22:18:48 -05:00
Jonathan Miller
8ea09ee0d1
fix: convert single-line comments to block comments in script.php
...
The build pipeline strips newlines from PHP files during packaging.
Single-line comments (//) then eat everything after them on the
concatenated line, causing a FatalError on install. Block comments
(/* */) survive minification.
2026-06-22 19:38:46 -05:00
gitea-actions[bot]
d562e0dc10
chore: promote changelog [Unreleased] → [01.32.00]
2026-06-22 14:28:27 +00:00
gitea-actions[bot]
29c7e974b5
chore(release): build 01.32.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 22s
2026-06-22 14:28:22 +00:00
jmiller
6d47b70aaf
Merge pull request 'feat: Scheduled snapshots, restore notifications, stepped restore ( #56 , #60 , #62 )' ( #91 ) from feat/batch-56-60-62 into main
2026-06-22 14:28:01 +00:00
Jonathan Miller
01bed8942c
feat: AJAX stepped restore engine for large sites ( #62 )
...
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Generic: Repo Health / Access control (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 5s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 9s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 32s
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 6s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 23s
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
Joomla: Extension CI / Build RC Pre-Release (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 / 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
Break restore into phases (extract, files, database, config, cleanup)
executed via AJAX steps to avoid PHP timeout on shared hosting.
- SteppedRestoreEngine with session persistence
- AjaxController restoreInit/restoreStep endpoints
- Restore modal uses AJAX progress instead of synchronous submit
- Files copied in batches of 200, SQL in batches of 500
Closes #62
2026-06-22 09:27:18 -05:00
Jonathan Miller
391047d8e5
feat: email/ntfy notifications for restore operations ( #60 )
...
Send notifications when site restores and snapshot create/restore
complete. Uses sendRestoreNotification() with type-specific subjects.
All calls wrapped in try-catch to never break the actual operation.
Closes #60
2026-06-22 09:27:16 -05:00
Jonathan Miller
5a672454ad
feat: scheduled task for automated content snapshots ( #56 )
...
Add mokosuitebackup.snapshot task type for com_scheduler with params
for content_types and description_format ([date]/[datetime] placeholders).
Closes #56
2026-06-22 09:27:14 -05:00
jmiller
ed799217bf
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-22 00:47:57 +00:00
jmiller
5f0f958aca
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-22 00:47:56 +00:00
jmiller
7bf42f1a89
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-22 00:47:56 +00:00
jmiller
a919d52cf7
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-22 00:47:55 +00:00
gitea-actions[bot]
9db7331a72
chore(version): pre-release bump to 01.28.01-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 5s
2026-06-21 23:58:07 +00:00
gitea-actions[bot]
32931c1e37
chore(version): auto-bump patch 01.27.04-dev [skip ci]
2026-06-21 23:57:56 +00:00