Add GitHub metadata enrichment for catalog apps

Enrich catalog apps with GitHub API data (stars, version, downloads,
release date) via two strategies: background drip for repo-level info
and on-demand fetch when opening a detail page.

- Add github_enrichment module with API calls, asset filtering, and
  architecture auto-detection for AppImage downloads
- DB migrations v14/v15 for GitHub metadata and release asset columns
- Extract github_owner/repo from feed links during catalog sync
- Display colored stat cards (stars, version, downloads, released) on
  detail pages with on-demand enrichment
- Show stars and version on browse tiles and featured carousel cards
- Replace install button with SplitButton dropdown when multiple arch
  assets available, preferring detected architecture
- Disable install button until enrichment completes to prevent stale
  AppImageHub URL downloads
- Keep enrichment banner visible on catalog page until truly complete,
  showing paused state when rate-limited
- Add GitHub token and auto-enrich toggle to preferences
This commit is contained in:
lashman
2026-02-28 16:49:13 +02:00
parent 92c51dc39e
commit f89aafca6a
15 changed files with 3027 additions and 224 deletions

View File

@@ -142,5 +142,15 @@
<summary>Watch removable media</summary>
<description>Scan removable drives for AppImages when mounted.</description>
</key>
<key name="github-token" type="s">
<default>''</default>
<summary>GitHub personal access token</summary>
<description>Optional GitHub token for higher API rate limits (5,000 vs 60 requests per hour).</description>
</key>
<key name="catalog-auto-enrich" type="b">
<default>true</default>
<summary>Auto-enrich catalog apps</summary>
<description>Automatically fetch GitHub metadata (stars, version, downloads) for catalog apps in the background.</description>
</key>
</schema>
</schemalist>