fix(catalyst): apps fallback to AVAILABLE not PENDING when no API entry

componentGroups.ts references blueprints not in blueprints.json
(KEDA, Axon, Debezium, Envoy, frpc, NetBird, etc) — data drift
between the two catalog sources. The FE was rendering these as
PENDING (implying install in progress) instead of AVAILABLE
(implying not yet deployed). Default to 'available' when no API
or reducer state exists so the operator sees the right call-to-
action pill.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
hatiyildiz 2026-05-07 14:16:56 +02:00 committed by e3mrah
parent f376ee4551
commit 2f97710be4

View File

@ -564,7 +564,19 @@ export function AppsPage({ disableStream = false }: AppsPageProps = {}) {
<AppCard
key={app.id}
app={app}
status={liveAppStatus[app.id] ?? state.apps[app.id]?.status ?? 'pending'}
status={
liveAppStatus[app.id] ??
state.apps[app.id]?.status ??
// No live API entry AND no reducer state — the
// wizard catalog references a Blueprint the BE
// catalog doesn't ship (data drift between
// componentGroups.ts and blueprints.json). Render
// 'available' (with AVAILABLE pill) rather than
// 'pending' which implies an install in progress.
// Surfaces drift to the operator without the
// misleading spinner-without-spinner.
'available'
}
isService={app.familyId === 'platform' && !app.bootstrapKit ? false : !app.bootstrapKit && app.tier === 'optional' ? false : false}
marketplacePublished={published}
slug={slug}