diff --git a/pkg/appview/middleware/registry.go b/pkg/appview/middleware/registry.go index a4dd229..30b6389 100644 --- a/pkg/appview/middleware/registry.go +++ b/pkg/appview/middleware/registry.go @@ -133,10 +133,9 @@ func (vc *validationCache) getOrFetch(ctx context.Context, cacheKey string, fetc } } - // Mark as in-flight and create done channel if needed - if entry.done == nil { - entry.done = make(chan struct{}) - } + // Mark as in-flight and create fresh done channel for this fetch + // IMPORTANT: Always create a new channel - a closed channel is not nil + entry.done = make(chan struct{}) entry.inFlight = true done := entry.done entry.mu.Unlock()