6. Akeeba Release System: the Update Stream "Element" field
This is the second manifest/element mismatch in the chain, and it's the hardest one to find because it isn't in your code at all — it's a configuration value inside ARS's own Update Stream settings, undocumented in any current Akeeba material we could find.
Joomla decides whether a found update actually applies to your installed extension by matching the feed's <element> tag against your extension's real element (libraries/src/Updater/Updater.php, getUpdateObjectsForSite()):
$eid = $extension->find([
'element' => $current_update->element, // whatever your ARS feed says
'type' => $current_update->type,
'client_id' => $current_update->client_id,
'folder' => $current_update->folder ?? '',
]);
if (!$uid) {
if ($eid) {
// matched an installed extension — check version, queue the update
} else {
// "a potentially new extension to be installed" — extension_id stays 0
$retVal[] = $current_update;
}
}
If ARS's generated feed declares <element>yourpackage</element> (matching your <packagename>, which feels like the obvious value to enter) instead of the real pkg_yourpackage, this lookup fails silently. The update gets stored in #__updates with extension_id = 0, and the Extensions: Update list page explicitly filters those rows out (WHERE u.extension_id != 0, with the comment "ignoring new installs" right there in Joomla's own core). The practical symptom: "Check for Updates" runs, takes several real seconds doing a live fetch, and reports nothing available — forever, no matter how correct everything else is.
ARS does not derive this value automatically by parsing your uploaded package's manifest. It's a separate field, confirmed directly by Akeeba's lead developer in a 2014 support ticket listing exactly what he filled in when configuring his own update stream: "Stream Name, Alias, Category, Package naming pattern and element."
pkg_yourpackage — matching Joomla's derived value, not your raw packagename. Verify by fetching your live feed URL and checking the <element> tag directly.