Problem
GnomeExtensions.tsx never transitions out of Loading when an extension is absent from the generated array, and calling .find() on the documented unavailable-object payload would throw.
Evidence
For a requested ID not in the payload, data.find(...) returns undefined without setting an error, leaving the component at Loading... permanently. The fetch script also uses a nonzero exit path instead of the standard unavailable payload.
Expected
Handle array, unavailable, and not-found states explicitly; make the fetch script emit a visible unavailable reason without failing the build.
Problem
GnomeExtensions.tsxnever transitions out of Loading when an extension is absent from the generated array, and calling.find()on the documented unavailable-object payload would throw.Evidence
For a requested ID not in the payload,
data.find(...)returns undefined without setting an error, leaving the component atLoading...permanently. The fetch script also uses a nonzero exit path instead of the standard unavailable payload.Expected
Handle array, unavailable, and not-found states explicitly; make the fetch script emit a visible unavailable reason without failing the build.