mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-14 21:29:34 +00:00
`ensureAudioFxWorklets` cached its promise per context and never removed a rejected one, while `readyContexts` was only written on success. So callers correctly kept asking and every ask replayed the same rejection: one transient `addModule` failure left the limiter, compressor, gate and bitcrush silent for the life of that AudioContext, with no path back short of a page reload. The entry is now dropped on failure so the next attempt actually retries. Falsified by removing the `registered.delete(ctx)`: the retry replays the rejection instead of resolving. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>