fc068866d9
Replace JSON file backup with #__mokowaas_download_keys table as the persistent single source of truth for download keys. - Core plugin: syncKeysToTable() copies keys from Joomla to our table, applyKeysFromTable() re-applies from our table to Joomla. Runs on every admin page load — Joomla can wipe keys all it wants. - Install script: preflight saves to table, postflight re-applies. - ExtensionsModel: saveDownloadKey(), applyDownloadKey(), reapplyAllDownloadKeys() static method for install/update hooks. - Extension manager: prompt for download key on install, skip extensions with no release, show missing key warning badge. - Catalog: expanded to 11 Joomla extensions. Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>