Problem
In isolated-renderer-context.tsx, loadingPromise is cached at module level and never reset on rejection. If the first bundle load fails (network error, 404, etc.), all future mounts/retries reuse the rejected promise and can never recover.
Location
registry/outputs/isolated/isolated-renderer-context.tsx
Suggested Fix
In the .catch handler, reset loadingPromise = null so a later render can retry:
.catch((error) => {
loadingPromise = null; // Allow retry on next mount
if (!cancelled) {
setState((s) => ({ ...s, isLoading: false, error }));
}
});
Optional: add bounded retry with backoff for transient failures.
Additional Suggestion
Consider adding error logging in the catch handler for debugging:
.catch((error) => {
console.error("[IsolatedRendererProvider] Bundle load failed:", error);
loadingPromise = null;
if (!cancelled) {
setState((s) => ({ ...s, isLoading, false, error }));
}
});