Extractor fails over appstream id not being 1:1 of desktop file name (massif-visualizer)
Since massif-visualizer got its appstream id fixed to not have a "-" as per appstream rules, the logic of apps.kde.org fails to discover the existing desktop file and thus no longer generates the apps.kde.org/massif-visualizer landing page. As seen in the build log:
INFO: Extracted massif-visualizer to /tmp/tmpt0yoyluk/massif-visualizer
INFO: Processing project /tmp/tmpt0yoyluk/massif-visualizer
INFO: Processed project sdk/kshim
INFO: Grabbing app data at /tmp/tmpt0yoyluk/massif-visualizer/share/metainfo/org.kde.massif-visualizer.appdata.xml
WARNING: No desktop file for org.kde.massif_visualizer
INFO: ['git', 'clone', '--depth', '1', 'https://invent.kde.org/sdk/massif-visualizer.git', '/tmp/tmpt0yoyluk/massif-visualizer']
Compare https://invent.kde.org/sdk/massif-visualizer/-/blob/master/app/org.kde.massif-visualizer.appdata.xml:
<id>org.kde.massif_visualizer</id>
<launchable type="desktop-id">org.kde.massif-visualizer.desktop</launchable>
So the heuristic of searching for the desktop file derived from the appstream id fails here. Ideally it would follow how appstream defines finding the desktop file, by taking the entry from the launchable tag with a desktop-id, if there is a single one.