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