fix: remote destinations tab broken (cascade to dev) #209

Merged
jmiller merged 2 commits from fix/remote-destinations-modal-dev into dev 2026-07-04 22:11:36 +00:00
Owner

Cherry-picks the remote-destinations modal fix (#208, on main) onto dev, which had fallen behind and was still missing it.

Same fix as #208: the profile-editor Remote tab instantiated the Bootstrap modal eagerly at DOMContentLoaded, which throws in Joomla 6 (Bootstrap is a deferred ES module) and aborted the whole handler — leaving the destinations table stuck at "Loading…" and the Add Destination button dead. Now resolved lazily via getModal() at click-time, plus explicit bootstrap.modal asset load.

Single file (tmpl/profile/edit.php); no version files touched.

Cherry-picks the remote-destinations modal fix (#208, on `main`) onto `dev`, which had fallen behind and was still missing it. Same fix as #208: the profile-editor Remote tab instantiated the Bootstrap modal eagerly at `DOMContentLoaded`, which throws in Joomla 6 (Bootstrap is a deferred ES module) and aborted the whole handler — leaving the destinations table stuck at "Loading…" and the Add Destination button dead. Now resolved lazily via `getModal()` at click-time, plus explicit `bootstrap.modal` asset load. Single file (`tmpl/profile/edit.php`); no version files touched.
jmiller added 2 commits 2026-07-04 22:10:28 +00:00
fix(profile): remote destinations tab broken — lazy-init Bootstrap modal
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 20s
6ae38784d9
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
chore(version): pre-release bump to 02.56.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 3s
182f8a91fb
jmiller merged commit 11de394ee2 into dev 2026-07-04 22:11:36 +00:00
jmiller deleted branch fix/remote-destinations-modal-dev 2026-07-04 22:11:38 +00:00
Sign in to join this conversation.