fix(manifest): component <name> must be element-safe (com_mokosuitebackup) #213

Merged
jmiller merged 2 commits from fix/component-element-name into main 2026-07-05 22:01:21 +00:00
Owner

Root cause of "the main component won't update"

On suite.dev the package + all plugins/module are 02.56.07, but the admin component is duplicated: a new Component - MokoSuiteBackup (id 1218 @ 02.56.07) exists alongside the orphaned real MokoSuiteBackup (id 951 @ 02.52.29). URLs (?option=com_mokosuitebackup) and the admin menu load 951, so the site runs old component code (legacy remote dropdowns + broken destinations tab).

Why: Joomla derives a component's element from its <name> (com_ + sanitized name). Commit d155958 applied the "Type - Name" convention, changing <name> to Component - MokoSuiteBackup → derived element com_component-mokosuitebackup (its own extension record + folder) instead of com_mokosuitebackup. So every update installs a new extension and never touches the real one.

The package didn't break because it has <packagename>mokosuitebackup</packagename>; plugins/modules didn't break because their <name> is only a display label.

Fix

Revert the component <name> to MokoSuiteBackup (→ com_mokosuitebackup) and add a manifest comment documenting that the display convention must not be applied to a component <name>.

Deploy note (suite.dev + any updated site)

Merging + releasing fixes future installs (the corrected element matches record 951 and updates it to current). The already-created orphans still need cleanup on affected sites:

  • remove extension record 1218 (com_component-mokosuitebackup) and its administrator/components/com_component-mokosuitebackup/ folder,
  • drop its stray admin menu + #__schemas rows,
  • then reinstall the corrected package so com_mokosuitebackup (951) updates to 02.56.07.

Broader impact

Any other MokoSuite component that got the "Type - Name" <name> via the same convention has this latent duplicate-registration bug and needs the same one-line correction.

https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i

## Root cause of "the main component won't update" On suite.dev the package + all plugins/module are `02.56.07`, but the **admin component is duplicated**: a new `Component - MokoSuiteBackup` (id 1218 @ 02.56.07) exists alongside the orphaned real `MokoSuiteBackup` (id 951 @ 02.52.29). URLs (`?option=com_mokosuitebackup`) and the admin menu load **951**, so the site runs old component code (legacy remote dropdowns + broken destinations tab). **Why:** Joomla derives a *component's* `element` from its `<name>` (`com_` + sanitized name). Commit `d155958` applied the "Type - Name" convention, changing `<name>` to `Component - MokoSuiteBackup` → derived element `com_component-mokosuitebackup` (its own extension record + folder) instead of `com_mokosuitebackup`. So every update installs a *new* extension and never touches the real one. The package didn't break because it has `<packagename>mokosuitebackup</packagename>`; plugins/modules didn't break because their `<name>` is only a display label. ## Fix Revert the component `<name>` to `MokoSuiteBackup` (→ `com_mokosuitebackup`) and add a manifest comment documenting that the display convention must **not** be applied to a component `<name>`. ## Deploy note (suite.dev + any updated site) Merging + releasing fixes *future* installs (the corrected element matches record 951 and updates it to current). The **already-created orphans still need cleanup** on affected sites: - remove extension record **1218** (`com_component-mokosuitebackup`) and its `administrator/components/com_component-mokosuitebackup/` folder, - drop its stray admin menu + `#__schemas` rows, - then reinstall the corrected package so `com_mokosuitebackup` (951) updates to 02.56.07. ## Broader impact Any other MokoSuite **component** that got the "Type - Name" `<name>` via the same convention has this latent duplicate-registration bug and needs the same one-line correction. https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
jmiller added 2 commits 2026-07-05 21:59:03 +00:00
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
9db54ac60c
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
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
f92e5227dc
jmiller merged commit 3c5ad43e97 into main 2026-07-05 22:01:21 +00:00
jmiller deleted branch fix/component-element-name 2026-07-05 22:01:25 +00:00
Sign in to join this conversation.