Make app availability and stage editable at runtime

Featurekamo-shared-library
Shipped
August 8, 2026 at 8:50 PM UTC
Author
Kamo
Commit
c8892a4

Every attribute the apps settings page renders — display name, description, stage, deprecation — was a compile-time constant in the ServiceType enum, and "Available" was not stored at all: it was derived as stage == COMPLETED in the UI and in three places server-side. Changing any of it meant editing the shared library and redeploying the platform. PLATFORM_APP_CATALOG holds one row per app with every override column nullable, and AppCatalogService resolves override ?? enum. A missing row means the enum verbatim, so installing this changes no behavior. Availability becomes its own value, which is what makes a soft launch (offered while still TESTING) or a withheld COMPLETED app expressible. Its fallback reads the RESOLVED stage rather than the enum's, so an operator who only moves an app to COMPLETED gets availability without also flipping the switch.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing